2 pppoe канала + маршрутизация

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
kil
рядовой
Сообщения: 49
Зарегистрирован: 2009-02-06 20:47:15
Откуда: Воронеж
Контактная информация:

2 pppoe канала + маршрутизация

Непрочитанное сообщение kil » 2010-10-20 11:55:00

Перекомпилил ядро с поддержкой

Код: Выделить всё

options ROUTETABLES=2
mpd5 поднимает 2 pppoe соединения ng0 и ng1, весь траффик идёт через ng0, т.к. шлюз по умолчанию указан он

Код: Выделить всё

ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1460
        inet 93.88.130.* --> 1.1.1.1 netmask 0xffffffff
ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1460
        inet 212.232.4.* --> 1.1.1.2 netmask 0xffffffff
добляю 2 маршрута по умолчанию
setfib 0 netstat -rn

Код: Выделить всё

Destination        Gateway            Flags    Refs      Use  Netif Expire
default            1.1.1.1            UGS         0 51526733    ng0
1.1.1.1            93.88.130.*       UH          1       17    ng0
1.1.1.2            212.232.4.*       UH          0        0    ng1
setfib 1 netstat -rn

Код: Выделить всё

Destination        Gateway            Flags    Refs      Use  Netif Expire
default            1.1.1.2            UGS         0     1517    ng1
1.1.1.1            93.88.130.*       UH          0        0    ng0
1.1.1.2            212.232.4.*       UH          1        0    ng1
К примеру хочу чтобы с ip 192.168.2.55 пакеты шли через альтернативный (1.1.1.2)
фаер

Код: Выделить всё

10 check-state
20 setfib 1 ip from 192.168.2.55 to any in recv fxp0 keep-state
30 allow ip from 192.168.2.55 to any in via fxp0
40 deny ip from 192.168.2.0/24 to any in via fxp0
50 divert 8669 ip from any to any via dc0
60 divert 8668 ip from any to any via ng0
70 divert 8670 ip from any to any via ng1
80 allow ip from any to any via ng1 keep-state
90 allow ip from any to any
В моём понимании это должно работать так: делаю пинг с 192.168.2.55 на ya.ru
пакет попадает на in интерфейса fxp0, видит правило 20, где ему будет назначен шлюз (1.1.1.2) и соответственно интерфейс ng1, далее пакет доходит до правила 30 и выходит из IN
на втором проходе пакет выглядит как 192.168.2.55 на ya.ru out ng1, правилом 70 дивертится и либо 80-90 уходит в сеть.
Ответ из сети попадает на 70 правило, где должно ставится соответствие и на втором проходе 90 правилом доходить до адресата.
Но, пинги не идут, не пойму даже почему,
tcpdump -i ng1 'ip proto \icmp' ловит вот что

Код: Выделить всё

12:33:03.763169 IP 212.232.4.* > http://www.yandex.ru: ICMP echo request, id 10760, seq 1, length 64
12:33:03.778033 IP http://www.yandex.ru > 212.232.4.*: ICMP echo reply, id 10760, seq 1, length 64
а вот куда дальше пакет девается я никак не пойму
net.inet.ip.fw.one_pass в 0
Мозг - это орган,
посредством которого
мы думаем что думаем,
думаем что знаем

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: 2 pppoe канала + маршрутизация

Непрочитанное сообщение terminus » 2010-10-20 12:11:46

Используйте ipfw nat.
Так как natd это юзер-левел процесс, то все теги/фибы/и др. фишки ipfw теряются, когда трафик уходит из ядра на natd. После возвращения в фаерволл пакеты больше не имеют fib (юзают по-умолчанию fib 0).
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: 2 pppoe канала + маршрутизация

Непрочитанное сообщение terminus » 2010-10-20 12:22:19

и куча keep-state не к месту.

Вот так должен работать:

Код: Выделить всё

ipfw nat 1 config if ng0 reset deny_in same_ports
ipfw nat 2 config if ng1 reset deny_in same_ports
ipfw nat 3 config if dc0 reset deny_in same_ports

20 setfib 1 ip from 192.168.2.55 to any in recv fxp0
30 allow ip from 192.168.2.55 to any in via fxp0
31 allow ip from any to 192.168.2.55 out via fxp0
40 deny ip from 192.168.2.0/24 to any in via fxp0

50 nat 3 ip from any to any via dc0
60 nat 1 ip from any to any via ng0
70 nat 2 ip from any to any via ng1

90 allow ip from any to any
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
kil
рядовой
Сообщения: 49
Зарегистрирован: 2009-02-06 20:47:15
Откуда: Воронеж
Контактная информация:

Re: 2 pppoe канала + маршрутизация

Непрочитанное сообщение kil » 2010-10-20 13:50:07

Огромное спасибо, работает, всё таки ipfw nat наверное менее глючнее, придётся отказатся от обычного natd.
Мозг - это орган,
посредством которого
мы думаем что думаем,
думаем что знаем

Аватара пользователя
vadim64
майор
Сообщения: 2098
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: 2 pppoe канала + маршрутизация

Непрочитанное сообщение vadim64 » 2010-10-21 9:22:13

kil писал(а):Огромное спасибо, работает, всё таки ipfw nat наверное менее глючнее, придётся отказатся от обычного natd.
Да ну не то чтобы менее, он просто по другому работает вот и всё.
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.