The OpenNET Project / Index page

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



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

Исходное сообщение
"Схема построения 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

 

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



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

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