next up previous contents
Next: 6.3.3 カーネルの設定ファイル Up: 6.3 IPFilter Previous: 6.3.1 インストール方法

6.3.2 カーネルの再構築

IPFilter は非常に多くの OS に対応したソフトです。多くのソフトに 対応出来ている理由は、現代的なカーネルの持つモジュールに対応して いるからで、カーネルを再構築せずにモジュールをダイナミックに カーネルに組み込む事が出来る仕組みによっています。しかし、きちんと したファイアーウォールを作る場合には、カーネルを再構築出来る場合には 再構築した方が良いでしょう。FreeBSDでは、カーネルの再構築は非常に 容易に行えるようになっているので、ここではカーネルを再構築した上で 設定することにします。

カーネルを再構築する場合には基本的には以下の流れになります。

  1. 編集
    /usr/src/sys/i386/conf ディレクトリに移動し、適当なファイルを参考に(GENERIC 及び LINT)カーネル設定ファイルを作成します(詳細は後述)。
  2. コンフィグ
    カーネル設定ファイルに従って必要なディレクトリやファイルを用意します。 これは config コマンドが自動的に行ってくれます。カーネル設定ファイル の名前が MYKERNEL だったならば、
        #  config  MYKERNEL
    
    で終りです。
  3. make
    config の最後に指示が出ますが、../compile/MYKERNEL に移動し、
        #  make depend
        #  make
    
    を実行します。カーネル設定ファイルに誤りがなければ、新しいカーネルが 出来ます。
  4. カーネルのインストール
    カーネルがうまく出来れば、それをインストールして再起動します。
        #  make install
        #  shutdown  -r  now
    

    この時に、新しいカーネルが /boot/kernel/ としてインストされ、 古いカーネルは /boot/kernel.old/ ディレクトリに自動的にリネームされるが、 カーネルのインストを何度も行うと、/boot/kernel.old/ は上書きされ てしまうので、以前のカーネルを残したい場合には、

        mv /boot/kernel.old /boot/kernel.org
    

    に変更しておく。こうしておくと、現在、動いているカーネルは /kernel.org として保存されるので、万一新しいカーネルで ブートできなかった時にも、このカーネルを使って再起動する事が 出来る。

  5. 再起動と立ち上がらない場合

    カーネルインストールが成功すれば、後は再起動して動くかどうか見てやれば よい。もし、起動しなければ、リセットして再起動し、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 を選択すれば良いのだが、 待機時間を超すと起動してしまうので、先にスペースを押すとタイムカウントが 停止するので、しかる後にゆっくり入力すれば良い。

    \epsfile{file=bsdboot,scale=0.5}



Noriyo Kanayama