私の環境を記述しておく。 家庭内でLANを張っていたり接続するプロバイダが異なる場合は、このままの設定では接続できないので、各自で設定を変更して欲しい。
FreeBSD 2.2.6R Errata Notesを見ると解決方法が書いてある。
私の場合は、DESをインストールすることにした。 インストール方法は以下のようになるだろう。
+--------- Select the encryption facilities you wish to install. ---------+ | Please check off any special DES-based encryption distributions | | you would like to install. Please note that these services are NOT FOR | | EXPORT from the United States. For information on non-U.S. FTP | | distributions of this software, please consult the release notes. | | ----------------------------------------------------------------------| | | | [ ] des Basic DES encryption services | | | | [ ] krb Kerberos encryption services | | | | [ ] skerbero Sources for Kerberos IV | | | | [ ] ssecure Sources for DES | | | | [ ] scrypto Export controlled crypto sources | | | | <<< Exit Exit this menu (returning to previous) | | | +---------------------------------------------------------------------+ | +-------------------------------------------------------------------------+ | [ OK ] Cancel | +-------------------------------------------------------------------------+上のような画面が出てくるが、「[ ] krb Kerberos encryption services」の項目に決してチェックをいれないこと。 一番上の[ ] desの部分だけにチェックを入れてインストールすると良い。
以上でDESライブラリのインストールは終了だ。 これでpppコマンドが利用可能になっている筈だ。
FreeBSDページの目次に戻る(under constructing...)
Kerberosサポートを入れてしまうと、以下のような不幸が降りかかって来る。
流石は地獄の番犬だけあって、驚異的な破壊力だ...。 特に、利用率の高いsuコマンドが使えなくなるのは痛すぎる。 対応策には以下のようなものがある。
以下に、/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 set hangup "\"\" \d\d\d\d\d\d\d\d\d\d\d+++ OK-ATH0-OK" allow users george
以下に、/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 ---------------------------------------- acfcomp enable accept chap disable accept deflate enable accept lqr disable accept pap disable accept pppd-deflate disable deny pred1 enable accept protocomp enable accept vjcomp enable accept msext disable N/A passwdauth disable N/A proxy disable N/A throughput 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 600 set authname ここにユーザー名(接続アカウント名)を記述すること set authkey ここにパスワードを記述すること設定内容はリムネット横浜とあまり変わらない。 disable / deny で、ほとんど全てのオプション機能をオフにしているのが特徴と言える。 set authname , set authkey の行にユーザー名とパスワードを設定して、上のテキストを/etc/ppp/ppp.conf の最後に追加すれば良い。
# # /etc/ppp/ppp.linkup # MYADDR: delete ALL add default HISADDRこのファイルはプロバイダに接続する場合、そのままコピーすれば良いだろう。
# # /etc/resolv.conf --- rimnet yokohama # domain yk.rim.or.jp nameserver 202.247.130.5このファイルに指定できる項目には以下のようなものがある。
pppの設定が終了したので、早速利用してみよう。 FreeBSD 2.2.6Rから、pppコマンドを利用できるのはroot(スーパーユーザー)か、/etc/ppp/ppp.conf内部でallow usersに記述されているユーザー(ただし、そのユーザーはnetworkグループに登録されている必要がある)だけになっている。 一応、以下の説明ではrootになってからpppコマンドを利用する例を示す。
su コマンドを使って root になってから、
ppp rim
とタイプすると、pppが起動して以下のようなプロンプトが出る。
Working in interactive mode Using interface: tun0 ppp ON magi>
ここで、pppのプロンプトにdialというコマンドを打つとリムネット横浜にダイヤルを開始する筈だ。 見事に接続に成功すれば、以下のような表示が出てpppのプロンプトがPPPと大文字になる。
ppp ON magi> dial Dial attempt 1 of 3 Phone: 045-224-5724 dial OK! login OK! ppp ON magi> Packet mode. ppp ON magi> PPP ON magi>
画面左のPPPが大文字で表示されたら、Netscape等を起動すれば良い。
メール送信キューに溜ったメール(インターネットに接続していない状態で、外部のマシンに居るユーザ宛に出したメール)を送信するには、sendmail -q と入力すればOKだ。
また、プロバイダのPOPサーバ上に貯められているメールは、fetchmail や popclient コマンドを使って取り寄せれば良いだろう。
インターネットサーフィン(?)を堪能した後は、PPP接続を終了する。 終了方法は、closeとタイプした後、quitと入力する。
PPP ON magi>close ppp ON magi> ppp ON magi>quitFreeBSDページの目次に戻る
オンデマンドダイアルアップとは、文字通り「要求があった時にダイアルする」ことだ。 オンデマンドダイアルアップをする設定にしておくと、以下のような特典がもれなくついてくる。
オンデマンドダイアルアップ用の指定は/etc/ppp/ppp.conf内部に記述する。 上で紹介したリムネット横浜用の設定の先頭にset server 3000 iijppp、最後にdelete ALLとadd default HISADDRの行が追加されているだけである。
# # for rimnet yokohama auto # rimon: set server 3000 iijppp 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 default HISADDR
# # dti ondemand # dtion: set server 3000 iijppp 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 600 set authname ここにユーザー名(接続アカウント名)を記述すること set authkey ここにパスワードを記述すること delete ALL add default HISADDR
rootになってから
ppp -auto dtionとタイプすると、
Working in auto mode Using interface: tun0と表示した後すぐにコマンドプロンプトが返ってくる。 ここで、すかさず
ping -c 1 202.247.130.5などと、使っているプロバイダのDNSサーバのIPアドレスにpingすると、自動的にダイヤルを開始するはずだ。
FreeBSD 2.2.6Rのpppコマンドでは、ダイヤルの引金になったパケットが失われることは無くなったようだ。
(詳しくチェックしたわけではないけど、なんとなく...。)
そんなわけで、ppp -auto dtion などとしてオンデマンドダイアルアップの準備を整えた後に、おもむろにNetscape Navigatorなどを起動すると、勝手にダイヤルを開始してそのままネットサーフィンが楽しめるようになる筈だ。
オンデマンドダイアルしたiijpppを終了させるには、pppctlコマンドを使う。
pppctl -p iijppp 3000 close pppctl -p iijppp 3000 "quit all"とコマンドを入力すると、回線切断、pppの終了を行なう事ができるだろう。 -p の後には、/etc/ppp/ppp.conf内部のset serverに指定したパスワードを指定する。 このページでは、パスワードをiijpppにしている設定を紹介しているので -p iijppp と指定している。
実際に設定する場合には、こんなわかりやすいパスワードは使わないようにしよう。 iijpppにはシェルコマンドを実行する機能があるので、pppctl -p iijppp 3000 shell rm -rf / なんてやられた日には目も当てられないことになるだろう...。