FreeBSD ハンドブック
Prev | Chapter 19. PPP と SLIP | Next

# 19.5. SLIP の利用

原作: 浅見 賢 `<asami@FreeBSD.org>`,Guy Helmer `<ghelmer@FreeBSD.org>`, 協力: Wilko Bulte `<wilko@FreeBSD.org>`, Piero Serini `<piero@FreeBSD.org>`.

訳: 花井 浩之 `<hanai@FreeBSD.org>` 1996 年 8 月 8 日.

## 19.5.1. SLIPクライアントのセットアップ

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

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

> Note: ここで, `/dev/cuaa0`は `COM1`であり, `cuaa1`は`COM2`です.

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

    pseudo-device   sl      1

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

### 19.5.1.1. 最初の設定

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

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

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. マシンを再起動して正しいホスト名で 立ち上がることを確認してください.

### 19.5.1.2. 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`とやってみてください.

### 19.5.1.3. 接続の切り方

slattachを殺すためにrootで

    # kill -INT `cat /var/run/slattach.modem.pid`

とタイプしてください. そして kermit に戻り (もしkermitをサスペンドしていたなら `fg`), kermitから抜けてください (`q`).

slattachのマニュアルページにはインタフェースを落すために `ifconfig sl0 down`をしなければいけないと書いていますが, 私には差がないように見えます. (`ifconfig sl0`とやっても同じ結果が得られる.)

時にはモデムがキャリアを落すのを 拒絶するかもしれません(私のは よくそうなります). その時は単にkermitをスタートしてまた終了 してください. 普通は2回目で落ちます.

### 19.5.1.4. トラブルシューティング

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

- slattach で `-c` や `-a` を使わなかった(私はなぜこれが致命的になり得るのか わかりませんが, このフラグを付けることで少なくとも一人の 問題は解決しました.)

- `sl0` の代わりに `s10` を使った(いくつかのフォントでは見分けるのは難しい かもしれません).

- インタフェースの状態を見るために `ifconfig sl0` をやってみてください. 私は,

      # ifconfig sl0
      sl0: flags=10<POINTOPOINT>
              inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00

  となります.

- また, pingが “no route to host” というメッセージを返す時には `netstat -r`でルーティングテーブルを確認しましょう. 私のは,

      # 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)

  となります. (これはたくさんのファイルを転送した後でのもので, あなたの見る数字はもっと小さいかも しれません).

## 19.5.2. SLIPサーバのセットアップ方法

訳: 冨田 重成 `<ts@icu.ac.jp>`. 1996 年 9 月 6 日.

この文書の目的は, SLIPサーバ機能を FreeBSDシステムのもとで設定するため の助言を提供することです. SLIPサーバ機能を設定するということは, リモー トの SLIPクライアントがログインできるようにするために, 自動的に接続処 理をおこなうようにすることです. この文書は著者の経験に基づいておりますが, 実際のシステム構成や要望は異なりますから, すべての疑問にこの文書が答え ることはできません. なお, ここでの助言を試みた結果, あなたのシステムへ の悪影響やデータの損失が生じたとしても, 著者が責任を持つことはできませ んのでご了解をお願いします.

### 19.5.2.1. 前提

この文書の内容はテクニカルなものなので, 前提知識が必要です. すなわち, TCP/IPネットワークプロトコルについての知識, 特に, ネットワークとノード のアドレス指定をはじめ, ネットワークアドレスマスク, サブネット化, ルー ティング, および RIPなどのルーティングプロトコルなどに関する知識を前提 としています. ダイヤルアップサーバで SLIP機能を設定するためには, これ らの概念についての知識が必要ですから, もし不案内であると思われる方は, O'Reilly & Associates, Inc.から出版されている Craig Hunt氏の TCP/IP Network Administration (ISBN 0-937175-82-X)か, または Douglas Comer氏の TCP/IPプロトコルに関する一連の書籍をお読みください.

前提知識に加え, さらに, モデムの設定が完了しており, そのモデムを経由し てログインできるように, システムファイル群が適切に記述できているものと 仮定しています. もしモデムの準備ができていないときには, あらかじめダイヤ ルアップ機能の設定についてのチュートリアルをお読みください. Webブラ ウザが使えるのであれば http://www.FreeBSD.org/ におけるチュー トリアルの一覧を調べてください. あるいは, この文書を見つけた場所を調べ て, `dialup.txt` やそれに類似した名前の文書をお読みください. 関連す るマニュアルページとしては, シリアルポート向けデバイスドライバについて の sio(4) をはじめ, モデムからのログインを 受理できるようにシステ ムを設定するための ttys(5), gettytab(5), getty(8), init(8) など, さらには, シリアルポート関連パラメータ ( たと えば直接接続シリアルインタフェースの `clocal` ) についての stty(1) なども助けになるかもしれません.

