Я пытаюсь (безуспешно) настроить поле ipnat / ipf под FreeBSD 8.2, вот сценарий:
outside inside
+----+
ADSL 1.2.3.0/29 -------(re0)- | | -(re2)-- 172.16.16.0/254 DMZ
| |
HDSL 101.102.103.0/29 -(re1)- | | -(re3)-- 192.168.10.0/254 LAN
+----+
До сих пор у меня был только ADSL, и я мог перемещаться из локальной сети и перенаправлять входящие запросы на различные службы в DMZ,
шлюз по умолчанию для коробки - 1.2.3.4 все назначенные IP-адреса привязаны к соответствующим интерфейсам
вот мой ipnat.conf
# -------------------------------
# navigation from inside
map re0 192.168.10.0/24 -> 1.2.3.4/32 proxy port ftp ftp/tcp
map re0 192.168.10.0/24 -> 1.2.3.4/32 portmap tcp/udp 11000:39999
map re0 192.168.10.0/24 -> 1.2.3.4/32
map re0 172.16.16.0/24 -> 1.2.3.4/32 proxy port ftp ftp/tcp
map re0 172.16.16.0/24 -> 1.2.3.4/32 portmap tcp/udp 40000:59999
map re0 172.16.16.0/24 -> 1.2.3.4/32
# some services
rdr re0 1.2.3.2/32 port 80 -> 172.16.16.100 port 80 tcp/udp
rdr re0 1.2.3.3/32 port 25 -> 172.16.16.200 port 25 tcp/udp
rdr re0 1.2.3.3/32 port 110 -> 172.16.16.200 port 110 tcp/udp
rdr re0 1.2.3.5/32 port 3389 -> 192.168.10.10 port 3389 tcp/udp
# -------------------------------
теперь я бы настроил коробку так, чтобы доступ к некоторым службам можно было получить через новое соединение HDSL, например:
# -------------------------------
# navigation from inside
map re0 192.168.10.0/24 -> 1.2.3.4/32 proxy port ftp ftp/tcp
map re0 192.168.10.0/24 -> 1.2.3.4/32 portmap tcp/udp 11000:39999
map re0 192.168.10.0/24 -> 1.2.3.4/32
map re0 172.16.16.0/24 -> 1.2.3.4/32 proxy port ftp ftp/tcp
map re0 172.16.16.0/24 -> 1.2.3.4/32 portmap tcp/udp 40000:59999
map re0 172.16.16.0/24 -> 1.2.3.4/32
# some services via ADSL and some via HDSL
rdr re0 1.2.3.2/32 port 80 -> 172.16.16.100 port 80 tcp/udp
rdr re1 101.102.103.103/32 port 25 -> 172.16.16.200 port 25 tcp/udp
rdr re1 101.102.103.103/32 port 110 -> 172.16.16.200 port 110 tcp/udp
rdr re0 1.2.3.5/32 port 3389 -> 192.168.10.10 port 3389 tcp/udp
# -------------------------------
но я не могу настроить все так, как я бы ... входящие пакеты направляются в нужное место назначения, но ответы идут в другое место, я также пробовал с картами и bimaps с тем же (если не худшим ;-) ...) полученные результаты.
Извините за длинный пост, большое спасибо всем, кто поможет!
Хотя я не могу точно сказать, как бы вы это сделали с freeBSD (поскольку я никогда не использовал ее всерьез), я думаю, вам следует потратить некоторое время на чтение pf man и обратите внимание на раздел маршрутизации, особенно на эти два раздела:
route-to
The route-to option routes the packet to the specified interface
with an optional address for the next hop. When a route-to rule
creates state, only packets that pass in the same direction as the
filter rule specifies will be routed in this way. Packets passing
in the opposite direction (replies) are not affected and are routed
normally.
и
reply-to
The reply-to option is similar to route-to, but routes packets that
pass in the opposite direction (replies) to the specified inter-
face. Opposite direction is only defined in the context of a state
entry, and reply-to is useful only in rules that create state. It
can be used on systems with multiple external connections to route
all outgoing packets of a connection through the interface the
incoming connection arrived through (symmetric routing enforce-
ment).