Доброго времени суток.
Не могу понять почему для XP/2003 нормально нат работает пинги ходят в мир и
сайтики открываются без проблем, а под win7 только пинг работает причем на
разных ноутбуках с win7 одно и тоже. В другой сети на win7 все ок.
net.inet.ip.fw.one_pass: 1
net.link.ether.ipfw: 1
win7
${FwCMD} add 00452 nat 1 ip from 192.168.1.201 to any out xmit ${LanOut}
2003
${FwCMD} add 00451 nat 1 ip from 192.168.1.200 to any out xmit ${LanOut}
XP
${FwCMD} add 00499 nat 1 ip from 192.168.1.250 to any out xmit ${LanOut}
Правила IPFW
#!/bin/sh
FwCMD="/sbin/ipfw"
LanOut="alc0"
LanIn="fxp0"
LanIn2="fxp1"
IpOut="193.238.aaa.bbb"
NetOut="193.238.zzz.xxx"
NetOutMask="29"
IpIn="192.168.1.240"
NetIn="192.168.1.0"
NetInMask="24"
IpIn2="172.16.0.1"
NetIn2="172.16.0.0"
NetInMask2="12"
${FwCMD} -f flush
#arp
${FwCMD} add 5 allow mac-type 0x0806
${FwCMD} add 10 skipto 500 all from any to any layer2 in
${FwCMD} add 20 skipto 100 all from any to any not layer2 in
${FwCMD} add 30 skipto 100 all from any to any not layer2 out
${FwCMD} add 40 skipto 500 all from any to any layer2 out
${FwCMD} add 00100 check-state
${FwCMD} add 00101 count ip from any to any in via ${LanOut}
${FwCMD} add 00102 count ip from any to any out via ${LanOut}
${FwCMD} add 00103 count ip from any to any in via ${LanIn}
${FwCMD} add 00104 count ip from any to any out via ${LanIn}
${FwCMD} add 00105 count ip from any to any in via ${LanIn2}
${FwCMD} add 00106 count ip from any to any out via ${LanIn2}
#Allow any to any for lo0 and LanIn
${FwCMD} add 00115 allow ip from any to any via lo0
${FwCMD} add 00116 deny ip from ${NetIn}/${NetInMask} to
${NetIn2}/${NetInMask2} via ${LanIn}
${FwCMD} add 00117 deny ip from ${NetIn2}/${NetInMask2} to
${NetIn}/${NetInMask} via ${LanIn}
${FwCMD} add 00118 deny ip from ${NetIn2}/${NetInMask2} to
${NetIn}/${NetInMask} via ${LanIn2}
${FwCMD} add 00119 deny ip from ${NetIn}/${NetInMask} to
${NetIn2}/${NetInMask2} via ${LanIn2}
${FwCMD} add 00120 allow ip from any to any via ${LanIn}
${FwCMD} add 00121 allow ip from any to any via ${LanIn2}
#Service on LanOut
${FwCMD} add 00200 allow tcp from any to ${IpOut} dst-port 2112 via ${LanOut}
keep-state
${FwCMD} add 00205 allow tcp from any to ${IpOut} dst-port 2332 via ${LanOut}
keep-state
${FwCMD} add 00210 allow tcp from any to ${IpOut} dst-port 80 via ${LanOut}
keep-state
${FwCMD} add 00215 allow udp from any to ${IpOut} dst-port 53 via ${LanOut}
keep-state
${FwCMD} add 00220 allow tcp from any to ${IpOut} dst-port 25 via ${LanOut}
keep-state
${FwCMD} add 00290 allow tcp from any to ${IpOut} dst-port 48995-48998 via
${LanOut} keep-state
${FwCMD} add 00295 allow tcp from any to ${IpOut} 49152-65535 via ${LanOut}
keep-state
#Nat
${FwCMD} nat 1 config ip ${IpOut} log reset same_ports deny_in
${FwCMD} add 00400 nat 1 ip from any to ${IpOut} in recv ${LanOut}
${FwCMD} add 00410 nat 1 ip from ${IpOut} to any out xmit ${LanOut}
${FwCMD} add 00415 nat 1 ip from ${NetIn2}/${NetInMask2} to any out xmit
${LanOut}
${FwCMD} add 00450 nat 1 ip from 192.168.1.235 to any out xmit ${LanOut}
${FwCMD} add 00451 nat 1 ip from 192.168.1.200 to any out xmit ${LanOut}
${FwCMD} add 00452 nat 1 ip from 192.168.1.201 to any out xmit ${LanOut}
${FwCMD} add 00453 nat 1 ip from 192.168.1.202 to any out xmit ${LanOut}
${FwCMD} add 00497 nat 1 ip from 192.168.1.248 to any out xmit ${LanOut}
${FwCMD} add 00498 nat 1 ip from 192.168.1.249 to any out xmit ${LanOut}
${FwCMD} add 00499 nat 1 ip from 192.168.1.250 to any out xmit ${LanOut}
###### LAYER 2 #######
#Allow any to any for lo0 and LanOut on Layer2
${FwCMD} add 00500 allow ip from any to me layer2 in recv ${LanOut}
${FwCMD} add 00505 allow ip from me to any layer2 out xmit ${LanOut}
${FwCMD} add 00510 allow ip from any to me layer2 in recv lo0
${FwCMD} add 00515 allow ip from me to any layer2 out xmit lo0
${FwCMD} add 00600 allow ip from any to any layer2 via ${LanIn}
${FwCMD} add 00605 allow ip from any to any layer2 via ${LanIn2}
###########
${FwCMD} add 65533 deny log logamount 0 ip from any to any not layer2
${FwCMD} add 65534 deny log logamount 0 ip from any to any layer2