私の環境を記述しておく。 家庭内でLANを張っていたり接続するプロバイダが異なる場合は、このままの設定では接続できないので、各自で設定を変更して欲しい。
以下に、/etc/ppp/ppp.confファイルの例(default:の部分)を示す。
# # /etc/ppp/ppp.conf # default: set device /dev/cuaa0 set speed 38400 set log Carrier Link Phase Chat Connect set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 10 \"\" ATZ OK-AT-OK \\dATDT\\T TIMEOUT 65 CONNECT" set openmode active disable lqr deny lqr set redial random 3
以下に、/etc/ppp/ppp.confファイルの例(rim:部分)を示す。
# # for rimnet yokohama # rim: disable lqr deny lqr disable pred1 deny pred1 disable pap accept pap disable chap deny chap set ifaddr 10.0.1.1/0 10.0.1.2/0 set phone 045-224-5724 set timeout 600 set authname ここにユーザー名(接続アカウント名)を記述すること set authkey ここにパスワードを記述すること
Current configuration option settings.. Name My Side His Side ---------------------------------------- vjcomp enable accept lqr disable accept chap disable accept pap disable accept acfcomp enable accept protocomp enable accept pred1 enable accept proxy disable N/A msext disable N/A passwdauth disable N/A utmp enable N/A
set ifaddr というコマンドは、PPP接続する際に自分側のIPアドレスと相手側のIPアドレスをこの範囲内に収まるように決定してねという指定を行うものだ。 記述方法は、set ifaddr 自分側IPアドレス範囲 相手側IPアドレス範囲となる。 IPアドレス範囲は、IPアドレス[/マスクビット数]と指定する。 マスクビット数はIPアドレスうち、重要な範囲(変えたくない範囲)を限定するためのビット長で、0から32までの整数を指定して、IPアドレスの上から何ビットを変えて欲しくないかを指定する。 マスクビット数が省略された場合は32が指定されたと解釈する。 ただし、IPアドレスが0.0.0.0だった場合は、相手側のIPアドレスの提案を無条件で受け付ける設定になる。たとえば、10.0.0.1/8 と指定した場合は、10.0.0.1の上から8ビットを変えない幅でIPアドレスをつけてくれという設定だ。 IPアドレスは通常8ビット単位で.(ピリオド)で区切って表現するので、一番上の10だけは変えないでくれという指定をしたことになる。 というわけで、10.0.0.1から10.255.255.255までの範囲でIPアドレスを割り当ててくれという意味になる。
set ifaddr の部分の設定をきちんと行うには、プロバイダ側のIPアドレスが何番なのか、プロバイダがユーザ側に割り当てるIPアドレスは何番から何番までなのかという情報が不可欠だ。
今回は、set ifaddr 10.0.1.1/0 10.0.1.2/0 と指定している。 この指定では、自分は10.0.1.1、相手は10.0.1.2というIPアドレスを最初に提案している。 ただし、マスクビット数に0を指定しているので、「10.0.1.1の上から0ビットを変えないでくれ」、すなわち、「全部のビットを変えてもいいです」と指定することによって、プロバイダ側のIPアドレスの提案をそのまま利用することにしている。
/etc/ppp/ppp.confファイルの例(DTI部分を抜粋)
# # for DTI matsudo # dti: disable lqr deny lqr disable msext disable vjcomp deny vjcomp disable acfcomp deny acfcomp disable protocomp deny protocomp disable pred1 deny pred1 disable pap accept pap disable chap deny chap set ifaddr 10.0.1.1/0 10.0.1.2/0 set phone 340-3611 set timeout 0 set authname ここにユーザー名(接続アカウント名)を記述すること set authkey ここにパスワードを記述すること設定内容はリムネット横浜とあまり変わらない。 disable / deny で、ほとんど全てのオプション機能をオフにしているのが特徴と言える。 set authname , set authkey の行にユーザー名とパスワードを設定して、上のテキストを/etc/ppp/ppp.conf の最後に追加すれば良い。
# # /etc/ppp/ppp.linkup # MYADDR: delete ALL add 0 0 HISADDRこのファイルはプロバイダに接続する場合、そのままコピーすれば良いだろう。
# # /etc/ppp/ppp.secret # magi iijpppホスト名の部分(magiの部分)は、各自のホスト名に変更する必要がある。
続いて、chmod 400 /etc/ppp/ppp.secret として、パスワードファイルをrootしか読み書きできなくしておこう。
ちなみに、上のパスワードはすご〜く投げやりな例なので、そのまま真似してはいけない(^^;)。
ppp.secretファイルを記入しなくとも、インタラクティブモード(下で利用しているモード)は利用できる。 しかし、ppp -auto や ppp -backgournd などの自動実行モードを使う場合には、ppp.secretファイルを記入しておかないと、ppp 自体がエラーメッセージを出して起動しないのだ。
余談だが、ここで設定したパスワードは pppctl コマンドなどで使うことになる。 ppp -auto などで自動起動した後に、pppctl -p iijppp 3000 close などとすると、他のプロセスからpppに対して close の動作をさせることができる。
# # /etc/resolv.conf --- rimnet yokohama # domain yk.rim.or.jp nameserver 202.247.130.5このファイルに指定できる項目には以下のようなものがある。
ppp rimとタイプすると、pppが起動して以下のようなプロンプトが出る。
User Process PPP. Written by Toshiharu OHNO. Using interface: tun0 Interactive mode ppp ON magi>ここで、pppのプロンプトにdialというコマンドを打つとリムネット横浜にダイヤルを開始する筈だ。 見事に接続に成功すれば、以下のような表示が出てpppのプロンプトがPPPと大文字になる。
ppp ON magi> dial dial OK! login OK! ppp ON magi> Packet mode. PPP ON magi>画面左のPPPが大文字で表示されたら、Netscape等を起動すれば良い。
メール送信キューに溜ったメール(インターネットに接続していない状態で、外部のマシンに居るユーザ宛に出したメール)を送信するには、sendmail -q と入力すればOKだ。
また、プロバイダのPOPサーバ上に貯められているメールは、fetchmail を使って取り寄せれば良いだろう。
インターネットサーフィン(?)を堪能した後は、PPP接続を終了する。 終了方法は、closeとタイプした後、quitと入力する。
PPP ON magi>close ppp ON magi> ppp ON magi>quit
# # for rimnet yokohama auto # rimon: disable lqr deny lqr disable pred1 deny pred1 disable pap accept pap disable chap deny chap set ifaddr 10.0.1.1/0 10.0.1.2/0 set phone 045-224-5724 set timeout 600 set authname ここにユーザー名(接続アカウント名)を記述すること set authkey ここにパスワードを記述すること delete ALL add 0 0 HISADDR
# # dti ondemand # dtion: disable lqr deny lqr disable msext disable vjcomp deny vjcomp disable acfcomp deny acfcomp disable protocomp deny protocomp disable pred1 deny pred1 disable pap accept pap disable chap deny chap set ifaddr 10.0.1.1/0 10.0.1.2/0 set phone 340-3611 set timeout 0 set authname ここにユーザー名(接続アカウント名)を記述すること set authkey ここにパスワードを記述すること delete ALL add 0 0 HISADDR
rootになってから
ppp -auto dtionとタイプすると、すぐにコマンドプロンプトが返ってくる。 ここで、すかさず
ping -c 1 202.247.130.5などと、使っているプロバイダのDNSサーバのIPアドレスにpingすると、自動的にダイヤルを開始するはずだ。
ただし、このままではダイヤルの引金を引いたパケットは失われることに注意しよう。 ここではダイヤルさせるためだけにpingしているし、ping自体は成功しなくとも良いのでパケットが失われても問題は無い。 しかし、本当に必要なパケットを引金にしてオンデマンドダイアルアップを行ないたい場合にはiij-pppにNATパッチをあてる必要がある。
NATパッチについては、FreeBSD インターネット接続&設定を紹介しているページへのリンク内部でリンクしているオンデマンド dialup PPPに挑戦の巻などが詳しいので、参考にして欲しい。
オンデマンドダイアルしたiijpppを終了させるには、pppctrlコマンドを使う。
pppctl -p iijppp 3000 close pppctl -p iijppp 3000 quitとコマンドを入力すると、回線切断、iijpppの終了を行なう事ができるだろう。 -p の後には、/etc/ppp/ppp.secretに指定したパスワードを指定する。 このページでは、パスワードをiijpppにしている設定を紹介しているので -p iijppp と指定している。
実際に設定する場合には、こんななげやりなパスワードは使わないようにしよう。 iijpppはroot権限で実行されており、iijpppにはシェルコマンドを実行する機能があるので、pppctl -p iijppp 3000 shell rm -rf / なんてやられた日には目も当てられないことになるのだ...。