IPFW на 2 исходящих интерфейсах.

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
IT_Prof
рядовой
Сообщения: 19
Зарегистрирован: 2006-06-12 17:17:24
Откуда: Minsk
Контактная информация:

IPFW на 2 исходящих интерфейсах.

Непрочитанное сообщение IT_Prof » 2008-05-21 13:11:30

Почитал статейку http://www.lissyara.su/?id=1127
Статейка отличная, но у меня несколько более сложная ситуация, чем описана в статье.

Задачи:
1. На FreeBSD 7.0 поднять файервол, прокси, и т.д. (веб-сервер, субд, фтп).
2. Резать скорость и считать трафик, квотирование трафика, статистика для юзеров через http.
3. Обеспечить приоритет протоколам VoIP (т.е. фактически UDP-пакетам)

Сразу хотел ставить такую связку: IPFW + DummyNet + Squid + TrafD + MySQL + Apache
Покурив сайт, решил остановиться на связке IPFW + NetAMS + Squid + MySQL + Apache

Вопроса у меня два:
1. Подходит ли выбранная связка для моих задач?
2. Как настроить IPFW на 2 соединения?

Если с вопросом №1 все понятно, то о 2ом вопросе подробнее:
На машине с FreeBSD 2 сетевухи - одна в сеть(nfe0), другая в ADSL модем (xl0). На модеме постоянно поднято PPP-соединение для доступа к внутренним ресурсам провайдера (фтп, wsus, media и т.п.), а для доступа в интернет нужно поднимать на FreeBSD PPP соединение (tun0).

Вот как это все разрулить? Т.е. нужно маршрутизировать трафик по этим интерфейсам, и поднимать 2 NATA? Ограничение скорости на интерфейсах тоже должно быть разное. Можно ли вообще все это заставить работать при выбранной мной связке?

Извините за бестолковое обьяснение... все мысли путаются в голове... FreeBSD make me crazy :mrgreen:

Хостинговая компания 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/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35267
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: IPFW на 2 исходящих интерфейсах.

Непрочитанное сообщение Alex Keda » 2008-05-21 18:44:10

ты начинай конфиг писать.
будет неработать - будем пинать в нужных направлениях =)
а так - да. не очень понятно...
Убей их всех! Бог потом рассортирует...

IT_Prof
рядовой
Сообщения: 19
Зарегистрирован: 2006-06-12 17:17:24
Откуда: Minsk
Контактная информация:

Re: IPFW на 2 исходящих интерфейсах.

Непрочитанное сообщение IT_Prof » 2008-05-22 14:01:47

Вот набросал схемку того, что будет:
Схема соединений.jpg
Модем в режиме роутера. На нем все время поднято соединение к внутренним ресурсам провайдера. Также на модеме работает NAT. Соответственно в FreeBSD нужно натить только соединения по tun0. Внутренние ресурсы имеют лишь несколько IP адресов. По этим адресам их можно перенаправлять на xl0.

Вопросы:
1. Как лучше перенаправлять на внутренние ресурсы? Прописать статические роуты (как я делал это в винде) или это надо делать в IPFW?
2. Если NAT у меня задействован в IPFW, нужно ли включать ppp_nat="YES" в rc.conf?
3. Нужно ли прямое включение ната в rc.conf - natd_enable="YES"? Опять же natd_interface="tun0" требуется указать пока не существующий интерфейс
4. Могу ли я использовать в правилах IPFW интерфейс tun0? Ведь при загрузке системы его нет... он появляется после поднятия PPPoE
5. Нужны ли в моем случае следующие строки в rc.conf?

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

    router="/sbin/routed"
    router_enable="YES"
    router_flags="-s"
P.S. Появилась вот такая ошибочка при запуске PPP:
WARNING: attempt to net_add_domain(netgraph) after domainfinalizer()
Последний раз редактировалось Alex Keda 2008-05-22 14:03:16, всего редактировалось 1 раз.
Причина: [code][/code] - для кого?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: IPFW на 2 исходящих интерфейсах.

Непрочитанное сообщение dikens3 » 2008-05-22 16:16:29

Вопросы:
1. Как лучше перенаправлять на внутренние ресурсы? Прописать статические роуты (как я делал это в винде) или это надо делать в IPFW?
Статическими маршрутами.
2. Если NAT у меня задействован в IPFW, нужно ли включать ppp_nat="YES" в rc.conf?
Несовсем понял что ты хочешь. В твоём случае могут быть использованы 3-и ната.
1. Обычный - natd. (natd_enable="YES")
2. PPPoE нат (ppp_nat="YES")
3. Включённый в ядро.
3. Нужно ли прямое включение ната в rc.conf - natd_enable="YES"? Опять же natd_interface="tun0" требуется указать пока не существующий интерфейс
Вообще есть много разных способов. Включая запуск своего скрипта ( natd?) после установки соединения PPPoE. Есть ещё ключ dynamic.
4. Могу ли я использовать в правилах IPFW интерфейс tun0? Ведь при загрузке системы его нет... он появляется после поднятия PPPoE
Можно указать все интерфейсы ("tun*")
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

IT_Prof
рядовой
Сообщения: 19
Зарегистрирован: 2006-06-12 17:17:24
Откуда: Minsk
Контактная информация:

Re: IPFW на 2 исходящих интерфейсах.