### 19.5.2.2. 概要

一般的な設定内容で FreeBSDを SLIPサーバとして利用すると, その動作は次 のようになります. まず, SLIPユーザが FreeBSD による SLIPサーバへ電話し て, SLIP専用IDでログインします. なお, このIDを持ったユーザはシェルとし て `/usr/sbin/sliplogin` を使います. この `sliplogin` は, ファイル `/etc/sliphome/slip.hosts` の中から, ログインIDと一致する 記述行を探します. もし一致する行があれば, ログインしたシリアル回線を, 利用可能な SLIPインタフェースへ接続し, その後にシェルスクリプト `/etc/sliphome/slip.login` で SLIPインタフェースを設定します.

#### 19.5.2.2.1. SLIPサーバへのログイン例

仮に SLIPユーザIDが `Shelmerg` とします. すると, `/etc/master.passwd` における `Shelmerg` のエントリは次のよ うなものになります (実際には一つの行に続いている) .

    Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin

`Shelmerg` がログインすると, `sliplogin` は, ファイル `/etc/sliphome/slip.hosts` からユーザIDと一致する行を探しま す. いま仮に, `/etc/sliphome/slip.hosts` に次のような記述がなされていたとします.

    Shelmerg        dc-slip sl-helmer       0xfffffc00      autocomp

`sliplogin` が上記のエントリを見つけると, Shelmerg が使用して いるシリアル回線を, 利用可能な SLIPインタフェースのなかの最初のものへ 接続し, 次の内容の `/etc/sliphome/slip.login` を実行します.

    /etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp

もし上記の手順が正常に処理されると, `/etc/sliphome/slip.login` は, `sliplogin` が割り当てた SLIPインタフェース (この例では `slip.login` で与えられたパラメータのうちで最初の値である SLIP インタフェース0である) に対して `ifconfig` を実行し, ローカル IPアドレス (`dc-slip`)をはじめ, リモート IPアドレス (`sl-helmer`), SLIPインタフェースへのネットワークマスク (`0xfffffc00`), およびその他のフラグ (`autocomp`)を設定 します. 逆に, さきほどの手順が正常に終了しなかった場合, 通常は `sliplogin` は十分な情報を syslog の `daemon` 機能経由で `/var/log/messages` へ記録します ( syslogd(8) や syslog.conf(5) のマニュアルページを参照のうえ, さらに `/etc/syslog.conf` を調べて `syslogd` がどのファイルへ記 録するかを確認のこと) .

例はこのくらいにして, さっそくシステムのセットアップを始めてみましょう.

### 19.5.2.3. カーネルのコンフィグレーション

FreeBSD のデフォルトのカーネルには, 通常, 二つの SLIPインタフェースが 準備されています (`sl0` と `sl1`) . これらのインタフェー スが使用中のカーネルに準備されているかどうかを調べるには, `netstat -i` を実行してください.

`netstat -i` の出力例

    Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
    ed0   1500  <Link>0.0.c0.2c.5f.4a         291311     0   174209     0   133
    ed0   1500  138.247.224 ivory             291311     0   174209     0   133
    lo0   65535 <Link>                            79     0       79     0     0
    lo0   65535 loop        localhost             79     0       79     0     0
    sl0*  296   <Link>                             0     0        0     0     0
    sl1*  296   <Link>                             0     0        0     0     0

`netstat -i` の出力に `sl0` と `sl1` のインタフェー スが含まれているということから, カーネルには二つの SLIPインタフェー スが組み込まれているということを示しています. (`sl0` と `sl1` に付いたアスタリスクは, `netstat -i` の実行時点で はインタフェースが “ダウン” していることを表しています. )

なお, パケットのフォワード機能は FreeBSD のデフォルトのカーネルでは設定 されていません (すなわちルータとしては動作しない) . もしインターネット 接続ホストについての RFC要件 ( RFC 1009 [Requirements for Internet Gateways] と 1122 [Requirements for Internet Hosts -- Communication Layers], おそらく 1127 [A Perspective on the Host Requirements RFCs] も ) に準拠して, FreeBSDによる SLIPサー バをルータとして動作させたいときには, `/etc/rc.conf` (バージョ ン 2.2.2 より前の FreeBSD では `/etc/sysconfig`) ファイル の `gateway_enable` 変数を `YES` としてください. もし古いシステ ムで `/etc/sysconfig` ファイルすらないときには, 次のコマン ドを `/etc/rc.local` へ追加してください.

    sysctl -w net.inet.ip.forwarding = 1

