Am un issabel Linux (bazat pe Centos 7) cu 3 ethernetși vreau acest scenariu:
eth0 cu IP 172.16.3.30/16 ----gw(172.16.0.1)----> (Vreau să folosesc ca gateway implicit)
eth1 cu IP 10.1.5.102/30 -----gw(10.1.5.101)----> (marcați conexiunile la 10.10.10.10:5160 pentru trimitere prin 10.1.5.101 cu propriul src(10.1.5.102))
eth2 cu IP 10.1.5.106/30 -----gw(10.1.5.105)----> (marcați conexiunile la 10.10.10.10:5161 pentru trimitere prin 10.1.5.101 cu propriul src(10.1.5.106))
atenție: există aceeași adresă de destinație! (10.10.10.10 dar port diferit)
Folosesc aceste coduri:
iptables -A OUTPUT -t mangle -p udp -d 10.10.10.10/32 --dport 5160 -j MARK --set-mark 1
iptables -A OUTPUT -t mangle -p udp -d 10.10.10.10/32 --dport 5161 -j MARK --set-mark 2
echo 100 sip102 >> /etc/iproute2/rt_tables
echo 101 sip106 >> /etc/iproute2/rt_tables
ip route add default dev eth1 table sip102
ip route add default dev eth2 table sip106
regulă ip adăugați din toate tabelele fwmark 1 sip102
regulă ip adăugați din toate tabelele fwmark 2 sip106
Dar trunchiurile SIP nu pot fi conectate. (Primele două rânduri am fost schimbate în -A PREROUTING, dar nu au fost efectuate)
Când încerc să testez ruta tabelului fără a marca cu asta:
regulă ip se adaugă la tabelul 10.10.10.10 sip102
Văd că un trunchi SIP este conectat (10.1.5.102 > 10.10.10.10:5160 Conectat)