Статья интересна методом запуска второго 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
работает на ура =)
|