次のページ 前のページ 目次へ

9. カーネルのコンパイル - Linux 1.2.13 の場合

設定プロセスを始める際には、インストールを正しく行うために README ファ イルの指示に従ってください。カーネルの設定は

make config

で始めます。

PPP を使うためには PPP 機能をカーネルに組みこむように設定します(PPP は pppd とカーネルに組みこまれた PPP ドライバの双方が必要です)。


  PPP (point-to-point) support (CONFIG_PPP) [n] y

その他の設定は、あなたの PC に組みこまれたハードウェアや使いたい Linux の機能に合せて選択してください。次に、README に従ってコンパイルし、新 しいカーネルをインストールします。

1.2.13 カーネルでは 4 つの PPP デバイスしか作りません。マルチポートシ リアルカードを使う場合、カーネルの PPP ドライバのソースを修正して、よ り多くのポートが使えるようにしてください(必要な修正の詳細については PPP-2.1.2 付属の README.linux に説明してあります)。

注意:1.2.13 の make config の設定は後には戻りません。ですか ら、間違えた場合は CTRL C を押して終了し、再度始めから設定してください。

9.1 カーネルのコンパイル - Linux 1.3.x と 2.0.x の場合

2.0.x でも 1.2.13 と同様の手順になります。この場合も、ソースを正し くインストールするには README ファイルの指示に従ってください。カーネル の設定は

make config

で始めます。

2.0.x では

make menuconfig

も使えます。

make menuconfig はメニューベースの設定システムで、オンライン ヘルプも用意され、好きなところから設定することが可能です。

X ウィンドウベースの設定システムである

make xconfig
を使うことも可能です。

PPP 機能は直接カーネルに組みこむこともできますし、実行時ロードモジュー ルとしてコンパイルすることも可能です。PPP を使うのはごく限られた時間だ け、という場合は PPP 機能はモジュールとしてコンパイルした方がいいでしょ う。'kerneld' を使えば PPP 接続を開始しようとした際に自動的に PPP 接続 に必要なモジュールを組みこむことができます。こうしておけばメモリ空間を 節約できます:カーネル本体がメモリからスワップアウトすることはありませ んが、'kerneld' が組みこんだ実行時ロードモジュールは、必要が無くなれば 自動的に取りはずされます。

kerneld を使うためには、動的ロードモジュールを使用可能にします。


        Enable loadable module support (CONFIG_MODULES) [Y/n/?] y

PPP 機能をカーネルに組みこむ場合、以下の設定をします。


        PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?]  

PPP をモジュールにする場合はMと答えます。カーネルに組みこみた い場合はYと答えてください。

1.2.13 とは異なり、2.0.x のカーネルでは PPP デバイスは必要に応じて動的 に作成されるので、PPP デバイスの制限数に関する修正を行う必要はありません。

9.2 PPP-2.2 と /proc/net/dev について

PPP-2.2 を使っている場合、デバイスが動的に作成される機能の副作用として、 pppd を起動するまでは /proc/net を見ても PPP デバイスは見つか りません


[hartr@archenland hartr]$ cat /proc/net/dev
Inter-|   Receive                  |  Transmit
 face |packets errs drop fifo frame|packets errs drop fifo colls carrier
    lo:  92792    0    0    0    0    92792    0    0    0     0    0
  eth0: 621737   13   13    0   23   501621    0    0    0  1309    0

しかしながら、いったん PPP サービスを開始すれば、必要なデバイスは以下 のように見えるようになります(私の運用している ppp サーバの例です)


[root@kepler contrib]# cat /proc/net/dev
Inter-|   Receive                  |  Transmit
 face |packets errs drop fifo frame|packets errs drop fifo colls carrier
    lo: 428021    0    0    0    0   428021    0    0    0     0    0
  eth0:4788257  648  648  319  650  1423836    0    0    0  4623    5
  ppp0:   2103    3    3    0    0     2017    0    0    0     0    0
  ppp1:  10008    0    0    0    0     8782    0    0    0     0    0
  ppp2:    305    0    0    0    0      297    0    0    0     0    0
  ppp3:   6720    7    7    0    0     7498    0    0    0     0    0
  ppp4: 118231  725  725    0    0   117791    0    0    0     0    0
  ppp5:  38915    5    5    0    0    28309    0    0    0     0    0

9.3 カーネル設定のその他の設定について

あなたの Linux マシンを PPP サーバとして設定する場合、IP フォーワード 機能も組みこんでおく必要があります。IP フォーワード機能は、複数の LAN を接続する場合や LAN をインターネットに接続する場合も必要です。

LAN をインターネットに接続する場合(あるいは 2 つの LAN を接続する場合)、 セキュリティについて注意しなければなりません。カーネルに IP ファイアー ウォールの機能を組みこむことも必須です。

以前に述べたように、閉じたネットワーク用の IP 番号を使っているネットワー クをインターネットに接続する場合、IP masquerade の機能が必要になります。

コンパイルしたカーネルをインストールして再起動すれば、PPP 接続の設定と テストが可能になります。


次のページ 前のページ 目次へ