SLIPクライアントのセットアップ
原作: &a.asami;8 Aug 1995.
訳: &a.hanai;8 August 1996.
ここにはFreeBSDマシンを静的アドレスのネットワークにつなげる場合の
SLIPのセットアップの一つの方法を書いてあります.
ホスト名を動的に割り当てる(つまり, ダイヤルアップするたびにアドレスが
かわる)ためには, おそらくもっと凝ったことが必要です.
まず, モデムがどのシリアルポートにつながっているか決めましょう. 私は
/dev/modem -> cuaa1というシンボリックリンクを張り,
コンフィグレーションではその名前だけを使っています. /etc
や.kermrcなど、システム全体に散らばっているファイルを修正する
必要がでるとまったく煩わしいのです!(ここで, /dev/cuaa0は
COM1であり, cuaa1はCOM2です.)
カーネルのコンフィグレーションファイルに
pseudo-device sl 1
という記述があるのを確認してください. これはGENERICカーネルに含まれている
ので削除していない限り大丈夫でしょう.
最初の設定
- /etc/hostsファイルにあなたのマシンのゲートウェイとネームサーバ
を加えてください. 私のは以下のようになっています.
127.0.0.1 localhost loghost
136.152.64.181 silvia.HIP.Berkeley.EDU silvia.HIP silvia
136.152.64.1 inr-3.Berkeley.EDU inr-3 slip-gateway
128.32.136.9 ns1.Berkeley.edu ns1
128.32.136.12 ns2.Berkeley.edu ns2
余談ですが, silviaというのは私が日本にいた時に持っていた
車の名前です(米国では2?0SXと呼ばれています).
- /etc/host.confファイル中で"hosts"が"bind"よりも前にあること
を確認してください. さもないとヘンなことが起こるかもしれません.
- /etc/sysconfigファイルを編集してください.
- 行
hostname=myname.my.domain
を編集してホスト名をセットしてください.
完全なInternetホスト名を与えるべきです.
- 行
network_interfaces="lo0"
を
network_interfaces="lo0 sl0"
へ変更することによりネットワークインタフェースのリストにsl0を加えてください.
- 行
ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"
を加えてsl0のスタートアップフラグをセットしてください.
- 行
defaultrouter=NO
を
defaultrouter=slip-gateway
へ変更してデフォルトのルータを指定してください.
- 次の
domain HIP.Berkeley.EDU
nameserver 128.32.136.9
nameserver 128.32.136.12
という内容を含むファイル /etc/resolv.conf を作ってください.
見ればわかるように, これらはネームサーバホストを設定しています.
もちろん, 実際のドメイン名やアドレスはあなたの環境に依存します.
- rootとtoor(及びパスワードを持っていない他のアカウントすべて)のパスワード
を設定してください. passwdコマンドを使いましょう. /etc/passwd
や /etc/master.passwd といったファイルを編集してはいけません!
- マシンを再起動して正しいホスト名で立ち上がることを確認してください.
SLIP接続をおこなう
- モデムを起動、つながったらプロンプトで"slip"とタイプし, マシン名と
パスワードを入力してください. 入力する必要があるものは環境に
よって異なります. 私は次のようなスクリプトでkermitを使っています.
# kermit setup
set modem hayes
set line /dev/modem
set speed 115200
set parity none
set flow rts/cts
set terminal bytesize 8
set file type binary
# The next macro will dial up and login
define slip dial 643-9600, input 10 =>, if failure stop, -
output slip\x0d, input 10 Username:, if failure stop, -
output silvia\x0d, input 10 Password:, if failure stop, -
output ***\x0d, echo \x0aCONNECTED\x0a
(もちろん, ホスト名とパスワードは変える必要があります).
接続するためにはkermitのプロンプトで"slip"とタイプするだけです.
注意: ファイルシステムのどんなところにもプレインテキスト
にパスワードを書いておくのは一般的にはよくありません. 覚悟の上で
やってください. 私は単に不精なだけです.
- ここでkermitから抜け出し("z"でkermitをサスペンドできます), root
で
slattach -h -c -s 115200 /dev/modem
と入力しましょう.
もしルータの向う側のホストへ"ping"できるなら接続成功です! もしうまく
いかなければslattachへの引数として"-c"の代わりに"-a"とやってみてください.
接続の切り方
slattachを殺すためにrootで "kill -INT `cat /var/run/slattach.modem.pid`"
とタイプしてください. そしてkermitに戻り(もしkermitをサスペンドしていたなら
"fg"), kermitから抜けてください("q").
slattachのマニュアルページにはインタフェースを落すために
"ifconfig sl0 down"をしなければいけないと書いていますが,
私には差がないように見えます.
("ifconfig sl0"とやっても同じ結果が得られる.)
時にはモデムがキャリアを落すのを拒絶するかもしれません(私のは
よくそうなります). その時は単にkermitをスタートしてまた終了
してください.
普通は2回目で落ちます.
トラブルシューティング
もし動かなければ自由に私に質問してください. 今までいろんな人がつまずいた
のは次のようなことです.
- slattachで"-c"や"-a"を使わなかった(私はなぜこれが致命的になり得るのか
わかりませんが, このフラグを付けることで少なくとも一人の問題は解決しました.)
- "sl0"の代わりに"s10"を使った(いくつかのフォントでは見分けるのは難しい
かもしれません).
- インタフェースの状態を見るために"ifconfig sl0"をやってみてください.
私は,
silvia# ifconfig sl0
sl0: flags=10
inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00
となります.
- また, pingが"no route to host"というメッセージを返す時には
netstat -rでルーティングテーブルを確認しましょう。
私のは,
silvia# netstat -r
Routing tables
Destination Gateway Flags Refs Use IfaceMTU Rtt
Netmasks:
(root node)
(root node)
Route Tree for Protocol Family inet:
(root node) =>
default inr-3.Berkeley.EDU UG 8 224515 sl0 - -
localhost.Berkel localhost.Berkeley UH 5 42127 lo0 - 0.438
inr-3.Berkeley.E silvia.HIP.Berkele UH 1 0 sl0 - -
silvia.HIP.Berke localhost.Berkeley UGH 34 47641234 lo0 - 0.438
(root node)
となります.
(これはたくさんのファイルを転送した後でのもので, あなたの見る数字はもっと小さいかも
しれません).