PDA

Просмотр полной версии : Два WAN в Linux


SUV
12.10.2008, 22:46
На импровизированном домашнем сервере есть два мира - сампа (10.10.169.3), и ADSL (172.16.52.248)-но через роутер, поэтому на сервере след интерфейсы:
10.10.169.3 (Sampo)
192.168.1.5 (ADSL)
192.168.0.1 (локалка) к которой подключен свитч со всеми домашними компами и соседями.

маршруты настроены примерно так: всё идёт по сампе (маршр по умолчанию), кроме 172.*.*.* которое идёт через адсл.

на сервере открыты пинги и ssh на всех трёх интерфейсах (там где модем - стоит проброс 22 порта).

работа пользователей внутри сети - превосходная, всё работает (NAT-ится), куда ни ступи, НО
теперь, проблема:
адсль-ные пользователи видят ТОЛЬКО ADSL интерфейс (ssh только на 172.16.52.248).
самповские (и прочие) пользователи видят ТОЛЬКО самповский интерфейс (ssh только на 10.10.169.3).

достаточно сменить маршруты (допустим, адсл по умолчанию а сампа только для 172.*.*.*) как ситуация меняется на противоположную.

причина - понятна, если самповец стучится на адсльный ssh, то ответ идёт через таблицу маршрутизации, по сампе, тоесть совсем от другого ипа, и ничего не работает.

вопрос - как пофиксить. хочу чтобы все карельские пользователи могли заходить как на 10.10.169.3 так и на 172.16.52.248 одновременно и с одинаковым результатом, но когда обе эти сетевки на одной системе.

такой эффект наблюдался на Suse, Gentoo, XP, 2003 Server. (сейчас gentoo)

спасибо

rmn
12.10.2008, 23:10
SUV, хороший вопрос, когда давно искал на него ответ, было предложено поизучать recent модуль у iptables и соорудить правила на его основе (в связке с nat). Но лень пересилила. :)

SUV
12.10.2008, 23:23
rmn, спасибо за ответ :rolleyes:

а тему то я завёл вслед за топикстартером Ins7, который в своей теме написал что у него на одной системе работает два внешних интерфейса
http://forum.battlefox.ru/showthread.php?t=9561, и они оба пингуются (причем из коробки). Тоесть всё таки бывают добрые исключения, и видимо Дебиан както разруливает ситуацию, в общем загадка.

rmn
12.10.2008, 23:36
SUV, debian тут не причем. :) Да и там немного другой случай вроде.


SUV, можно попробовать пораспрашивать в списках рассылки iptables (http://www.netfilter.org/mailinglists.html), вдруг что посоветуют.

Ну и если удастся решить проблему (при наличии опыта и ясного понимания работы iptables), отпишись, пожалуйста. :)

SUV
12.10.2008, 23:48
если честно я всё смотрю в сторону Iproute2, который позволяет буквально для каждого интерфейса создавать свою таблицу маршрутизации, но попытки помучать его были тщетны - потеря сервера (физический доступ на антресоль ограничен)

dvp
20.10.2008, 23:18
так и есть, в свое время делал с помощью iproute2 (маршрутизация по src ip), в принципе можно поискать в инете по multiple ISP connections...
еще можно помечать с какого интерефейса пришел пакет и отвечать туда же с помощью iproute2 так делает например shorewall http://shorewall.net

SUV
04.11.2008, 11:47
dvp, спасибо за ответ, iproute2 - действительно сила.
повторное вкуривание в http://www.opennet.ru/docs/RUS/LARTC/x348.html помогло, теперь всё работает как надо

Ну и если удастся решить проблему (при наличии опыта и ясного понимания работы iptables), отпишись, пожалуйста. :)
в ссылке на opennet как раз описано всё, причем iptables оказался не нужен

Кстати говоря возможно разница в поведении gentoo и дебиана просто связана с разными dhcp клиентами, или утилами, поднимающими интерфейс и создающих дефолтовые маршруты :) ведь iproute2 - это не замена стеку протоколов, а всего лишь набор утил для удобного ручного изменения маршрутов, который по сути не обязателен чтобы иным способом добавлять маршруты меченые "src".

SUV
13.11.2008, 14:15
рано радовался, оказывается проброс портов с такой штукой также адекватно не работает. всё равно есть же маршруты по умолчанию, для желаемого исходящего направления.. так вот проброс работает только по одной стороне, туда куда смотрит исходящий траффик.

что впрочем тоже логично. надо в винде (я пробрасывал mstsc) тоже получается также настраивать омг