ローカルなIPアドレス空間を使用したLAN上から、ダイヤルアップルータをゲートウェイとしてインターネットの世界に飛び出して行くには、NAT機能を使い「ローカルIPアドレス←→グローバルIPアドレス」の変換をしてやる必要があります。(そのパソコンがLANに接続されていない時(つまり、通常はIPアドレスが割り振られていない時)は、そのような必要はありません。単純に「IPアドレスを自動的に取得」する設定でダイヤルアップしてやれば良いだけです。)
iij-pppには標準でPacket AliasingというNAT機能が実装されていますが、特定のサービスのデータが通らない等、機能的には少々物足りないもの(らしい)です。
ということで、今回は佐藤 淳一@アステックさんが作られたNATパッチ(NOROPさんのOnDemand patch機能も含まれている)を元にiij-pppにNAT機能を組み込むことにします。(今回使用したFreeBSD 2.2.1-R用NATパッチでは、CU-SeeMeのデータが通らないらしいのですが、取りあえずCU-SeeMeで遊ぶことは無いので気にしないことにします。)
NATパッチを入手します。佐藤さんのホームページから、FreeBSD 2.2.1-R用のNATパッチを入手します。 | |
iij-pppのオリジナルソースに、NATパッチを充てます。iij-pppのソースファイルのあるディレクトリ(/usr/src/usr.sbin/ppp)の親ディレクトリ(/usr/src/usr.sbin)上にNATパッチをコピーし、patchを充てます。 | |
iij-pppのコンパイルpatchが正常に充たったら(rejectファイルが吐かれてないのを確認したら)、iij-pppのソースがあるディレクトリに移動し、iij-pppのコンパイルを行います。 | |
コンフィギュレーションファイルの修正を行います。(1) /etc/ppp/ppp.confを修正します。 | |
/etc/start_if.tun0 を作成します。 (すみません。実は私、このシェルスクリプトがどのタイミングで起動されるものなのか、全然知りません。(^^;NOROPさんのホームページに、「/etc/start_if.tun0 を作成して下さい」と書いてあったので作りました。(^^;) /etc/start_if.tun0 の中身 | |
以上の設定が終了したら、マシンをリブートします。 | |
マシンが起動されたら、iij-pppをAUTOモードで起動しておきます。# ppp -auto c-dasauto |
以上で、PC-9801BXをダイヤルアップルータ(リモートアクセスルータ)として利用するための設定は終了です。
後は(クライアント側の設定を行えば)、外向けの(インターネットに出ていく)パケットが流れてくれば、PC-9801BXが自動でダイヤルアップをしてインターネットに接続してくれます。
尚、私の知識不足のために、このページでは各設定の『意味』については全然説明していませんので、是非、佐藤さんやNOROPさんのホームページを確認されることをお勧めします。