Други, чот я первый раз вижу такое.
Настройка интерфейса, смотрящщего на второго прова:
root@gw-opt:/root/firewall# ifconfig eth2
eth2 Link encap:Ethernet HWaddr 00:40:f4:ef:5f:dd
inet addr:87.255.228.165 Bcast:87.255.228.167 Mask:255.255.255.252
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:101 errors:0 dropped:0 overruns:0 frame:0
TX packets:284 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9374 (9.3 KB) TX bytes:19758 (19.7 KB)
Interrupt:21 Base address:0xa400
root@gw-opt:/root/firewall#
Пытаюсь настроить второго провайдера на роутере. Добавил таблицу маршрутизации в /etc/iproute2/rt_tables (таблица vnesh), написал туда маршрутов:
root@gw-opt:~# ip route show table vnesh
87.255.228.164/30 dev eth2 scope link
default via 87.255.228.166 dev eth2
root@gw-opt:~#
Добавил правило маршрутизации по этой таблице:
root@gw-opt:~# ip rule show
0: from all lookup local
32765: from 87.255.228.165 lookup vnesh
32766: from all lookup main
32767: from all lookup default
root@gw-opt:~#
Проверяю:
root@gw-opt:~# ping ya.ru -I eth2
PING ya.ru (93.158.134.3) from 87.255.228.165 eth2: 56(84) bytes of data.
From 87.255.228.165 icmp_seq=1 Destination Host Unreachable
From 87.255.228.165 icmp_seq=2 Destination Host Unreachable
From 87.255.228.165 icmp_seq=3 Destination Host Unreachable
Смотрю tcpdump'ом:
15:44:39.775341 ARP, Request who-has 93.158.134.3 tell 87.255.228.165, length 28
15:44:40.791344 ARP, Request who-has 93.158.134.3 tell 87.255.228.165, length 28
15:44:41.791339 ARP, Request who-has 93.158.134.3 tell 87.255.228.165, length 28
15:44:42.791338 ARP, Request who-has 93.158.134.3 tell 87.255.228.165, length 28
...и удивляюсь! Какого фига он хочет броадкастом найти мак яндекса, он же не в одной подсети с роутером и его надо "ричибл" через шлюз. Что за фигня???