The OpenNET Project / Index page

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

Направление разных подсетей через разные каналы в PF (pf firewall bsd policy nat)


<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>
Ключевые слова: pf, firewall, bsd, policy, nat,  (найти похожие документы)
Date: Thu, 30 Dec 2004 20:41:19 +0500 From: Svyatoslav Bezgin <Svyatoslav_Bezgin@f20.n5009.z2.fidonet.org.> Newsgroups: ftn.ru.unix.bsd Subject: Направление разных подсетей через разные каналы в PF AB> смотрю tcpdump fxp1: AB> 5.6.7.8.80 > IP_товарища.1505:... AB> т.е. пакет, после перезаписи адреса NAT-ом, в лице IP 5.6.7.8 уходит AB> согласно роутингу на шлюз провайдера ISP_2. AB> Вот такая вот беда. Т.е. получается роутинг на это еще и как влияет. AB> что делать? :) У меня была похожая трабла... применяю pf и использовал там конструкции route-to и reply-to. вроде все ходит нормально. Только меня немного иная задача стояла. надо было 1 подсеть направить на один внешний интерфейс, а другую -- на другой. и соответсвенно отвечать на внешние запросы через тот интерфейс, через которые он пришел. Вот выдержки из pf.conf int_network = $int_if:network # внутренняя сеть 1 идет наружу через default_router net_network = $net_if:network # внешняя сеть 2. gateway провайдера имеет # адрес A.B.C.D dmz_network = $dmz_if:network # внутрення сеть 2. должна ходить наружу через $net_if ext_network = $ext_if:network # внешняя сеть 1. маршрут по умолчания. table <nonroute> { $int_network, $dmz_network} # NAT'им одну сеть через один внешний интерфейс nat on $ext_if from 192.168.1.1/24 to any -> ($ext_if) # а другую -- через второй. nat on $ext_if from 192.168.2.1/24 to any -> ($net_if) # Правила входящих редиректов. rdr pass on $net_if inet proto tcp from any to ($net_if) port $tcp_dmz_hosting_services -> 192.168.2.2 rdr pass on $ext_if inet proto tcp from any to ($ext_if) port $tcp_dmz_services -> 192.168.2.2 rdr pass on $ext_if inet proto tcp from any to ($ext_if) port $tcp_dmz_hosting_services -> 192.168.2.3 # После выполнеия второго NAT'а пакет имеет dst-addr==($net_if) и по таблице # маршрутизации должен идти через ($ext_f). Hасильно заворачиваем его на # нужный интерфейс pass out quick on $ext_if route-to ($net_if A.B.C.D) from ($net_if) to any keep state # После выполнения редиректа src-addr не меняется. Мы указываем, что на эти # пакеты надо отвечать через $net_if pass out quick on $dmz_if reply-to ($net_if A.B.C.D) from !<nonroute> to $dmz_network keep state

<< Предыдущая ИНДЕКС Поиск в статьях src Установить закладку Перейти на закладку Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




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

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