説明でも述べているように, ``ppp'' はカーネルの ``tun'' デバイスを使います. そのため, このデバイスがカーネルに組み込まれているかどうか 確認しておかなくてはいけません.
これを確認するには, カーネルコンパイルディレクトリ (おそらくは /sys/i386/conf) に移動して, カーネルコンフィグレーション ファイルを調べます. 以下の行がどこかに含まれている必要があります.
pseudo-device tun 1
元々の GENERIC カーネルは標準でこれを含んでいますので, カスタムカーネルをインストールしているのではなかったり, /sys ディレクトリが存在しないのであれば, 何も変更する必要はありません. この行がカーネルコンフィグレーションファイルに含まれていなかったり, tun デバイスが一つでは足りない場合 (例えば, 同時に 16 本の ダイアルアップ ppp 接続を処理できるサーバを立ち上げるとしたら, ``1'' のかわりに ``16'' を指定する必要があるでしょう), この行を追加して カーネルの再コンパイルとインストールをおこなう必要があります. それからこの新しいカーネルを使ってブートしてください. カーネルコンフィグレーションの詳細については, FreeBSD カーネルのコンフィグレーション を参照してください.
以下のコマンドを実行することで, 現在のカーネルに いくつのトンネルデバイスが組み込まれているかを調べることができます:
# ifconfig -a
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 200.10.100.1 --> 203.10.100.24 netmask 0xffffffff
tun1: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 576
tun2: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 203.10.100.1 --> 203.10.100.20 netmask 0xffffffff
tun3: flags=8050<POINTOPOINT,RUNNING,MULTICAST> mtu 1500
この例ではトンネルデバイスが四つあって, うち二つに設定がおこなわれていて 現在使用中であることがわかります.
トンネルデバイスがカーネルに組み込まれておらず, 何らかの理由で カーネルの再構築ができない場合でも, 方法がないわけではありません. 動的にデバイスをロードすることができるはずです. 詳細については modload(8) や lkm(4) など, 適切なマニュアルを参照してください.
この機会にファイアウォールも設定したいと思っているのであれば, 詳細については ファイアウォールセクションを 参照してください.