Taras Savchuk написал статью (https://www.opennet.ru/base/net/freebsd_2x_natd.txt.html) про настройку шлюза с раздельной трансляцией адресов для внутренних и внешних ресурсов.URL: https://www.opennet.ru/base/net/freebsd_2x_natd.txt.html
Новость: https://www.opennet.ru/opennews/art.shtml?num=6182
много рекламы
Глянь оригинал. Там ее нет и удобнее читать, т.к. сохранено выделение цветом.
http://www.elantech.ru/docs/freebsd-natd-x-2/
Статья интересна методом запуска второго natd (я, когда на двух натд сидел, второй из крона пускал =) )
Сейчас тоже самое в той же сети на той же системе делаю с помощью ipnat в три файла =)
# vi /etc/ipf.rules
block out on tun0 all
#только разрешенные соединения от гейта в инет
pass out quick on tun0 proto tcp from 172.16.60.120 to any port = 123
pass out quick on tun0 proto udp from 172.16.60.120 to any port = 123
pass out quick on tun0 proto tcp from 172.16.60.120 to any port = 53
pass out quick on tun0 proto udp from 172.16.60.120 to any port = 53
#трансляция из локалки в сеть прова
pass out quick on rl0 proto tcp from 10.0.0.0/24 to 192.168.0.0/16 flags S/FSRA keep state
pass out quick on rl0 proto udp from 10.0.0.0/24 to 192.168.0.0/16 keep state
pass out quick on rl0 proto icmp from 10.0.0.0/24 to 192.168.0.0/16 keep state
#а в инет - только откуда положено ;)
pass out quick on tun0 proto tcp from 10.0.0.10/32 to any flags S/FSRA keep state
pass out quick on tun0 proto udp from 10.0.0.10/32 to any keep state
pass out quick on tun0 proto icmp from 10.0.0.10/32 to any keep state
------------------
# vi /etc/ipnat.rules
#ftp-проксирование в сеть провайдера
map rl0 10.0.0.0/24 -> 192.168.60.120/32 proxy port ftp ftp/tcp
#исходящие соединения будут получать такие порты (фильтровать удобнее ;))
map rl0 10.0.0.0/24 -> 192.168.60.120/32 portmap tcp/udp 20000:20999
#трансляция всех остальных протоколов
map rl0 10.0.0.0/24 -> 192.168.60.120/32
#аналогично для инета с учетом доверенного хоста
map tun0 10.0.0.10/32 -> 172.16.60.120/32 proxy port ftp ftp/tcp
map tun0 10.0.0.10/32 -> 172.16.60.120/32
------------------
# vi /etc/rc.conf
#конфигурирование сети
defaultrouter="192.168.60.1"
ifconfig_rl0="inet 192.168.60.120 netmask 255.255.255.0"
ifconfig_rl1="inet 10.0.0.1 netmask 255.255.255.0"
#тунель в инет (ppp+pptp)
ppp_enable="YES"
ppp_profile="vpn"
#маршрутизация и файрволл
gateway_enable="YES"
ipfilter_enable="YES"
ipnat_enable="YES"
------------------
ифконфиг гласит следующее:
# ifconfig
rl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 192.168.60.120 netmask 0xffffff00 broadcast 192.168.60.255
ether 00:02:44:54:54:0d
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
rl1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
options=8<VLAN_MTU>
inet 10.0.0.1 netmask 0xffffff00 broadcast 10.100.200.255
ether 00:02:44:06:5b:f3
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 172.16.60.120 --> 172.16.0.1 netmask 0xffffff00
Opened by PID 230работает на ура =)
блин.....
во фре _до сих пор_ нат на юзерлевеле......
эт песдец
для линуха и хауту никакого не нужно.
такая сетка - такой SNAT
другая - такойи нет потери производительности с юзерлевелом.
ну нафига извращаться??
В 6-ой ветке nat в ядре.
А ещё в 5-й ветке в ядре есть PF со встроеным NAT-ом.
Поправочка - PF и IPFilter
Еще поправочка - ipfilter был еще в 4.x. У меня на нескольких старых роутерах замечательно работает.
...ну и "ip tunnel" с source routing'om не забываем