How to PPP -- highwayインターネットへのつなぎ方

私はFreeBSD+IIJ-PPP+AtermIT45という組合せでつないでいる。NetBSD,BSD/OSでも ほぼ同様であろう。LinuxでもIIJ-PPPが使えるところまでくれば、後は同様で あろう。それ以外の場合でも、

FreeBSDの場合、付属の ハンドブックを見ればほぼ事足りる。ただしこれは静的IPアドレスの 場合である。highwayもそうだが、一般的なdial up(DHCP)接続の場合は ハンドブックとは少し話が違って来る。以下は、DHCP接続の場合の話である。

step 1

まずはハードウェアからcheckしよう。あなたのPCのシリアル周りは大丈夫かな? 高速modemやISDN TAを使う場合は要注意。せっかくISP(インターネット サービス プロバイダ)からmodem/TAまでは高速に来ているのに、modem/TAとPCの間でボトル ネックが生じていては悲しい。

シリアル(RS232)の古いコントローラchipは、高速な通信についてこれないものが ある。

というわけで16550A以降のモノを使おう。まれに16550Aを名乗るくせに16550と 同じbugが残っている互換品がある。単なるdumb端末ソフトで

AT\S0

とmodem/TAに何度か送信して、その応答に文字化けや文字抜けがあるようでは そのchipは使い物にならない。この先でハマらないように、確認しておこう。

OSの再構築

Windowsや漢字Talkと違い、FreeBSDやNetBSD,LinuxはOS自体をユーザーが コンパイルすることが可能である。IIJ-PPPはトンネル デバイスtun0が必要で ある。これが使えるようにOSを作ろう。と言っても、FreeBSD標準のGENERIC kernelでは既に組み込まれているので何もしなくて構わない。しかし、普通は 自分の好みに合わせてOSのkernelを作り直すのがUNIXのならわしであ襦コンフィギュレーション ファイルに

pseudo-device   tun     1

という行があるのを確認すること。あとはmake depend;make;make installだ。

/etcの設定

以下の話では自分のPCの名前をmako.yourID.highway.or.jpとする。IPアドレス はプライベート(RFC1597)な192.168.0.1を振っておこう。

/etc/hosts:
127.0.0.1       localhost       localhost.yourID.highway.or.jp
192.168.0.1     mako    mako.yourID.highway.or.jp

デフォルトでは何でもかんでもDNSを見に行くが、低速かつ高価なdial up回線 でこんなことされたらたまらんので、DNSの参照は後回しにする。

/etc/host.conf:         #hosts.confではない
hosts
#nis                    #お好みに応じて
bind

そしてhosts(やNIS)で解決できずに、bind(DNS)を見に行く時に備えて、

/etc/resolv.conf:
domain  highway.or.jp
nameserver      203.140.1.10
nameserver      203.140.1.20

(これはhighwayの場合。よその場合はISPから指定されたドメイン名、ネーム サーバのIPアドレスを記述すること。この時、間違ってもネーム サーバ の名前を書いてはいけない。その名前を引く為に、またネーム サーバに 問い合わせようとして…というのを無限に繰り返してしまう。)

/etc/pppの設定

既にサンプルがあるのでそれを見ればよい。ちなみに私の設定fileは以下の通り。 ただし、最寄りのAP(Access Point)の電話番号を${TEL},自分の利用者IDを${ID}, パスワードを${PASSWD}とする。

/etc/ppp/ppp.conf:
default:
        set device /dev/cuaa0
        set speed 115200
        disable lqr
        deny lqr
        set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" ATE1Q0N$1=1 OK-AT-OK \\dATDT\\T TIMEOUT 40 CONNECT"
highway:
        set phone ${TEL}
        set authname ${ID}
        set authkey ${PASSWD}
#       set login "TIMEOUT 10 gin:-BREAK-gin: ${ID} word: ${PASSWD}
        set login ""
        set openmode active
        set timeout 120
        disable pred1
        set ifaddr 0 0

/etc/ppp/ppp.linkup
highway:
 delete ALL
 add 0 0 HISADDR
MYADDR:
 add 0 0 HISADDR

modem/非同期ISDNの場合は set loginの行をコメント アウトされている方と 入れ換えてみて下さい。確認してないけど、多分うまくいくハズ。 (うまく いった/いかなかったという報告を頂けると幸いです)

highway以外のISPの場合は、set openmode activeの行は不要かも知れません。 このモードはISP毎にまちまちなので、自分が接続しようとしているISPに よって変えて下さい。

いざ接続

この章では、X window等のマルチ ウィンドウな環境で作業するとよいだろう。 suコマンドでroot権限になって、

# /usr/sbin/ppp

とIIJ-PPPを起動する。プロンプトに対して

ppp> dial highway

と入力するとmodem/TAが電話を掛けて接続しに行き、数秒後(ISDNの場合)

dial OK!
login OK!

と出ます。そしてうまく行けば更に数秒後に、

PPP> Packet mode

とプロンプトの'ppp'が大文字になるハズなのですが、highwayの場合 ここの認証にやたら時間が掛かって'Time out'することがあります。これは highway側の問題なのであまり気にせず、closeコマンドで回線を切って 復旧するまでしばらく間をあけてアクセスしましょう。 うまく繋がったらshow ipcpコマンドでISP側のgatewayのIPアドレスを 控えておきます。以下これを${GW}とします。神戸APでは203.140.12.2でした。 まずは基本中の基本、pingを他の窓で打ってみます。

% /sbin/ping 203.140.1.10
PING 203.140.1.10 (203.140.1.10): 56 data bytes
64 bytes from 203.140.1.10: icmp_seq=0 ttl=255 time=0.822 ms
64 bytes from 203.140.1.10: icmp_seq=0 ttl=255 time=0.822 ms
^C

うまくはね返ってきたら、次はDNSを引いてみます。

% nslookup
> ns.highway.or.jp
逆引きも試す
> 203.140.1.10

うまくいきましたか?ホスト名やIPアドレスが表示されずに、not foundtime outと言われるようなら、/etc/resolv.conf, /etc/host.confを 確認しましょう。電話を切るにはPPPのプロンプトに対して、

PPP> close

です。控えておいた${GW}を/etc/ppp/ppp.confに反映させましょう。先の設定例 で、

        set ifaddr 0 0

となっていた行を、

        set ifaddr 0 ${GW}/0

とします。

うまくいかなかった場合は、にメールするかネットニュースで質問すれば よいのですが、その際ppp.logを忘れずに付けて下さい。

快適な家庭内LANの構築

以上で一般的な接続が可能になったので、あとはnetscapeなりjp-chimeraなり、 lynxなりでWin95等の環境と同様にネット サーフィンを楽しめば良い。しかし、 家庭内LANを組んでいる場合は、modem/TAが直接繋がっているマシン以外からも 利用したくなるだろう。また、ISDN64kごときの速度では'ネット サーフィン' とは程遠い感覚であろう。highwayの場合は特に、name serverの反応が遅いの でなおさらである。以下ではFreeBSD上に、家庭内ISPさながらのserver群を構築し、 これらの問題を一気に解決する。~/netscape/cacheからWWW pageを再生する… 等といったみみちいことをわざわざしなくても、 快適に文字通りのネット サーフィン感覚が味わえることだろう。

FreeBSDに家庭内ISP構築

Powered by FreeBSD For questions or comments, please send mail to: nkazushi@highway.or.jp