SLIPクライアントのセットアップ

原作: 浅見 賢 8 Aug 1995.

訳: 花井浩之 8 August 1996.

ここには FreeBSD マシンを静的アドレスのネットワークにつなげる場合の SLIPのセットアップの一つの方法を書いてあります. ホスト名を動的に割り当てる(つまり, ダイヤルアップするたびにアドレスが かわる)ためには, おそらくもっと凝ったことが必要です.

まず, モデムがどのシリアルポートにつながっているか決めましょう. 私は /dev/cuaa1 から /dev/modemへというシンボリックリンクを張り, コンフィグレーションではその名前だけを使っています. /etc.kermrc など, システム全体に散らばっているファイルを修正する 必要がでるとまったく煩わしいのです!

Note: ここで, /dev/cuaa0 COM1であり, cuaa1COM2です.

カーネルのコンフィグレーションファイルに

pseudo-device   sl      1
という記述があるのを確認してください. これは GENERIC カーネルに含まれている ので削除していない限り大丈夫でしょう.

最初の設定

  1. /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と呼ばれています).

  2. /etc/host.conf ファイル中で hostsbind よりも前にあること を確認してください. さもないとヘンなことが起こるかもしれません.

  3. /etc/rc.conf ファイルを編集してください. なお, お使いの FreeBSD が 2.2.2 よりも前のバージョンのものの場合は, /etc/sysconfig を編集してください.

    1. hostname=myname.my.domain
      

      を編集してホスト名をセットしてください. 完全なInternetホスト名を与えるべきです.

    2. network_interfaces="lo0"
      

      network_interfaces="lo0 sl0"
      

      へ変更することにより ネットワークインタフェースのリストに sl0 を加えてください.

    3. ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"
      

      を加えて sl0 のスタートアップフラグをセットしてください.

    4. defaultrouter=NO
      

      defaultrouter=slip-gateway
      

      へ変更してデフォルトのルータを 指定してください.

  4. 次の

    domain HIP.Berkeley.EDU
    nameserver 128.32.136.9
    nameserver 128.32.136.12
    

    という内容を含むファイル /etc/resolv.conf を作ってください. 見ればわかるように, これらはネームサーバホストを設定しています. もちろん, 実際のドメイン名やアドレスは あなたの環境に依存します.

  5. root と toor (及びパスワードを持っていない他のアカウントすべて) のパスワード を設定してください. passwdコマンドを使いましょう. /etc/passwd /etc/master.passwd といったファイルを編集してはいけません!

  6. マシンを再起動して正しいホスト名で 立ち上がることを確認してください.

SLIP接続をおこなう

  1. モデムを起動, つながったらプロンプトで 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とタイプするだけです.

    Note: ファイルシステムのどんなところにもプレインテキスト にパスワードを書いておくのは一般的にはよくありません. 覚悟の上で やってください. 私は単に不精なだけです.

  2. ここで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回目で落ちます.

トラブルシューティング

もし動かなければ自由に私に質問してください. 今までいろんな人がつまずいた のは次のようなことです.