NetBSD/amd64 8.0でnpf(7)を使っている。npfは、NetBSD packet filterのことである。 あまり設定例が公開されていないようなので、備忘のために書いておく。
xennet0
インターフェイスで、TCPの80番・443番・25番・22番・8080番・53番ポートとUDPで53番ポートを通過させ、ログをnpfd(8)で取得する設定である。
#set bpf.jit off
$ext_if = { ifaddrs(xennet0) }
$services_tcp = { http, https, smtp, ssh, 8080, domain }
procedure "log" {
log: npflog0
}
group default {
pass in final family inet6 proto ipv6-icmp all
pass in final family inet4 proto icmp all
pass stateful out final all
pass stateful in final proto tcp to $ext_if port $services_tcp apply "log"
pass stateful in final proto udp to $ext_if port domain apply "log"
pass final on lo0 all
block all apply "log"
}