radist04ka# uname -rpsi
FreeBSD 8.1-STABLE-201011 i386 KERN
с опциями:
Код: Выделить всё
include GENERIC
options IPFIREWALL
options IPFIREWALL_FORWARD
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=50
options IPFIREWALL_NAT
options IPFILTER
options IPFILTER_LOG
options DUMMYNET
options IPDIVERT
options LIBALIAS
options ROUTETABLES=4
options HZ="1000"
options IPSTEALTH
options SC_DISABLE_REBOOT
options PANIC_REBOOT_WAIT_TIME=25
options SUIDDIR
options LIBICONV
options LIBMCHAIN
options CD9660_ICONV
options MSDOSFS_ICONV
options UDF
options UDF_ICONV
options NETGRAPH
options NETGRAPH_NAT
options NETGRAPH_IPFW
options NETGRAPH_SOCKET
options NETGRAPH_KSOCKET
options NETGRAPH_NETFLOW
options NETGRAPH_SPLIT
options NETGRAPH_CAR
options NETGRAPH_PPPOE
options NETGRAPH_PPP
options NETGRAPH_ETHER
options NETGRAPH_TEE
options NETGRAPH_BPF
options NETGRAPH_IFACE
options NETGRAPH_PPTPGRE
options NETGRAPH_TCPMSS
options NETGRAPH_VJC
options NETGRAPH_ONE2MANY
options NETGRAPH_RFC1490
options NETGRAPH_TTY
options NETGRAPH_UI
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_MPPC_COMPRESSION
options NETGRAPH_L2TPКод: Выделить всё
radist04ka# cat /sys/netinet/ipfw/ip_fw_pfil.c | grep -A 3 NAT:
case IP_FW_NAT:
if ( V_fw_one_pass )
break;
case IP_FW_REASS:
Код: Выделить всё
dc0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=80008<VLAN_MTU,LINKSTATE>
ether 00:00:e8:7b:02:eb
inet 10.10.241.241 netmask 0xffffff80 broadcast 10.10.241.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 00:02:44:9c:58:2f
inet 192.168.50.241 netmask 0xffffff00 broadcast 192.168.50.255
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
stge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,LINKSTATE>
ether 00:1d:60:5c:c7:c3
inet 192.168.1.241 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=2009<RXCSUM,VLAN_MTU,WOL_MAGIC>
ether 00:07:e9:5f:eb:45
inet 192.168.60.241 netmask 0xffffff00 broadcast 192.168.60.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: activeКод: Выделить всё
radist# cat /usr/local/etc/rc.d/route.sh
#!/bin/sh
rtcmd=/sbin/route
ipdef="10.10.241.129"
# default shl
${rtcmd} change default 192.168.1.1
# all net
${rtcmd} add 10/8 ${ipdef}
${rtcmd} add 195.208/16 ${ipdef}
# stat net
${rtcmd} add 10.0.0.3 ${ipdef}
${rtcmd} add 10.10.214.155 ${ipdef}
${rtcmd} add 10.10.214.28 ${ipdef}
${rtcmd} add 10.0.5.45 ${ipdef}
${rtcmd} add 10.0.5.41 ${ipdef}
${rtcmd} add 10.0.3.9 ${ipdef}Код: Выделить всё
radist04ka# cat /etc/rc.firewall
#!/bin/sh ~
fw=/sbin/ipfw
RadIf="dc0"
RadIP="10.10.241.241"
RadLan="10.0.0.0/8"
LocIf="fxp0"
LocIP="192.168.60.241"
LocLan="192.168.60.0/24"
MyIf="re0"
MyIP="192.168.50.241"
MyLan="192.168.50.0/24"
MainWLan="192.168.1.0/24"
MainWIf="stge0"
MainWIP="192.168.1.241"
${fw} -f flush
${fw} -f pipe flush
${fw} add 01 deny ip from any to any frag
${fw} add 02 allow ip from any to any via lo0
${fw} add 03 deny ip from any to any not verrevpath in
${fw} add 130 allow ip from any to ${MyLan} via ${MyIf}
${fw} add 140 allow ip from ${MyLan} to any via ${MyIf}
${fw} add 150 allow ip from any to ${LocLan} via ${LocIf}
${fw} add 160 allow ip from ${LocLan} to any via ${LocIf}
${fw} add 170 allow ip from any to ${MainWLan} via ${MainWIf}
${fw} add 180 allow ip from ${MainWLan} to any via ${MainWIf}
${fw} add 310 deny ip from ${RadLan} to any via ${MainWIf}, ${LocIf}
${fw} add 320 deny ip from any to ${RadLan} via ${MainWIf}, ${LocIf}
${fw} add 330 allow ip from ${RadLan} to any via ${RadIf}
${fw} add 340 allow ip from any to ${RadLan} via ${RadIf}
${fw} add setfib 1 all from ${MainWLan} to any
${fw} add 450 nat 1 ip from any to any via ${RadIf}
${fw} nat 1 config ip ${RadIP}
${fw} add 550 nat 2 ip from any to any via ${MainWIf}
${fw} nat 2 config ip ${MainWIP}
что даже не пинговался 10.10.241.241 (что по идее есть 127.0.0.1 для самой машины с bsd)
только тот интерфейс к которому был подключен:
в сети 192.168.50.0/24 пинговался только 192.168.50.241 и никакой другой больше; ни 192.168.60.241, ни 10.10.241.241
тоже самое в 192.168.1.0/24 и 192.168.60.0/24 и 10.10.241.241
на самой машине все работало нармально, пинговалось все и в dc0 и в stge0 и в re0
что то упорно у меня не получается 2 ната поднять... щаз вообще ни один не работает....
p.s. а что делает options IPSTEALTH а то советуют, а не говорят для чего....
p.p.s. чего то я не так сделал
теперь NAT'ы даже через ipnat не работают:
Код: Выделить всё
cat /etc/ipnat.rules
map stge0 192.168.0.0/16 -> 192.168.1.241/32
map stge0 192.168.0.0/16 -> 10.10.241.241/32Код: Выделить всё
radist04ka# cat /etc/rc.conf | grep "ipnat"
ipnat_enable="YES"
ipnat_program="/sbin/ipnat"
ipnat_rules="/etc/ipnat.rules"
radist04ka# cat /etc/rc.conf | grep fire
firewall_enable="YES"
firewall_quiet="YES"
firewall_logging="YES"
firewall_script="/etc/rc.firewall"
firewall_nat_enable="YES"
