Есть тазик на линуксе с двумя интерфейсами (разные провайдеры). (Роутинг кручу посредством iproute2)
По умолчанию пакеты ходят через eth1 (шлюз 172.16.0.1), т.е в правилах роутинга это выглядит как: .... бла бла бла .... default via 172.16.0.1 dev eth1
И трейс (например ukr.net'а) получается такой: traceroute to www.ukr.net (212.42.64.8), 30 hops max, 38 byte packets 1 172.16.0.1 (172.16.0.1) 0.893 ms 0.571 ms 0.556 ms 2 lord.kiev-nets.com (195.66.136.1) 0.714 ms 0.992 ms 0.698 ms 3 gw-colocall.l9ix.kiev.ua (194.145.227.10) 2.984 ms 5.474 ms 2.882 ms 4 chesheer.ukrnet.net (212.26.128.209) 4.339 ms 3.367 ms 2.901 ms 5 212.26.128.226 (212.26.128.226) 4.403 ms 5.024 ms 3.337 ms 6 kaena.ukr.net (212.42.64.8) 3.890 ms 4.361 ms 3.937 ms
Теперь если только для ukr.net (212.42.64.8) прописать маршрут через eth2 (шлюз 85.202.240.1), т.е ... бла бла бла .... 212.42.64.8 via 85.202.240.1 dev eth2 default via 172.16.0.1 dev eth1
то получаем трейс:
traceroute to kaena.ukr.net (212.42.64.8), 30 hops max, 38 byte packets 1 c7-1-1.sub-11.volia.net (85.202.240.1) 26.439 ms 15.421 ms * 2 * * * 3 * * * 4 * * * 5 * * * 6 www.ukr.net (212.42.64.8) 26.642 ms 38.777 ms 44.869 ms
Сдесь все промежуточные хопы пропадают, при этом ответные пакеты (icmp) на нужный интерфейс приходят, но до трейса не доходят. Если бы по умолчанию был роутинг через eth2, то последний трейс был бы полным.
Хотелось бы знать, где грабля? Вообще задача роутить все пакеты к определенным хостам по другому интерфейсу (через другого isp).
Заранее спасибо.