この新しい設定を有効とするには, リブートする必要があります.

デフォルトのカーネルコンフィグレーションファイル (`/sys/i386/conf/GENERIC`) の最後の部分に, 次のような行がありま す.

    pseudo-device sl 2

この行によって, 使用可能な SLIPデバイスの総数が決まります. すなわち, 行 末の数値が, 同時に動作可能な SLIP接続の最大数となります.

カーネルの再構築については, FreeBSDカー ネルのコンフィグレーション を参照ください.

### 19.5.2.4. Sliploginのコンフィグレーション

すでにご説明したように, `/usr/sbin/sliplogin` のコンフィグレー ションのために, 3種類のファイルが`/etc/sliphome` ディレクトリに あります (`sliplogin` についての実際のマニュアルページとしては sliplogin(8) を参照のこと) . ファイル `slip.hosts` は SLIPユーザおよびその IPアドレスを決めます. 通常, ファイル `slip.login` は, SLIPインタフェースを設定することだけに使 用します. `slip.logout` はオプションのファイルで, `slip.login` で設定した内容を, シリアル接続が終了した時点で解除 するときに使用します.

#### 19.5.2.4.1. `slip.hosts` のコンフィグレーション

`/etc/sliphome/slip.hosts` には, 少なくとも 4 つの項目をホワイ トスペース (スペースやタブ) で区切って指定します.

- SLIPユーザのログインID

- SLIPリンクのローカル (SLIPサーバ側) アドレス

- SLIPリンクのリモートアドレス

- ネットワークマスク

ホスト名をローカルおよびリモートのアドレスとして 記述できます (IPアドレ スの決定は, `/etc/host.conf` の指定内容に応じて, `/etc/hosts` か DNSのいずれかによって決定される) . また, ネット ワークマスクも `/etc/networks` ファイルに記述された名前を参照す ることで, 指定することもできると思います. これまでの例としてあげたシス テムでの `/etc/sliphome/slip.hosts` は次のようになります.

    #
    # login local-addr      remote-addr     mask            opt1    opt2
    #                                               (normal,compress,noicmp)
    #
    Shelmerg  dc-slip       sl-helmerg      0xfffffc00      autocomp

それぞれの行の最後には, 次に示すオプションを一つ以上指定できます.

- `normal` -- ヘッダを圧縮しない

- `compress` -- ヘッダを圧縮する

- `autocomp` -- リモートの設定に応じて, ヘッダを圧縮する

- `noicmp` -- ICMPパケットを禁止する ( “ping” パケットは送出されず, バンド幅を占有しない)

なお, FreeBSDバージョン2の初期リリースの `sliplogin` は, 旧 FreeBSD 1.xでは有効であった上記のオプションを無視していましたので, `normal`, `compress`, `autocomp`, そして `noicmp` などのオプションは FreeBSD 2.2でサポートされるまでは効果がありませんでした (た だしこれらのフラグを使うためには `slip.login` スクリプトへ記述する 必要がある) .

SLIPリンクでのローカルとリモート向けのアドレスの 選び方は, TCP/IPサブネッ トを専用に割り当てるか, または “プロキシ ARP” を SLIPサーバへ用いるかによって違います ( “プロキシ ARP” という用語のここでの使い方は本来のものではないが, 説明のためにこの用語を使う) . もし, どちらの方式を選ぶべきか判らなかったり, IPアドレスの割り当て方が不明のときには, 上述の 前提 の節で紹介した TCP/IP関連書籍を参考になさるか, またはあなたの IPネットワークを管理している方に相談なさると よいでしょう.

独立したサブネットを SLIPクライアントへ適用するときには, すでに割り当てられている IPネットワーク番号の範囲からサブネット番号を割り当て, 同 時にそのサブネットの範囲内で有効な IPアドレスを SLIPクライアントの IP 番号として割り当てる必要があります. さらに, この SLIPサブネットから SLIPサーバを経由して最も近い IPルータへの経路を静的に設定するか, または `gated` を FreeBSDによる SLIPサーバへインストールして, 適当 なルーティングプロトコルを使って, SLIPサーバ経由のサブネットへの経路情 報をルータ群へ通知できるように設定するか, のいずれかをおこなう必要があります.

