The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Пример настройки policy routing для..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [Проследить за развитием треда]

"Раздел полезных советов: Пример настройки policy routing для..."  
Сообщение от auto_tips on 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: http://www.opennet.ru/openforum/vsluhforumID1/53437.html#3
Обсуждается: http://www.opennet.ru/tips/info/788.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Пример настройки policy routing для двух сетей в FreeBSD 5.3"  
Сообщение от Аноним email on 22-Фев-05, 14:36 
> Его тоже можно прописать в rc.local отдельной строкой типа:
> route add 999.888.0.0/24 999.888.0.25
Вообще это прописывается в rc.conf:
static_routes="s1"
route_s1="999.888.0.0/24 999.888.0.25"
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Пример настройки policy routing для двух сетей в FreeBSD 5.3"  
Сообщение от Аноним email on 23-Фев-05, 03:12 
а ежели такая петрушка с натд:


                         Natd (-reverse -unregistered_only)
194.1.2.2 -----------+--rl0(194.1.2.3)----+
netmask              |  |                 |
255.255.255.255      |  |   FreeBSD 5.3   |
                     |  |    stable       | external
                     |  |                 rl1(194.1.2.4)-----Internet
                     |  +-----------------+
                     |
                     |
                     |
            192.168.1.2/24


т.е. есть на одном интерфейсе и реальные и приватные адреса.как тогда быть? =\

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Пример настройки policy routing для двух сетей в FreeBSD 5.3"  
Сообщение от Аноним email on 24-Фев-05, 11:39 
Ваши два "реальных" адреса (3 и 4) как не крути попадают под одну маску, давайте более реальные схемы.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Пример настройки policy routing для двух сетей в FreeBSD 5.3"  
Сообщение от Stingo on 24-Фев-05, 16:19 
И где тут policy routing? Вижу пример технологии NAT не более того. А как предложил товарисч, статики прописываются в rc.conf
static_routes="myroute"
route_myroute="-net 10.10.10.0 -netmask 255.255.255.0 -gateway 10.0.0.1"
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "natd vglobalports "  
Сообщение от Ilyaz email on 02-Мрт-05, 05:02 
Кто-нибудь может поделиться опытом использовния новой опции globalports в natd (о её появлении сказано в 5.3-RELEASE Release Notes)? Заранее благодарен ;-)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "Пример настройки NAT для двух сетей в FreeBSD 5.3"  
Сообщение от guest (??) on 02-Мрт-05, 14:27 
а почему не ipf ?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "Пример настройки NAT для двух сетей в FreeBSD 5.3"  
Сообщение от DEC on 04-Мрт-05, 11:26 
ipf под большой нагрузкой плохо себя ведёт
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

8. "Пример настройки NAT для двух сетей в FreeBSD 5.3"  
Сообщение от citrin email(ok) on 07-Мрт-05, 02:18 
Как раз таки при большой нагрузке лучше использовать ipnat, а не natd. А если у вас много трансляций, то имеет смысл заменить #undef LARGE_NAT на #define LARGE_NAT в файле /sys/contrib/ipfilter/netinet/ip_nat.h
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

9. "Пример настройки NAT для двух сетей в FreeBSD 5.3"  
Сообщение от teledata (ok) on 10-Окт-05, 15:15 
Кто-нибудь с таким сталкивался?
На внешнем интерфейсе 195.1.1.1 есть два альяса
10.0.0.1 и 192.0.0.1. Как ходить в сети 10.0.0.1/24 и 192.0.0.1/24 через альясы. Смотрел tcpdump'ом на внешнем интерфейсе все пакеты идут именно с 195.1.1.1.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

10. "Пример настройки NAT для двух сетей в FreeBSD 5.3"  
Сообщение от napTu on 16-Мрт-06, 21:45 
не могу воткнуть, помогите:
есть два внешних интерфейса ppp0 с серым адресом и tun0 с реальным. машина натит адреса в адрес ppp0. через ppp0 указан роут по дефолту. не могу ходить через tun0. Например указываю traceroute -s <внешн.адрес> mail.ru. Выдает sendto:denied. Запрещает фаервол, т.к. от этого адреса осуществляется попытка выхода через ppp0. Че делать, как ходить?
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

23. "Пример настройки NAT для двух сетей в FreeBSD 5.3"  
Сообщение от кино on 07-Дек-07, 12:22 
>не могу воткнуть, помогите:
>есть два внешних интерфейса ppp0 с серым адресом и tun0 с реальным. машина натит адреса в адрес ppp0. через ppp0 указан роут по дефолту. не могу ходить через tun0. Например указываю traceroute -s <внешн.адрес> mail.ru. Выдает sendto:denied. Запрещает фаервол, т.к. от этого адреса осуществляется попытка выхода через ppp0. Че делать, как ходить?

поступило предложение юзать везде нетграф - вот и нат тоже под модулем ng_nat# Create NAT

# Divert traffic into NAT node
ipfw add 300 netgraph 61 all from any to any in via fxp0
ipfw add 400 netgraph 60 all from any to any out via fxp0

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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