LINUX.ORG.RU
ФорумAdmin

роутинг с двумя ISP в linux


0

0

Есть тазик на линуксе с двумя интерфейсами (разные провайдеры). (Роутинг кручу посредством 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).

Заранее спасибо.

anonymous

Вот зачем так городить ??? что обычная машрутизация подсетями уже не вставляет ?

anonymous
()
Ответ на: комментарий от anonymous

А что изменится? Буду маршрутизировать не один хост, а всю подсеть, но пакеты (icmp) от промежуточные хостов (ессно в своих подсетях) так же не придут.

anonymous
()
Ответ на: комментарий от anonymous

значит они не знают о тебе (о тех source IP которые ты отправляешь)

Видимо нужно тебе натить на адреса нужного провайдера.

zhiltsov
()
Ответ на: комментарий от n0nam3

Спасибо за линки выше. RTFM помогло. Решилось установкой параметра "rp_filter" в 0 (/proc/sys/net/ipv4/conf/eth0/rp_filter)

Если кому-то это еще поможет, то: "Смысл этого параметра достаточно прост -- все, что поступает к нам, проходит проверку на соответствие исходящего адреса с нашей таблицей маршрутизации и такая проверка считается успешной, если принятый пакет предполагает передачу ответа через тот же самый интерфейс."

В моем случае промежуточные хосты (при трейсе) отвечали, но приходящие мне ответы дропались т.к. маршрут к ним был бы не "через тот же самый интерфейс.".

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.