“プロキシ ARP” 方式を採用するときには, SLIPクライアント向けの IPアドレス として, SLIPサーバのサブネットの範囲から 選んで割り当てるとともに, arp(8) コマンドを使うために `/etc/sliphome/slip.login` と`/etc/sliphome/slip.logout` のスクリプトを修正して, SLIPサー バにおける ARPテーブル内のプロキシ ARPエントリへ 反映させる必要がありま す.

#### 19.5.2.4.2. `slip.login` のコンフィグレーション

ファイル `/etc/sliphome/slip.login` の一般的な内容は次にようになります.

    #!/bin/sh -
    #
    #   @(#)slip.login  5.1 (Berkeley) 7/1/90

    #
    # generic login file for a slip line.  sliplogin invokes this with
    # the parameters:
    #      1        2         3        4          5         6     7-n
    #   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
    #
    /sbin/ifconfig sl$1 inet $4 $5 netmask $6

この `slip.login` ファイルの役目は単に, SLIPインタフェースにつ いてのローカルとリモートのアドレス, およびそのネットワークマスクを `ifconfig` コマンドで設定することです.

もし “プロキシ ARP” 方式を採用する (SLIPクライアントへ独立したサブネットを使わない) ときには, ファイル `/etc/sliphome/slip.login` は次のような内容になります.

    #!/bin/sh -
    #
    #   @(#)slip.login  5.1 (Berkeley) 7/1/90

    #
    # generic login file for a slip line.  sliplogin invokes this with
    # the parameters:
    #      1        2         3        4          5         6     7-n
    #   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
    #
    /sbin/ifconfig sl$1 inet $4 $5 netmask $6
    # Answer ARP requests for the SLIP client with our Ethernet addr
    /usr/sbin/arp -s $5 00:11:22:33:44:55 pub

この `slip.login` で追加された行 `arp -s $5 00:11:22:33:44:55 pub` は, SLIPサーバにおける ARPテーブルへ新たなエントリを作ります. SLIPサーバ は, この ARPエントリが作られると, SLIPクライアントの IPアドレスと話し たい他の IPノードが要求してきたときにはいつも, SLIPサーバ の Ethernet MACアドレスを返すようになります.

上記の例を実際に流用なさるときには, 例にある Ethernet MACアドレス (`00:11:22:33:44:55`) を, あなたのシステムの実際のEthernetカー ドの MACアドレスと置き換えなければ “プロキシ ARP” はうまく動作しません! SLIPサーバの Ethernet MACアドレスを調べるには `netstat -i` コマ ンドを利用してください. 実行結果の第2行は次のようなものになるはずです.

    ed0   1500  <Link>0.2.c1.28.5f.4a         191923     0   129457     0   116

この例での Ethernet MACアドレスは `00:02:c1:28:5f:4a` であると 読みます. なお arp(8) における MAC アドレスの指定に際しては, コマンド `netstat -i` が付けた Ethernet MACアドレスのピリオド記 号をコロン記号と置き換え, かつ単一桁の 16 進数にはゼロを先頭に加える必 要があります. この指定についての正確な情報は arp(8) を参照く ださい.

> Note: `/etc/sliphome/slip.login` と `/etc/sliphome/slip.logout` を作成したならば, ファイル属性の “実行” ビット (すなわち `chmod 755 /etc/sliphome/slip.login /etc/sliphome/slip.logout`) を 設定しなければなりません. さもなければ `sliplogin` が うまく実行されません.

#### 19.5.2.4.3. `slip.logout` のコンフィグレーション

ファイル `/etc/sliphome/slip.logout` は必ずしも必要なものではあ りません (ただし “プロキシ ARP” を利用する場合を除く) . もしこのファイルを 作成するときには, 次に示す標準的な `slip.logout` スクリプト例を 参考にしてください.

    #!/bin/sh -
    #
    #   slip.logout

    #
    # logout file for a slip line.  sliplogin invokes this with
    # the parameters:
    #      1        2         3        4          5         6     7-n
    #   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
    #
    /sbin/ifconfig sl$1 down

“プロキシ ARP” を利用する場合, この `/etc/sliphome/slip.logout` を 使って, 特定の SLIPクライアント向けの ARPエントリを削除したくなるようなときがあります.

    #!/bin/sh -
    #
    #       @(#)slip.logout

    #
    # logout file for a slip line.  sliplogin invokes this with
    # the parameters:
    #      1        2         3        4          5         6     7-n
    #   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
    #
    /sbin/ifconfig sl$1 down
    # Quit answering ARP requests for the SLIP client
    /usr/sbin/arp -d $5

