А тут захотелось мне разобраться что есть роутинг, нашел вторую сетевушку воткнул, включил в ядре и в rc.conf все что надо, и думал легко отделаться от IPFW добавив в него одно два правила, но не тут то было оказалось что придётся вникать в то как это работает иначе ничего не работает.
Итак моя схема выглядит так:
интернет(192.168.1.1) -> (192.168.1.2, nfe0)мой комп(шлюз)(10.2.2.1,xl0) -> (10.2.2.2)ноут
для ее реализации пока сотворил такой файл правил для IPFW
################ Start of IPFW rules file
# Flush out the list before we begin.
ipfw -q -f flush
# Set rules command prefix
cmd="ipfw -q add"
pif="nfe0" # public interface name of NIC
# facing the public Internet
lif="xl0" # local interface name of NIC
# facing the private network
#################################
# NAT
#################################
$cmd 00001 divert natd ip from any to any out via $pif
$cmd 00002 divert natd ip from any to any in via $pif
#################################
# No restrictions on Loopback Interface
#################################
$cmd 00010 allow all from any to any via lo0
######################################
# Allow the packet through if it has previous been added to the
# the "dynamic" rules table by a allow keep-state statement.
######################################
#$cmd 00015 check-state
######################################
# Internet section
######################################
$cmd 00100 allow ip from 192.168.1.0/24 to any out via $pif
$cmd 00150 allow ip from any to 192.168.1.0/24 in via $pif
#####################################
# In packets local network
#####################################
$cmd 00200 allow ip from 10.2.2.0/26 to any in via $lif
$cmd 00250 allow ip from 10.2.2.0/26 to any out via $pif
#####################################
# Out packets local network
######################################
$cmd 00300 allow ip from any to 10.2.2.0/26 in via $pif
$cmd 00350 allow ip from any to 10.2.2.0/26 out via $lif
# Reject & Log all incoming connections from the outside
$cmd 00499 deny log all from any to any in via $pif
# Everything else is denied by default
# deny and log all packets that fell through to see what they are
$cmd 00999 deny log all from any to any
################ End of IPFW rules file ###############################
Конечно это пока корявое решето, а не огненная стена, но в принципе дело за малым все позакрывать, ну и добавить наверное динамические правила, самое главное добился чтоб оба компа ходили в сеть и работал НАТ.
Вот это правило правда смушат, 00250 0 0 allow ip from 10.2.2.0/26 to any out via nfe0, через него почему то ни один пакет не проходит надо подумать.
Вот это правило правда смушат, 00250 0 0 allow ip from 10.2.2.0/26 to any out via nfe0, через него почему то ни один пакет не проходит надо подумать.
Спасибо за пример - пригодицо
ОтветитьУдалитьНу это пока весьма грубая болванка, вот глядиш к концу недели до ума доведу тогда будет пример
ОтветитьУдалить