IPFilter は非常に多くの OS に対応したソフトです。多くのソフトに 対応出来ている理由は、現代的なカーネルの持つモジュールに対応して いるからで、カーネルを再構築せずにモジュールをダイナミックに カーネルに組み込む事が出来る仕組みによっています。しかし、きちんと したファイアーウォールを作る場合には、カーネルを再構築出来る場合には 再構築した方が良いでしょう。FreeBSDでは、カーネルの再構築は非常に 容易に行えるようになっているので、ここではカーネルを再構築した上で 設定することにします。
カーネルを再構築する場合には基本的には以下の流れになります。
# config MYKERNEL
|
# make depend
# make
|
# make install
# shutdown -r now
|
この時に、新しいカーネルが /boot/kernel/ としてインストされ、
古いカーネルは /boot/kernel.old/ ディレクトリに自動的にリネームされるが、
カーネルのインストを何度も行うと、/boot/kernel.old/ は上書きされ
てしまうので、以前のカーネルを残したい場合には、
mv /boot/kernel.old /boot/kernel.org
|
に変更しておく。こうしておくと、現在、動いているカーネルは
/kernel.org として保存されるので、万一新しいカーネルで
ブートできなかった時にも、このカーネルを使って再起動する事が
出来る。
カーネルインストールが成功すれば、後は再起動して動くかどうか見てやれば よい。もし、起動しなければ、リセットして再起動し、9 秒間システムが待って いるときに、リターンキーの代わりにスペースキーなどを押すと、ok が表示される。 ここで、以下のように入力すると、先に保存した /boot/kernel.old/ から立ち上げることが出来る(あるいは、/boot/kernel.org/から)。
ok unload
ok load /boot/kernel.old/kernel
ok boot
|
勿論、このようにして /boot/kernel.old/からリブートした場合には、 カーネル再構築が失敗している事になるので、もう一度最初の 手順からやり直さなければならない(この時に必ず先に注意したように、 kernel.org ディレクトリにまともなカーネルを退避しておかないと、二度と ブートしなくなるので注意が必要である。)
再起動する際の注意点としては、 loader prompt に行くには、6 を選択すれば良いのだが、 待機時間を超すと起動してしまうので、先にスペースを押すとタイムカウントが 停止するので、しかる後にゆっくり入力すれば良い。