Два канала в и-нет, доступ по обоим с одного внешнего IP ???

Автор: dsn Дата: 29.03.2007 16:29 Вот разбираюсь с ip route/rule итп
возник вопрос, имеются два подключения, к разным провайдерам, хочется для надежности иметь возможность через любого, подключиться например по SSH.

Первый подключен по PPTP
ppp0 (внешний IP1) -> NAT
Второй
внешний ADSL модем(192.168.1.4)NAT + PortForward(DMZ на 192.168.1.1) -> Eth0(192.168.1.1)

итого имеем два интерфейса ppp0 и eth0
задача сделать возможным подключиться по SSH с одного внешнего IP одновременно по обоим интерфейсам(т.е. внешним IP)

читаю статью [gazette.lrn.ru]
но пока понять не могу что к чему.
Там вроде какой-то переключатель маршрутов организован, но если ядро не умеет запоминать через какой интерфейс установленно конкретное входящее соединение, то грошь цена такому ядру.
Или я чего-то не понял ?

пока загвоздка в ADSL модеме, через него запросы на соединение идут, но похоже ответы уходят уже через др. интерфейс ppp0 с др. IP, как результат, соединения нет!

Что делать ?
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 30.03.2007 02:32werewolf Курить в сторону протоколов динамического роутнига Улыбка
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 30.03.2007 07:22dsn этот убогий роутинг не понимает что с одного интерфейса может быть и шлюз и потребитель находится.
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 30.03.2007 07:40wusup >Там вроде какой-то переключатель маршрутов организован, но если ядро не умеет запоминать >через какой интерфейс установленно конкретное входящее соединение, то грошь цена такому >ядру.
>Или я чего-то не понял ?

Для начала промаркируйте трафик в iptables потом уже его рулите.
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 30.03.2007 09:22dsn на счет маркеров думал, но пока не пробовал, т.к. не понятно что будет с уже созданными соединениями, не завернет ли их потом по др. маршруту.
За ссылку спасибо, ее еще не видел.
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 30.03.2007 17:15dsn сделал следующее

IPTABLES -t mangle -A PREROUTING -p ALL -i eth0 -s ! 192.168.0.0/16 -j MARK --set-mark 100

ip rule add fwmark 100 table 100
ip route add default via 192.168.1.4 dev eth0 table 100

и ничего
tcpdump показывает как пакетики приходят от модема(192.168.1.4) с запросами на создание соединения, а назад молчание.

пороюсь еще в IPTABLES, может где режу исходящие или входяшие.
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 30.03.2007 22:20dsn блин, достало уже, пакеты маркируются, проверял, но назад они уходят через ppp0, а приходят через eth0
Выходит глупое ядро не помнит откуда пришло соединение и пакет выплевывает по глобальному маршруту по умолчанию.

М.б. надо ядро как-то пересобрать или что-то включить где-то ?
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 02.04.2007 08:27wusup >ip route add default via 192.168.1.4 dev eth0 table 100
>и ничего

надо бы еще вот
это в конце добавить.
---
ip route flush cache
---
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 02.04.2007 08:43dsn добавлял, не помогло, но и без этой команды маршруты почти мгновенно менялись.

м.б. надо еще вот что сделать ?
PTABLES -t mangle -A PREROUTING -p ALL -i lo -o eth0 -d ! 192.168.0.0/16 -j MARK --set-mark 100
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 02.04.2007 08:52wusup >-p ALL -i lo -o eth0

В таком случае не обязательно маркировать, можно растащить по разным таблицам маршрутизации. Смотри по ссылке выше, самое начало мануала.
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 02.04.2007 08:59dsn не работает с правилами маршрутизации, дело в том, что пока пакет идет из вне, он подпадает под правила, а когда назад, нет и как результат маршрут по умолчанию.
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 02.04.2007 09:05wusup Вы таблицы свои в /etc/iproute2/rt_tables добавляли?

>не работает с правилами маршрутизации, дело в том, что пока пакет идет из вне, он подпадает под правила, а когда назад, нет и как результат маршрут по умолчанию.

У меня тоже 2 провайдера и все работает. Значит надо найти то что пропущено в действиях.
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 02.04.2007 09:21dsn у меня всего одна таблица и смысл ее добавлять rt_tables, там разве что цифру на имя заменить можно, это делал.
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 02.04.2007 09:29wusup покажи
---
ip route show
ip rule show
---
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 02.04.2007 17:42dsn # ip rule ls
0: from all lookup local
32765: from all fwmark 0x64 lookup 100
32766: from all lookup main
32767: from all lookup default

# ip route ls
........................(убрал, нет желания светить свои IP)
default dev ppp0 scope link

# ip route ls table 100
default via 192.168.1.4 dev eth0
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 03.04.2007 09:25wusup Начал писать правила для вас и понял в чем причина у вас сеть то одна 192.168.1.0/24 и рулить в таком случае не получиться.
Растащите ip по сетям или подсетям тогда можно и маршрутизацию делать.
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 03.04.2007 09:41dsn т.е. создать алиас и задать ему подсеть к примеру 192.168.2.0/24
я тут пробовал создавать алиас 192.168.1.3/32 и с модема на него DMZ перенаправить, не получилось.
Спасибо за подсказку, попозже попробую.
Хотя в тех статьях, что я читал, как то мутно описан механизм работы правил.
К примеру, ip rule add from 192.168.1.3/24 ....
как ядро понимает что пакет пришел их этой подсети ? ведь адрес источник и-нет, а адрес назначения сам интерфейс, а в правиле вроде как адрес источник проверяется.
Re: Два канала в и-нет, доступ по обоим с одного внешнего IP ??? 03.04.2007 15:58dsn wusup
Спасибо за подсказку, сделал еще один алиас интерфейса и все заработало Улыбка
RSS-материал