pf.conf の設定順序

NetBSD ルータを他にも作ろうとして正しく設定できないことに気がついた。正常動作しているコンフィギュレーションの内容と違う。コメントアウトしていた箇所を変更したのがエラーの原因らしい。


Rules must be in order: options, normalization, queueing, translation, filtering

さらに NetBSD の man pf を読み直した。というのも、pf.conf を読み込むと ALTQ に関するメッセージも表示されて違和感を覚えたからで...。


# pfctl -f /etc/pf.conf
No ALTQ support in kernel
ALTQ related functions disabled

最後のところに、但し書きが書いてあった。


CAVEATS
The following functionality is missing from pf in this version of NetBSD:

o ALTQ is not integrated with pf. altq(9) is an independent sub-
system, controlled by altqd(8).

Moreover, enabling pf together with the ALTQ option in the ker-
nel config file is not supported. To use both pf and ALTQ, pf
should be disabled in the kernel config file and a LKM version
( /usr/lkm/pf.o ) should be loaded, see lkm.conf(5).

o The pfsync protocol is not supported.

o The group keyword is not supported.

またこの説明によれば、カーネルコンパイルする必要はなかったのかもしれない。

# modload /usr/lkm/pf.o
# pfctl -f /etc/pf.conf
NetBSD 3.1 ではカーネル コンフィギュレーションに pf と ALTQ の共存は許されていないため、カーネルで ALTQ を有効にして pf をモジュールとして組み込めば、怪しいメッセージは表示されなくなりそうだ。