Проблема с iptables-рутингом на 3 интерфейса в debian 3.0r1
Всем!
В компе 3 сетевушки, 2 локалки с инетом и одна квартирная.
forward не включен намеренно.
Нужно пользоватся инетом (с платным трафиком) через eth0 и
одной маленькой инетовской подсеткой + несколько хостов
через eth2 (с бесплатным трафиком, остальной инет там ресолвится,
но траффик блокирован на вышестоящем рутере).
### etherconf DEBCONF AREA. DO NOT EDIT THIS AREA OR INSERT TEXT BEFORE IT.
auto lo eth0 eth1 eth2
iface lo inet loopback
### Локалка с полностью платным инетом
iface eth0 inet static
address 192.168.21.120
network 192.168.21.0
netmask 255.255.255.0
gateway 192.168.21.1
broadcast 192.168.21.255
up route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.21.1 metric 1
### Квартирная сеть
iface eth1 inet static
address 192.168.146.1
netmask 255.255.255.0
network 129.168.146.0
broadcast 192.168.146.255
### Локалка с несколькими бесплатными хостами и блокированным интернетом
iface eth2 inet static
address 10.105.15.36
netmask 255.255.255.0
network 10.105.15.0
broadcast 10.105.15.255
gateway 10.105.15.193
up route add -host 62.117.69.236 gw 10.105.15.193 dev eth2
При прописывании в /etc/network/interfaces шлюзов по умолчанию
для обеих сетей с инетом
в таблице рутинга появляются 2 default gw (что по моим прикидкам
не есть правильно), причем eth2 раньше, чем eth0.
Работает, но при этом пакеты, естественно, идут только
по первому из gw в таблице (из чего получается либо весь платный траффик,
либо доступна только подсетка с бесплатным).
При удалении строчки gateway для eth2 и добавлении статического рутинга
up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.105.15.193
up route add -host 62.117.69.236 gw 10.105.15.193 dev eth2
команда traceroute и ping ругаются
... : sendto : operation not permitted
... : wrote 62.117.69.236 38 chars, ret=-1
(проверяется под root-ом). Аналогично при соответствующем использовании
up ip route add .....
Вопрос - что не так и как с этим быть?
С наилучшими, Андрей Вовк.
Reply to: