The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Пример настройки policy routing для двух сетей в FreeBSD 5.3"
Отправлено auto_tips, 22-Фев-05 14:36 
Стоит задача - выпустить свою сеть в инет через два разных интерфейса 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 на тот шлюз, который тебе дал провайдер N2.
Его тоже можно прописать в rc.local отдельной строкой типа:
    route add 999.888.0.0/24 999.888.0.25

У Sergey2005 заработала комбинация:
    ${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


URL: https://www.opennet.ru/openforum/vsluhforumID1/53437.html#3
Обсуждается: https://www.opennet.ru/tips/info/788.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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