Myślę, że tak. Generalnie cały mój iptables wygląda następująco:
Cytuj:
iptables -I FORWARD -p tcp -d 10.0.0.56 --dport 5900 -j ACCEPT
iptables -I FORWARD -p udp -d 10.0.0.56 --dport 5900 -j ACCEPT
iptables -t nat -A PREROUTING --protocol tcp --destination-port 5900 -j DNAT --to-destination 10.0.0.56:5900
iptables -t nat -A PREROUTING --protocol udp --destination-port 5900 -j DNAT --to-destination 10.0.0.56:5900
iptables -t nat -A POSTROUTING -o eth2 -d 0/0 -j SNAT --to $IP1
iptables -t nat -A POSTROUTING -o eth3 -d 0/0 -j SNAT --to $IP2
a iproute następująco:
Cytuj:
echo "Etap 1"
ip route replace $P1_NET dev $IF1 src $IP1 table T1
ip route replace default via $P1 table T1
ip route replace $P2_NET dev $IF2 src $IP2 table T2
ip route replace default via $P2 table T2
ip route replace $P3_NET dev $IF3 src $IP3 table T3
ip route replace default via $P3 table T3
echo "Etap 2"
ip route replace $P1_NET dev $IF1 src $IP1
ip route replace $P2_NET dev $IF2 src $IP2
ip route replace $P3_NET dev $IF3 src $IP3
ip route replace default via $P3
echo "Etap 3"
ip rule add from $IP1 table T1
ip rule add from $IP2 table T2
ip rule add from $IP3 table T3
#load balancing, parametrem weight mozemy ustawic ktore z laczy ma byc bardziej obciazone.
echo "Etap 4"
ip route replace default scope global nexthop via $P2 dev $IF2 weight 1 nexthop via $P3 dev $IF3 weight 1
#routing poloczen lokalnych serwera
echo "Etap 5"
ip route replace $P0_NET dev $IF0 table T1
ip route replace $P2_NET dev $IF2 table T1
ip route replace 127.0.0.0/8 dev lo table T1
ip route replace $P0_NET dev $IF0 table T2
ip route replace $P1_NET dev $IF1 table T2
ip route replace 127.0.0.0/8 dev lo table T2
ip route replace $P0_NET dev $IF0 table T3
ip route replace $P1_NET dev $IF1 table T3
ip route replace 127.0.0.0/8 dev lo table T3
#Odswiezanie tablicy routingu
ip route flush cache
for f in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $f; done
Gdzie eth2 i 3 to łącza do internetu a eth0 to lan (eth1 i jest niepodpięty).