FreeBSD ipfw firewall_type

2

Estou tentando criar meu próprio script de firewall dentro do FreeBSD e estou com problemas, fiquei me perguntando se alguém fez algo mais atencioso e poderia me mostrar um exemplo?

su-3.2# grep ^firewall /etc/rc.conf 
firewall_enable="YES"       # Set to YES to enable firewall functionality
firewall_type="/etc/ipfw.rules"
firewall_quiet="YES"        # Set to YES to suppress rule display
firewall_logging="YES"      # Set to YES to enable events logging
firewall_logdeny="YES"      # Set to YES to log default denied incoming
su-3.2# cat /etc/ipfw.rules 
${fwcmd} add 65000 pass all from any to any
su-3.2# /etc/rc.d/ipfw restart
/etc/rc.d/ipfw: DEBUG: checkyesno: firewall_enable is set to YES.
/etc/rc.d/ipfw: DEBUG: checkyesno: firewall_enable is set to YES.
/etc/rc.d/ipfw: DEBUG: run_rc_command: doit: ipfw_stop 
net.inet.ip.fw.enable: 1 -> 0
/etc/rc.d/natd: DEBUG: checkyesno: natd_enable is set to NO.
/etc/rc.d/ipfw: DEBUG: checkyesno: firewall_enable is set to YES.
/etc/rc.d/ipfw: DEBUG: run_rc_command: start_precmd: ipfw_prestart 
/etc/rc.d/ipfw: DEBUG: checkyesno: dummynet_enable is set to NO.
/etc/rc.d/ipfw: DEBUG: checkyesno: firewall_nat_enable is set to NO.
/etc/rc.d/ipfw: DEBUG: load_kld: ipfw kernel module already loaded.
/etc/rc.d/ipfw: DEBUG: run_rc_command: doit: ipfw_start 
/etc/rc.d/natd: DEBUG: checkyesno: natd_enable is set to NO.
Line 1: bad command '${fwcmd}'
Firewall rules loaded.
/etc/rc.d/ipfw: DEBUG: checkyesno: firewall_logging is set to YES.
Firewall logging enabled.
net.inet.ip.fw.enable: 0Read from remote host XXXXX.XXX: Connection reset by peer
Connection to XXXXX.XXX closed.
mbp:~ alexus$ 
    
por alexus 01.10.2009 / 00:47

3 respostas

1

Perca o ${fwcmd} . Seu arquivo está sendo fornecido ao ipfw como argumento.

ipfw [-cfnNqS] [-p preproc [preproc-flags]] pathname

To ease configuration, rules can be put into a file which is processed using ipfw as shown in the last synopsis line. An absolute pathname must be used. The file will be read line by line and applied as arguments to the ipfw utility.

Tente executar ipfw /etc/ipfw.rules

    
por 01.10.2009 / 01:24
2

Dica: Você deve inserir regras para o IPFW a partir de um script rc.d (ex: /usr/local/etc/rc.d/ipfw.sh), não use / etc / ipfw.rules, isso não é flexível em tudo

    
por 15.11.2009 / 14:44
0

basicamente, faça o que gleb disse.

se você quiser especificar um script em rc.conf , você deve renomear seu arquivo e usar algo como: firewall_script="/etc/ipfw.conf"

veja /etc/defaults/rc.conf para mais informações.

também, ${fwcmd} precisa ser definido; geralmente é algo como:

fwcmd="/sbin/ipfw"

veja aqui para mais informações: link

    
por 15.11.2009 / 08:18