Rapidinhas do pfctl [atualizado]
Por mim eu colocava todo o pfctl.man aqui. Mas por hora apenas o mais usado.
Ultimamente tive problemas ao carregar as regras. Como sempre gosto de saber o que está acontecendo nos bastidores. Portanto segue como ativar o modo versoso do pf:
Existem, ainda, algumas alternativas que podem ajudar a diagnosticar onde está o problema. Como por exemplo carregar primeiro as regras de NAT e redirecionamento e depois as de filtragem. Segue exemplos:
No momento que eu estava escrevendo essa nota, artigo ou seja lá como quiser chamar, eu estava tentando descobrir pra que raios servia a opcão -g do pfctl. No manual apenas diz que inclui na saída informacões úteis pra debug. Pois bem, achei uma utilidade.
Quando você está usando o tcpdump pra capturar o tráfego que passa pelo PF com o comando:
Essa interface eh padrão no openbsd no freebsd eh necessário compilar o kernel com ela ativa. Na versao 7.1-RELEASE e provavelmente apartir da 7?!?! a interface pflog0 jah estah compilada como modulo. Portanto para usar basta:
tente o comando:
Dica tirada daqui:
http://www.freebsd.org/cgi/man.cgi?query=pflogd&sektion=8
Continuamos com nossa transmissão normal:
Sep 17 17:07:37.443421 rule 14/0(match): pass in on fxp0: 55.66.77.88.14373 > 66.92.15.252.22: S 3920978973:3920978973(0) win 5840 (DF)
Isso diz que esse pacote coincidiu com a regra #14. Pois bem, é aí que entra o nosso amigo -g. Com o comando: pfctl -g -s rules. São exibidas as regras e os números que o PF alocou pra cada uma.
Existe também um modo de debug que pode ser usado. Ele é ativado através da opcão -x. E pode ter os seguintes valores:
Exemplo: pcftl -x urgent
Essas mensagens vão para /var/log/messages
Alguns comandos que você vai usar 90% do tempo:
Mais informacões acesse: http://www.openbsd.org/faq/pf/pt/index.html
e http://www.thedeepsky.com/howto/newbie_pf_guide.php
Ultimamente tive problemas ao carregar as regras. Como sempre gosto de saber o que está acontecendo nos bastidores. Portanto segue como ativar o modo versoso do pf:
pfctl -vvf /etc/pf.conf
Existem, ainda, algumas alternativas que podem ajudar a diagnosticar onde está o problema. Como por exemplo carregar primeiro as regras de NAT e redirecionamento e depois as de filtragem. Segue exemplos:
pfctl -f /etc/pf.conf Carrega o arquivo pf.conf
pfctl -nf /etc/pf.conf Analisa o arquivo, mas não o carrega
pfctl -Nf /etc/pf.conf Carrega apenas as regras NAT do arquivo
pfctl -Rf /etc/pf.conf Carrega apenas as regras de filtragem do arquivo
No momento que eu estava escrevendo essa nota, artigo ou seja lá como quiser chamar, eu estava tentando descobrir pra que raios servia a opcão -g do pfctl. No manual apenas diz que inclui na saída informacões úteis pra debug. Pois bem, achei uma utilidade.
Quando você está usando o tcpdump pra capturar o tráfego que passa pelo PF com o comando:
tcpdump -n -e -ttt -i pflog0você vai ter informacões, da captura, como essa. Interrompendo nossa transmissão:
Essa interface eh padrão no openbsd no freebsd eh necessário compilar o kernel com ela ativa. Na versao 7.1-RELEASE e provavelmente apartir da 7?!?! a interface pflog0 jah estah compilada como modulo. Portanto para usar basta:
kldload pflogE caso voce esteja capturando alguns pacotes que exibem o seguinte
tcp 40 [bad hdr length 0 - too short, <>
tente o comando:
tcpdump -s 1600 -n -e -ttt -i pflog0
Dica tirada daqui:
http://www.freebsd.org/cgi/man.cgi?query=pflogd&sektion=8
Continuamos com nossa transmissão normal:
Sep 17 17:07:37.443421 rule 14/0(match): pass in on fxp0: 55.66.77.88.14373 > 66.92.15.252.22: S 3920978973:3920978973(0) win 5840 (DF)
Isso diz que esse pacote coincidiu com a regra #14. Pois bem, é aí que entra o nosso amigo -g. Com o comando: pfctl -g -s rules. São exibidas as regras e os números que o PF alocou pra cada uma.
Existe também um modo de debug que pode ser usado. Ele é ativado através da opcão -x. E pode ter os seguintes valores:
none - Don't generate debug messages.
urgent - Generate debug messages only for serious errors.
misc - Generate debug messages for various errors.
loud - Generate debug messages for common conditions.
Exemplo: pcftl -x urgent
Essas mensagens vão para /var/log/messages
Alguns comandos que você vai usar 90% do tempo:
pfctl -d | Diable the packet filter |
pfctl -e | Enable the packet filter |
pfctl -Fa -f /etc/pf.conf | Flush all (nat, filter, queue, state, info, table) rules and reload from the file /etc/pf.conf |
pfctl -s rules | Report on the currently loaded filter ruleset. |
pfctl -s nat | Report on the currently loaded nat ruleset. |
pfctl -s state | Report on the currently running state table (very useful). |
pfctl -v -n -f /etc/pf.conf | This does not actually load any rules, but allows you to check for errors in the file before you do load the ruleset. This is obviously good for testing. |
Mais informacões acesse: http://www.openbsd.org/faq/pf/pt/index.html
e http://www.thedeepsky.com/howto/newbie_pf_guide.php
0 Comentários:
Postar um comentário
<< Home