Непрочитанное сообщение IT_Prof » 2008-05-22 17:20:45

Несовсем понял что ты хочешь. В твоём случае могут быть использованы 3-и ната.
1. Обычный - natd. (natd_enable="YES")
2. PPPoE нат (ppp_nat="YES")
3. Включённый в ядро.
Я хочу использовать NAT в паре с IPFW, т.е. заворачивать трафик на NAT через divert.
Вот и спрашиваю в каком месте и как правильно его включить?

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: IPFW на 2 исходящих интерфейсах.

Непрочитанное сообщение dikens3 » 2008-05-22 19:55:44

Как правильно включить какой нат? Номер 1? 2? 3? Есть ещё возможность pf nat или ipnat заюзать. :-)


Я бы на твоём месте сделал так на шлюзе:

Оба подключения через PPPoE я производил бы средствами самого шлюза и с включенными натами. (ppp_nat) Причём на подключение к сети провайдера (где внутренние ресурсы у тебя) я бы не стал создавать default маршрут после подключения, а создал бы только статические маршруты, тем самым после падения другого канала этот был бы доступен всегда (Там с DNS проблема есть конечно, но решаема).

Далее средствами ipfw решал бы другие вопросы, не трогая nat, т.к. всё будет работать очень даже весело.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Covax
мл. сержант
Сообщения: 131
Зарегистрирован: 2008-04-27 23:54:31
Откуда: Витебск, Беларусь
Контактная информация:

Re: IPFW на 2 исходящих интерфейсах.

Непрочитанное сообщение Covax » 2008-05-22 23:13:18

А какой модем стоит?

IT_Prof
рядовой
Сообщения: 19
Зарегистрирован: 2006-06-12 17:17:24
Откуда: Minsk
Контактная информация:

Re: IPFW на 2 исходящих интерфейсах.

Непрочитанное сообщение IT_Prof » 2008-05-23 8:28:39

Оба подключения через PPPoE я производил бы средствами самого шлюза
Модем не поддерживает два одновременных PPPoE соедиения. Только одно может поднять сам, а второе пропустить сквозь себя.
Как правильно включить какой нат? Номер 1? 2? 3?
Поставлю вопрос по другому: для использования конструкции divert в ipfw достаточно ли включенной опции IPDIVERT в ядре или нужна еще запись в rc.conf natd_enable="YES"?
А какой модем стоит?
D-Link DLS-500T

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: IPFW на 2 исходящих интерфейсах.

Непрочитанное сообщение dikens3 » 2008-05-23 9:44:15

IT_Prof писал(а):
Оба подключения через PPPoE я производил бы средствами самого шлюза
Модем не поддерживает два одновременных PPPoE соедиения. Только одно может поднять сам, а второе пропустить сквозь себя.
Я про шлюз говорил, а не модем. Модем я бы сделал бриджем. (А лучше вообще сменил на нормальный)
IT_Prof писал(а):Поставлю вопрос по другому: для использования конструкции divert в ipfw достаточно ли включенной опции IPDIVERT в ядре или нужна еще запись в rc.conf natd_enable="YES"?
Достаточно, IPDIVERT позволит тебе использовать divert, не более того.

natd_enable нужен для того чтобы запусть нат, к примеру на порту 666, и потом с помощью divert отправить пакеты на него.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

Covax
мл. сержант
Сообщения: 131
Зарегистрирован: 2008-04-27 23:54:31
Откуда: Витебск, Беларусь
Контактная информация:

Re: IPFW на 2 исходящих интерфейсах.

Непрочитанное сообщение Covax » 2008-05-23 13:47:30

Вот скажите, может я ошибаюсь, но зачем использовать nat на сервере, если на модеме этот же пакет полюбому еще раз занатиться. По-моемому гораздо проще вбить в модем статику на локалку и не использовать никакого nat`а. Или я не прав?

З.Ы. У самого дома стоит на FreeBSD 7.0 Release byfly с настроенным гостевым через ZyXEL 660PT, маршруты прописаны через статику, и всё прекрасно работает без ната.

IT_Prof
рядовой
Сообщения: 19
Зарегистрирован: 2006-06-12 17:17:24
Откуда: Minsk
Контактная информация:

Re: IPFW на 2 исходящих интерфейсах.

Непрочитанное сообщение IT_Prof » 2008-05-23 14:03:10

но зачем использовать nat на сервере, если на модеме этот же пакет полюбому еще раз занатиться
Если Вы посмотрите внимательно на схему вверху, то увидите, что натить я хочу только трафик в интернет (интерфейс tun0).
Само-собой, что натить гостевой трафик я предоставлю модему.

Всем спасибо за ответы. На данном этапе вопросов больше нет... но они появятся при написании конфига к ipfw :D

Covax
мл. сержант
Сообщения: 131
Зарегистрирован: 2008-04-27 23:54:31
Откуда: Витебск, Беларусь
Контактная информация:

Re: IPFW на 2 исходящих интерфейсах.

Непрочитанное сообщение Covax » 2008-05-23 14:11:24

IT_Prof писал(а):
Всем спасибо за ответы. На данном этапе вопросов больше нет... но они появятся при написании конфига к ipfw :D
Сори. В первом посте видел идею поднимать 2 ната.
Ну а так ppp_nat="YES" будет достаточно.