Задача:есть фрибсд (70) сервер - em0 смотрит в мир, rl0 - смотрит в домашнюю локалку
надо разрешить пользователям из домашней (все виндовсы) сети выход "в люди".
0. пересобрал ядрышко
1. честно слизал пример
-----------------------------------------------------------
#!/bin/sh
ipfw='/sbin/ipfw -q'
ournet='192.168.0.1/24'
uprefix='192.168.0'
ifout='em0'
ifuser='rl0'
${ipfw} flush
${ipfw} add 100 check-state
${ipfw} add 200 deny icmp from any to any in icmptype 5,9,13,14,15,16,17
${ipfw} add 210 reject ip from ${ournet} to any in via ${ifout}
${ipfw} add 300 allow ip from any to any via lo
${ipfw} add 310 allow tcp from me to any keep-state via ${ifout}
${ipfw} add 320 allow icmp from any to any
${ipfw} add 330 allow udp from me to any domain keep-state
${ipfw} add 340 allow udp from any to me domain
${ipfw} add 350 allow ip from me to any
${ipfw} add 400 allow tcp from any to me http,https,ssh
${ipfw} add 410 allow tcp from not ${ournet} to me smtp
${ipfw} add 500 fwd 127.0.0.1,3128 tcp from ${ournet} to any http out via ${ifout}
${ipfw} add 510 divert natd ip from ${ournet} to any out via ${ifout}
${ipfw} add 1002 allow ip from ${uprefix}.2 to any via ${ifuser}
${ipfw} add 1002 allow ip from any to ${uprefix}.2 via ${ifuser}
-----------------------------------------------------------
2. на виндовой машинке сделал ип 192.168.0.2 маску 255.255.255.0 гв 192.168.0.1 днс 192.168.0.1
---не заработало :(
запустил это скрипт сам по себе и получил:
ipwf: getsockopt(IP_FW_ADD): invalid argument
в правилах 500 и 510.
маны честно курил, но не торкнуло...