Re: How to Force Packet Traversal Order (IPFW2 => PF)
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 02 Aug 2021 19:12:18 UTC
If both pf and ipfw2 are active firewalls then I change their sequence with pfctl -d; pfctl -e to set pf in the first place or with sysctl net.inet.ip.fw.enable=0; sysctl net.inet.ip.fw.enable=1 to set ipfw2 in the first place. To check for the actual sequence I use a hack with the help of the kernel debugger: echo -n "Sequence of firewall functions for incoming pakets: " cat > .gdbinit << EOF p *(*pfil_head_list->lh_first)->ph_in->tqh_first p *(*(*pfil_head_list->lh_first)->ph_in->tqh_first)->pfil_chain->tqe_next quit EOF kernel=$(sysctl -n kern.bootfile) test -f ${kernel} || kernel="/boot/kernel/kernel" { kgdb ${kernel} /dev/mem } 2>/dev/null | \ { grep pfil_func | sed -e 's/.*<\(.*\)>.*/ \1/' | xargs echo; } rm .gdbinit It would be fine to have a sysctl variable to get this indormation. Andreas