The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"настройка роутера FreeBSD 5.3 c двумя внешними интерфейсами"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"настройка роутера FreeBSD 5.3 c двумя внешними интерфейсами"
Сообщение от Sergey2005 emailИскать по авторуВ закладки(ok) on 13-Фев-05, 22:37  (MSK)
Подскажите пожалуйста как правильно настроить -

Текущая настройка:
FreeBSD 5.3, squid не установлен, пользователи внутренней сети ходят в интернет через rl1 используют DNS сервера провайдера интернет "M".
Интерфейсы роутера:
rl0- интерфейс во внутреннюю сеть
rl1- интерфейс на провайдера интернет "M".
rl2- интерфейс на сеть провайдера интернет "S".
Маршрутизация по умолчанию настроена для работы через rl1.
соответственно запущен  natd, и прописано правило для преобразования внутренних адресов.
natd -m -u -n rl1
${fwcmd} add divert natd all from any to any via rl1
У интерфейса rl2 прописан реальный адрес 999.888.0.123, адресное пространство провайдера "S": 999.888.0.0/24.

Каким образом настроить маршрутизацию, natd, правила фаервола, чтоб пользователи внутренней сети по умолчанию ходили в интернет через rl1 (провайдер "M"), а в случае обращения к адресам 999.888.0.0/24 (для доступа к почте и FTP провайдера "S") ходили через rl2 ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "настройка роутера FreeBSD 5.3 c двумя внешними интерфейсами"
Сообщение от Vov emailИскать по авторуВ закладки on 14-Фев-05, 10:39  (MSK)
Ну так в чем вопрос-то? ПОднимаешь два NATa - один на rl1, второй на rl2. Никакой маршрутизации писать не надо.
Единственное НО! - ты не указал маску на rl2, а от этого много зависит)))
  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "настройка роутера FreeBSD 5.3 c двумя внешними интерфейсами"
Сообщение от Sergey2005 emailИскать по авторуВ закладки(ok) on 14-Фев-05, 13:29  (MSK)
Ясно,
а как прописать правильно фаервол(как он будет различать один и второй natd), там должно быть два divert на natd?
что-то типа:

add divert natd all from any to 999.888.0.0/24 via rl2
add divert natd all from any to not 999.888.0.0/24 via rl1

?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "настройка роутера FreeBSD 5.3 c двумя внешними интерфейсами"
Сообщение от Vov emailИскать по авторуВ закладки on 21-Фев-05, 00:50  (MSK)
Видимо вопрос пока так и остался открытым, поэтому пишу маленькую инструкция, так сказать, мини-ман для плохо понимающих))))

Сделано на практике, может где-то криво, но зато работает как часы и без глюков. Итак:

Стоит задача - выпустить свою сеть в инет через два разных интерфейса rl1 и rl2. Так как адреса в локали серые, то надо поднимать NAT. С учетом того, что динамической маршрутизации не предвидится, будем поднимать NAT на 2 интерфейса. Для этого нужно:
Скомпилировать ядро с параметрами:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=20
options IPFIREWALL_FORWARD
options IPDIVERT
options DUMMYNET
options TCP_DROP_SYNFIN
это необходимый минимум. На все случаи жизни )))))
Далее, в rc.local пишем такие строки:
natd -p 8668 -n rl1
natd -p 8669 -n rl2
#natd -p 8671 -n rl3
#natd -p 8672 -n rl4
#natd -p 8673 -n rl5
Первые две строки - твои. Остальные три - если кому надо поднимать NAT на большее количество интерфейсов (ну мало ли)... Главное - принцип понять.

Следующее - правила ipfw. Твой случай:

ipfw -f add divert 8668 all from #твоясеть# to any out via rl1
ipfw -f add divert 8668 all from any to #адрес_rl1# in via rl1

ipfw -f add divert 8669 all from #твоясеть# to any out via rl2
ipfw -f add divert 8669 all from any to #адрес_rl2# in via rl2

Все! Теперь все, что будет выходить через внешние интерфейсы, будет правильно NATиться через них же. Остается проверить маршрутизацию, чтобы оно действительно туда ходило. Я спрашивал - какая маска на rl2, но ты так и не ответил. Допустим /24. В этом случае все просто. Стандартный шлюз (default gateway) прописан через rl1, а все, что идет на сеть 999.888.0.0/24 будет автоматически бежать через rl2. Если же у тебя на rl2 выделена подсетка из нескольких адресов, то тогда надо писать жесткий марщрут на всю сеть 999.888.0.0/24 через rl2 на тот шлюз, который тебе дал провайдер №2. Его тоже можно прописать в rc.local отдельной строкой типа:
route add 999.888.0.0/24 999.888.0.25

Вот и все, удачи!

P.S. Да, и не забудь разрешающие правила для пользователей, а то мало ли что))))

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "настройка роутера FreeBSD 5.3 c двумя внешними интерфейсами"
Сообщение от Sergey2005 emailИскать по авторуВ закладки(ok) on 21-Фев-05, 12:16  (MSK)
Благодарю, все заработало.
Поставил следующие настройки:

${fwcmd} add 40 divert 8668 all from #моя сеть# to not #подсеть провайдера "S"# out via rl1
${fwcmd} add 45 divert 8668 all from not #подсеть провайдера "S"# to any in via rl1

${fwcmd} add 50 divert 8669 all from #моя сеть# to #подсеть провайдера "S"# out via rl2
${fwcmd} add 55 divert 8669 all from #подсеть провайдера "S"# to any in via rl2


natd -p 8668 -m -u -n rl1
natd -p 8669 -m -u -n rl2

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2020 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру