Здравейте,
Имам Линукс машина с ядро 2.6, на който има 3 мрежови карти. Бих искал
да попитам какви правила трябва да имам в руутинг таблицата, така че
външния трафик от мрежа 192.168.254.0/25 да се рутира през първата
карта, а този от мрежа 192.168.254.128/25 - през втората. Проблемът
идва от там, че GW1 е същия като GW2, както и мрежата на GW1 е същата
като мрежата на GW2.
Конфигурацията е следната:
Шлюзове : GW1=GW2
Мрежи : NW1=NW2
Мрежови маски : NM1=NM2
Интерфейси :
eth1: NW1/NM1, gw1: GW1, ip: IP1
eth2: NW2/NM2, gw2: GW2, ip: IP2
Това което опитах до сега е следното:
iptables -t nat -A POSTROUTING -s 192.168.254.0/25 -o eth1 -j SNAT \
--to-source IP1
iptables -t nat -A POSTROUTING -s 192.168.254.128/25 -o eth1 -j SNAT \
--to-source IP2
Изтрих всичко от главната таблица за рутиране и добавих следното:
ip route add to 192.168.254.0/25 dev eth0 src 192.168.254.1 table 170
ip route add to NW1/NM1 dev eth1 src IP1 table 180
ip route add to NW2/NM2 dev eth2 src IP2 table 190
ip rule add prio 58 table 170
ip rule add from 192.168.254.0/25 to NW1/NM1 \
iif eth1 table 180 prio 59
ip rule add from 192.168.254.128/25 to NW2/NM2 \
iif eth2 table 190 prio 60
След тези команди очаквах GW1 да бъде достъпен на част от мрежата ми
(192.168.254.0/25), но това не стана. Той не беше достъпен нито от
рутера ми, нито от някой възел от вътрешната ми мрежа.
Посветих на този въпрос вече няколко денонощия без да намеря отговор,
така че ако обичате спестете ми съвети от вида - прекарай всичко през
едната мрежова карта или пък - сложи си още един рутер, или пък -
говори с доставчика да направи това или онова или ако не го смени.
Благодаря предварително за помощта.
Поздрави,