コマンド `arp -d $5` は, SLIPクライアントがログインした 際に, “プロキシ ARP” を使った `slip.login` によって追加され た ARPエントリを削除します.

これによって, 繰り返して利用することができるわけです. 必ず, `/etc/sliphome/slip.logout` を作成した後に, 実行ビットを設定し てください ( `chmod 755 /etc/sliphome/slip.logout` ) .

### 19.5.2.5. ルーティングについての考慮点

“プロキシ ARP” 方式を利用せずに SLIPクライアントとその他のネットワーク (Internetも含む) の構成要素との間でパケットをルーティングするときには, SLIPサーバ経由で SLIPクライアントが属するサブネットまでの経路を, 最も 近いデフォルトのルータ群へ静的な経路情報として 追加しなければならないか, または `gated` を FreeBSDによる SLIPサーバへインストールして, SLIP サブネットについての経路情報を, 適当なルーティングプロトコルでルー タ群へ通知できるように設定するか, のどちらかをおこなわなければなりません.

#### 19.5.2.5.1. 静的な経路

静的な経路を最も近いデフォルトの ルータ群へ追加することが困難なことがあ ります (経路情報を追加できる権限がなければそもそも不可能となる). もし あなたの組織に複数のルータで構成された ネットワークがあるならば, ある種 のルータ (たとえば Ciscoや Proteonなど) は, 静的な経路を SLIPサブネッ トへ使うようにルータを設定しなければならないだけでなく, その静的経路を 他のどのルータへ知らせるのかもあらかじめ 指定しておく必要がありますから, 静的経路に基づくルーティングを軌道に乗せるには それなりの専門的技術やト ラブルシューティングやコツが必要だと思います.

#### 19.5.2.5.2. `gated`の稼働

静的経路についての頭痛への代替手段は, `gated` を FreeBSDによる SLIPサー バへインストールして, 適切なルーティングプロトコル (RIP/OSPF/BGP/EGP) を使って SLIPサブネットについての経路情報を他のルータへ知らせるように 設定することです. ports コレクションから `gated` を用いることもできますし, GateD 匿名 FTP サイト から探して自分自身で構築することもで きます. この文章を執筆時点の最新バージョンは `gated-R3_5Alpha_8.tar.Z` であり, このファイル “だけで” FreeBSDで 動作させることができます. `gated` についてのすべての情報と文書 は Merit GateD コンソーシアム からはじまる Web 上で入手でき ます. `gated` のコンパイルとインストールを行ったならば, 独自の 設定のために `/etc/gated.conf` ファイルを記述してください. 次の 例は, 筆者が FreeBSDによる SLIP サーバで使っている内容と類似のものです.

    #
    # gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
    # Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
    #
    #
    # tracing options
    #
    traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;

    rip yes {
     interface sl noripout noripin ;
     interface ed ripin ripout version 1 ;
     traceoptions route ;
    } ;

    #
    # Turn on a bunch of tracing info for the interface to the kernel:
    kernel {
     traceoptions remnants request routes info interface ;
    } ;

    #
    # Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP
    #

    export proto rip interface ed {
            proto direct {
                    xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP connections
            } ;
    } ;

    #
    # Accept routes from RIP via ed Ethernet interfaces

    import proto rip interface ed {
            all ;
    } ;

この `gated.conf` ファイルの例では, SLIPのサブネット `xxx.xxx.yy` についての経路情報を RIPを使って Ethernetへブロー ドキャストしています. もし `ed` ドライバ以外の Ethernetドライバを使うのであれば, `ed` インタフェースの記述を適切なものに置き換えてくだ さい. またこの例では, `gated`の動作をデバッグするために, `/var/tmp/gated.output` へトレース情報を出力するように指示して います. `gated` が希望通りに動作したならば, このトレースオプショ ンを止めることができます. なお, 例における `xxx.xxx.yy` を, あ なた自身の SLIPサブネットのネットワークアドレスに換えてください (また `proto direct` 部分のネットワークマスクも換えることを忘れないこ と) .

`gated` のコンパイルとインストールが終了し, コンフィグレーショ ンファイルの作成も完了したら, FreeBSDシステムではデフォルトの `routed`に代わって `gated` を起動してください. そのため には, `/etc/netstart` の `routed/gated` 起動パラメータを 適切な値に設定してください. `gated` のコマンドラインパラメータにつ いての情報は, `gated` のマニュアルページを参照してください.

Prev | Home | Next
PPP オーバイーサネット (PPPoE) の利用 | Up | 電子メール