The OpenNET Project / Index page

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



"Раздел полезных советов: Как организовать Policy Routing на FreeBSD"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Отдельный RSS теперь доступен для каждого обсуждения в форуме и каждого минипортала.
. "Схема построения PBR на  IPFW" +/
Сообщение от PavelR (??), 27-Фев-08, 06:03 
Схема построения PBR на  IPFW

; Разрешаем траффик, который не надо натить - т.е. из локальных сетей в локальные сети
00100 allow all from <localnet> to any out xmit <Локальный интерфейс1>
00105 allow all from <localnet> to any out xmit <Локальный интерфейс2>
; где-то тут надо бы добавить правила, чтобы локальная сеть видела внешние айпишники рутера
; может быть это "100 allow from any to any out xmit <локальные интерфейсы>"
; но для начала и так пойдет. Проблема будет в том, что с внешнего айпи пакеты будут
;форвардиться во внешний интерфейс, даже если они должны были пойти в локалку.


#Заворачиваем на нат всё что пытается покинуть рутер через внешний интерфейс (внутрений трафик разрешен сотыми правилами)
;заворачиваем с разных айпи траффик на разный нат
00200 divert 8668 ip from 192.168.0.200 to any out
00205 divert 8667 ip from 192.168.0.100 to any out

; тут можно вставить вырезание пакетов, идущих во внешние сети с приватным src-адресом
;00250 reject all from 192.168.0.0/16 to any out

;разрешаем пакетам, которые идут куда надо идти куда они идут :)
00400 allow all from  <айпи канал1> to <сеть интерфейс1> out xmit <Интерфейс1>
00405 allow all from  <айпи канал2> to <сеть интерфейс2> out xmit <Интерфейс2>

; меняем интерфейс назначения, если надо идти через шлюз
; форвардим даже если требуемый шлюз является шлюзом по умолчанию, для упрощения правил.

00500 fwd <айпи шлюза сеть1> ip from <айпи канал1> to any out
00505 fwd <айпи шлюза сеть2> ip from <айпи канал2> to any out  

; Форвард нужен только если пакет идет не в свой интерфейс, т.е. более полный вариант для двух интерфейсов (больше интерфейсов - геометрически больше правил):

;00500 fwd <айпи шлюза сеть1> ip from <айпи канал1> to any out via <Интерфейс2>
;00505 fwd <айпи шлюза сеть2> ip from <айпи канал2> to any out via <Интерфейс1>

;00510 allow ip from <айпи канал1> to any out via <Интерфейс1>
;00515 allow ip from <айпи канал2> to any out via <Интерфейс2>

# Не забываем пронатить всё это дело обратно
00600 divert 8668 ip from any  to any in recv <Интерфейс1>
00605 divert 8667 ip from any  to any in recv <Интерфейс2>

# и разрешить обратное прохождение пакетов, например так
00610 allow from any to 192.168.0.0/24 in recv <Интерфейс1>
00615 allow from any to 192.168.0.0/24 in recv <Интерфейс2>


ну и соответственно при запуске natd должно быть так, что:
natd -a <айпи канал1> -p 8668
natd -a <айпи канал2> -p 8667

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

Оглавление
Раздел полезных советов: Как организовать Policy Routing на FreeBSD, auto_tips, 30-Мрт-07, 14:08  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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