※ 1回線の場合はカーネルの再構築の必要はありません。
多回線化の準備としてカーネルの再構築を行います。
回線数分のシリアルポート(sio)を扱えるようにし、トンネルデバイスを使えるようにします。
カーネル設定ファイルの作成
/usr/src/sys/i386/conf/GENERIC を /usr/src/sys/i386/conf/RAS 等の適当な名前でコピーします。(赤字の部分は自由です)
コンフィグレーションファイル(/usr/src/sys/i386/conf/RAS)に以下の行が存在するようにします。他も必要な部分を適切に変更して下さい。
4回線の場合のカーネルコンフィグレーションの必須項目
device sio0 at isa? port "IO_COM1" tty irq4 device sio1 at isa? port "IO_COM2" tty irq3 device sio2 at isa? port "IO_COM3" tty irq5 device sio3 at isa? port "IO_COM4" tty irq10 pseudo-device tun 4
上の例の場合では4回線分のsioポートにそれぞれIRQ4,3,5,10を割り当てています。
他の拡張カードとIRQが競合しないように適切に割り当てます。
トンネルデバイスの数はsioポートと同じ数にしておけば問題無いでしょう。
回線数が5以上であればインテリジェント型のシリアルカードを準備します。
(回線数が増えると非インテリジェントタイプだとCPUの占有率が非常に高くなり処理が重くなります)
この場合は使用するカードに合わせて適切に変更して下さい。
RASサーバでよく使うその他のカーネルコンフィグレーションのオプション
options IPFIREWALL # <--ipfwを使う場合 options IPFIREWALL_VERBOSE # <--ipfwでログを取る場合 options IPDIVERT #NATを使用する場合
旧 カーネルのコンパイル手順 (FreeBSD 2.* 3.* 4.*)
# cd /usr/src/sys/i386/conf # config RAS # cd ../../compile/RAS # make depend # make all # make install
新 カーネルのコンパイル手順 (FreeBSD 4.*~)
# cp /usr/src/sys/i386/conf/GENERIC /usr/src/sys/i386/conf/RAS # ee /usr/src/sys/i386/conf/RAS # cd /usr/src # make buildkernel KERNCONF=RAS # make installkernel KERNCONF=RAS
/etc/make.confにKERNCONF=RASという一行を書いておけばここでKERNCONF=RASを指定する必要はありません。
カーネルを再構築してshutdown -r nowでリブートしたら必要なだけtunデバイスを作成します。
例 (rootでコンソールに入力)
# cd /dev
# ./MAKEDEV tun0 tun1 tun2 tun3
正しく設定されているかは ifconfig -a で調べます。
/dev/cuaa*も確認し必要な回線数分存在しなければ作成します。
例 (rootでコンソールに入力)
cd /dev
./MAKEDEV cuaa0 cuaa1 cuaa2 cuaa3
/etc/rc.confファイル内に gateway_enable="YES" を記述します。