Схема/правила на 2 провайдера?

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Medison
ефрейтор
Сообщения: 58
Зарегистрирован: 2009-11-24 17:43:58
Откуда: MSK
Контактная информация:

Схема/правила на 2 провайдера?

Непрочитанное сообщение Medison » 2009-12-23 17:36:41

Почитал статью http://www.lissyara.su/articles/freebsd ... /pbr+ipfw/ и обсуждение http://forum.lissyara.su/viewtopic.php?t=3014
- за деталями логика теряется, skipto раньше не юзал, торможу че-то :)

Опустим детали, пусть только ethernet, пусть файрвол пропускает все порты.
Пусть есть 3 сетевые карты:

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

fxp0=ip1/nm1 - провайдер 1
fxp1=ip2/nm2 - провайдер 2
fxp2=ip3/nm3 - локалка
gw1 - default route 1 провайдера
gw2 - default route 2 провайдера
Можно ли сделать с помощью ipfw и natd так, чтобы пакеты уходили теми же путями, что и пришли?

Хочу понять принцип (реально задачка примерно такая: имею gw1=defaut, ip3/nm3 ходит в инет, на ip1 висят основные сервисы, а на ip2 хочу повесить vpn с входом через gw2, вторую mx-запись также с входом через gw2 и т.п.).

Схема, описание, правила, ссылки - любая информация подойдет.
Firefox, вкладка справа - about:config [tabs.insertRelatedAfterCurrent=false]

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
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 провайдера?

Непрочитанное сообщение terminus » 2009-12-23 17:50:19

http://forum.lissyara.su/viewtopic.php?f=4&t=20814

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

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: Схема/правила на 2 провайдера?

Непрочитанное сообщение hizel » 2009-12-23 17:54:50

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

uname -a
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

Medison
ефрейтор
Сообщения: 58
Зарегистрирован: 2009-11-24 17:43:58
Откуда: MSK
Контактная информация:

Re: Схема/правила на 2 провайдера?

Непрочитанное сообщение Medison » 2009-12-23 18:22:43

hizel писал(а):

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

uname -a
FreeBSD 7.2-STABLE
Firefox, вкладка справа - about:config [tabs.insertRelatedAfterCurrent=false]

Medison
ефрейтор
Сообщения: 58
Зарегистрирован: 2009-11-24 17:43:58
Откуда: MSK
Контактная информация:

Re: Схема/правила на 2 провайдера?

Непрочитанное сообщение Medison » 2009-12-23 18:43:37

terminus писал(а):http://forum.lissyara.su/viewtopic.php?f=4&t=20814

тут уже боролись. с переменным успехом...
Спасибо, читаю :)
Firefox, вкладка справа - about:config [tabs.insertRelatedAfterCurrent=false]

Medison
ефрейтор
Сообщения: 58
Зарегистрирован: 2009-11-24 17:43:58
Откуда: MSK
Контактная информация:

Re: Схема/правила на 2 провайдера?

Непрочитанное сообщение Medison » 2009-12-24 18:32:32

terminus писал(а):http://forum.lissyara.su/viewtopic.php?f=4&t=20814
тут уже боролись. с переменным успехом...
У меня заработал такой вариант:

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

ipfw add 00400 allow ip from any to me via fxp1
ipfw add 00500 fwd gw2 ip from ip2 to not me
С setfib че-то пока не врубаюсь, документации нет.

Такой вариант не прошел:

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

setfib 1 route add default gw2
ipfw add 00400 setfib 1 ip from any to any in recv fxp1
ipfw add 00500 allow ip from any to any via fxp1
По умолчанию работает таблица 0, поскольку в 0 - все путем, пытаюсь настроить только 1.
Чем отличаются команды

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

setfib 1 netstat -rn
и
setfib -1 netstat -rn

Что происходит при

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

ipfw add setfib 1 ip from ...
Как использовать новые таблицы маршрутизации?
Firefox, вкладка справа - about:config [tabs.insertRelatedAfterCurrent=false]

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

Re: Схема/правила на 2 провайдера?

Непрочитанное сообщение terminus » 2009-12-24 21:20:51

Just for record, как грится...
я тут сейчас ради интереса игрался с setfib в ipfw и выяснил, что на проходе OUT эта конструкция не влияет на трафик :(

У nuclight'a было обьяснение про то как трафику проходящему через рутер, на основе таблицы маршрутизачии, назначается, через какой сетевой интерфейс он должен быть отослан и на какой рутер. Так вот, я не знаю всей кухни, но выходит, что если делать setfib на проходе IN то позже на проходе OUT эта метка учитывается системой и в соответствии с ней назначаются сетевой интерфейс и рутер. А если сделать setfib на проходе OUT (когда сетевой интерфейс и рутер уже были назначенны перед этим) то система не станет еще раз пересчитывать параметры передачи как при fwd - она не учитывает, что мы поставили новую метку setfib. Вот такие пироги. Поэтому-то мой пример у kpp не заработал тогда...

---
Чем отличаются команды
setfib 1 netstat -rn
и
setfib -1 netstat -rn
Ничем. Почитайте man setfib - можно применять обе формы.
Что происходит при
ipfw add setfib 1 ip from ...
К пакету прикрепляется внутренняя метка, увидев которую, система понимает, что для расчета маршрута для передачи пакета, надо использовать информацию не из таблици маршрутизации по-умолчанию, а брать ту таблицу, чей номер указан в setfib.
Как использовать новые таблицы маршрутизации?
Дофига применений. Джайлы например можно вешать на отдельные таблицы маршрутизации. Можно разделять трафик проходящий через рутер на несколько потоков и направлять через разных провайдеров (вручную или динамически). Применений море.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Medison
ефрейтор
Сообщения: 58
Зарегистрирован: 2009-11-24 17:43:58
Откуда: MSK
Контактная информация:

Re: Схема/правила на 2 провайдера?

Непрочитанное сообщение Medison » 2009-12-25 14:20:07

terminus писал(а):... на проходе OUT эта конструкция не влияет на трафик
...
ipfw add setfib 1 ip from ...
- К пакету прикрепляется внутренняя метка, увидев которую, система понимает, что для расчета маршрута для передачи пакета, надо использовать информацию не из таблици маршрутизации по-умолчанию, а брать ту таблицу, чей номер указан в setfib.
Вроде идею уловил, но почему-то не работает:

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

setfib 1 route add default gw2
ipfw add 00400 setfib 1 ip from any to me in via fxp1
ipfw add 00500 allow ip from any to any via fxp1
- в этом примере я пытаюсь поставить метку на пакеты, которые приходят из сети провайдера 2

ping ip2 снаружи через провайдера 2 - работает
при попытке установить соедиение ip2:1723 (vpn) tcpdump показывает входящие пакеты, а назад ничего не уходит...

А в таком варианте все работает:

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

ipfw add 00400 allow ip from any to me via fxp1
ipfw add 00500 fwd gw2 ip from ip2 to not me
Firefox, вкладка справа - about:config [tabs.insertRelatedAfterCurrent=false]