Войти

Показать полную графическую версию : Настройка сетевого шлюза


DrewBlin
26-10-2008, 15:00
Всем привет. Помогите, пожалуйста, решить такую проблему.
У меня есть такая конфигурация:


------------------ PPPoE -------------
|База данных | ----------> | Provider1 |
---------------- ------------------ Ethernet ------------
|Локальная сеть| ---> |Шлюз для локалки| ----------> | Provider2 |
---------------- ------------------ -------------


База и шлюз располагаются на одном компьютере (под кправлением FreeBSD 7.0). Соответственно на этом компьютере стоит 3 сетевухи. Есть два разные подключения к интеренет: ADSL и выделенка. Надо чтобы весь трафик из локалки и самого шлюза уходил по выделенке, а все запросы к базе и ее ответы ухрдили через РРРоЕ. При этом локалка тоже должна иметь доступ к БД.

Сама проблема - настроить это все вместе. Отдельно плучается настроить и РРРоЕ и выделенку. Но настроить это все вместе вызывает трудности. Ответьте, пожалуйста, на след. вопросы:
1. При настроке фильтрации IPFilter для РРРоЕ указывать интерфейс в правилах надо rl0 (сетевуха, к которой подключен модем) или tun0 (тунельное устр-во, которое создается при включении РРРоЕ соединения)
2. На шлюзе надо указать маршрут по-умолчанию. Если указать шлюз провайдера выделенки, как будут вести себя ответы БД наружным клиентам? Т.е. не будет ли такого, что запрос пришел через РРРоЕ а ответ ушел через выделенку? Если будет, то как этого избежать, если нет - то почему?
3. Правильно ли я понимаю логику настройки IPFilter для этой ситуации?
а) все проходящие через шлюз исходящие из локалки направляю на выделенку
б) все исхдящие из шлюза - на выделенку
в) все исходящие через РРРоЕ запретить, кроме уже установленых соединений
г) все входящие на РРРоЕ запретить, кроме пингов и запросов к базе

Заранее спасибо за ответы

wp2
26-10-2008, 15:26
routing + firewall тебе в помощь

DrewBlin
27-10-2008, 18:57
И вопрос еще в догонку: а какими программными средствами лучше пользоваться для решения этой задачи?

wp2
27-10-2008, 20:07
route + ipfw

это так навскидку, просто не охота вникать глубоко в твою проблему.

1. При настроке фильтрации IPFilter для РРРоЕ указывать интерфейс в правилах надо rl0 (сетевуха, к которой подключен модем) или tun0 (тунельное устр-во, которое создается при включении РРРоЕ соединения)
tun0

wp2
27-10-2008, 21:42
А что за база? Как к ней подсоединяются? Какой порт?

если через определенный порт, то уже что-то можно подумать.

например (логика)

if [порт=Порт_базы и шлюз=Провайдер_Езернет] then откинуть пакет else обработать.

выводы:
1. Если идёт сигнал с сетки, то будет обработка базы.
2. Если идёт сигнал с РРРоЕ, то будет обработка базы.

теперь по какому каналу должно идти назад:
надо усложнить логику.

Если в пакете указан порт базы данных и адрес отправителя/получателя есть шлюз Эзернет, то пакет откинуть.

DrewBlin
27-10-2008, 21:58
База MySQL. Висит на порту 3306

wp2
27-10-2008, 23:29
а как ты разруливаешь ситуацию с двумя провами вообще? (если не брать во внимание базу данных)

DrewBlin
28-10-2008, 11:51
Пока еще никак :(
Изучаю PF и думаю как сделать

wp2
28-10-2008, 13:32
Пока еще никак
ну вот, с этого и можно начать. :-)

динамическая маршрутизация и т.д.


а то постоянно менять роутер по умолчанию на лету - наверное плохая идея.

Dm1try
28-10-2008, 13:33
Это по поводу двух провайдеров:
PBR PF : http://www.lissyara.su/?id=1276
PBR IPFW: http://ipfw.ism.kiev.ua/pbr.html

а то постоянно менять роутер по умолчанию на лету - наверное плохая идея.
Этого в данном случае и не нужно, достаточно сказать:
1. шлюзу, что IP-адрес, на котором крутится MySQL - доступен ч/з PPPoE.
2. IP-адресу, на котором крутится MySQL - указать дефолт на PPPoE.

wp2
28-10-2008, 21:24
ну а всё таки, никто не пробовал программным способом меня роутер по умолчанию "на лету"?

идея конечно тупая, но всё таки, интересно.

DrewBlin
29-10-2008, 17:48
2Dm1try:
Спасибо за ссылки. Общую идею понял. Но есть маленький вопросик к статье
http://www.lissyara.su/?id=1276 »

Там такая строка в правилах:
pass in on $ext_if reply-to ($ext_if $ext_gateway) inet proto tcp \
tagged WEB_SERVER keep state

В мануале написано, что reply-to надо указывать интерфейс, а тут ($ext_if $ext_gateway). Одно интерфейс, другое - IP-адрес. Как в данном случае надо трактовать это выражение?

Аlchemist
30-10-2008, 10:02
В мануале написано, что reply-to надо указывать интерфейс, а тут ($ext_if $ext_gateway). Одно интерфейс, другое - IP-адрес. Как в данном случае надо трактовать это выражение? »
Видимо это шлюз на внешнем интерфейсе.

DrewBlin
03-11-2008, 17:09
Спасибо за ответы. Получилось все настроить почти с первого раза. :)

Но остался неразрешенным маленькая проблема. У меня есть две линии. Одна - выделенка, другая РРРоЕ. В rc.conf указываю default gateway - шлюз провайдера выделенки. Но когда происходит коннект РРРоЕ он перезаписывает default gateway на свой. И все бы ничего, но это убивает весь трафик с этого компьютера.

Вопрос: можно ли как-то запретить РРРоЕ менять default gateway? Если да - то как. Если нет - то какие есть способы решения проблемы?

Менять default gateway после загрузки не хотелось бы, ведь если будет реконект РРРоЕ, то снова менять...

wp2
04-11-2008, 00:38
ты про Зебру слышал?

DrewBlin
04-11-2008, 12:18
неа. Не слышал. Что оно есть и как про него читать?

Аlchemist
05-11-2008, 09:30
http://www.zebra.org/

Dm1try
07-11-2008, 14:45
ты про Зебру слышал?
Простите - но это бред, в данонй ситуации. Поднимать протоколы динамической маршрутизации только ради двух маршрутов, однако!?!
Тем более, что зебра уже давно мертвец и все используют ее форк - quagga.
Посмотрите внимательно настройки PPPoE и запретите прописывать маршрут по умолчанию (примерно вот эту строчку убрать add default HISADDR), вместо него используйте static route.




© OSzone.net 2001-2012