mirror of
https://git.hardenedbsd.org/hardenedbsd/HardenedBSD.git
synced 2024-12-30 15:38:06 +01:00
a785ce7ee3
all $Id$ changed to $FreeBSD$.
515 lines
20 KiB
Plaintext
515 lines
20 KiB
Plaintext
<!-- $FreeBSD$ -->
|
||
<!-- The FreeBSD Japanese Documentation Project -->
|
||
<!-- Original revision: 1.12 -->
|
||
|
||
<!-- This is an SGML version in the linuxdoc DTD of the SLIP Server
|
||
FAQ by Guy Helmer.
|
||
|
||
This guide provides instruction in configuring and preparing
|
||
a FreeBSD system to be a dialup SLIP server.
|
||
|
||
<title>
|
||
FreeBSDを SLIPサーバとしてセットアップするには
|
||
<author>Guy Helmer, <tt/ghelmer@alpha.dsu.edu/
|
||
<date>v1.0, 15 May 1995
|
||
|
||
-->
|
||
|
||
<sect><heading>SLIPサーバのセットアップ方法<label id="slips"></heading>
|
||
<p><em>原作: &a.ghelmer;.<newline>
|
||
v1.0, 15 May 1995.</em>
|
||
<p><em>訳: &a.ts;.<newline>6 September 1996.</em>
|
||
|
||
この文書の目的は, SLIPサーバ機能を FreeBSDシステムのもとで設定するため
|
||
の助言を提供することです. SLIPサーバ機能を設定するということは, リモー
|
||
トの SLIPクライアントがログインできるようにするために, 自動的に接続処
|
||
理をおこなうようにすることです. この文書は著者の経験に基づいておりますが,
|
||
実際のシステム構成や要望は異なりますから, すべての疑問にこの文書が答え
|
||
ることはできません. なお, ここでの助言を試みた結果, あなたのシステムへ
|
||
の悪影響やデータの損失が生じたとしても, 著者が責任を持つことはできませ
|
||
んのでご了解をお願いします.
|
||
|
||
当初この文書は, FreeBSD 1.xシステムでの SLIPサーバ機能のために書きまし
|
||
た. その後, FreeBSD 2.xの初期バージョンでのパス名の変更や SLIPインタフェー
|
||
ス向け圧縮フラグの削除といった変更点を反映するために, 書き換えをおこないま
|
||
した. これらが FreeBSDのバージョン間の主要な変更点だったからです. もし
|
||
この文書の間違いを見つけられましたら, ぜひ, 訂正に十分な情報とともに電
|
||
子メールでお知らせいただければ助かります.
|
||
|
||
<sect1><heading>前提<label id="slips:prereqs"></>
|
||
|
||
<p>
|
||
この文書の内容はテクニカルなものなので, 前提知識が必要です. すなわち,
|
||
TCP/IPネットワークプロトコルについての知識, 特に, ネットワークとノード
|
||
のアドレス指定をはじめ, ネットワークアドレスマスク, サブネット化, ルー
|
||
ティング, および RIPなどのルーティングプロトコルなどに関する知識を前提
|
||
としています. ダイヤルアップサーバで SLIP機能を設定するためには, これ
|
||
らの概念についての知識が必要ですから, もし不案内であると思われる方は,
|
||
O'Reilly & Associates, Inc.から出版されている Craig Hunt氏の
|
||
<em>TCP/IP Network Administration</em> (ISBN 0-937175-82-X)か, または
|
||
Douglas Comer氏の TCP/IPプロトコルに関する一連の書籍をお読みください.
|
||
|
||
前提知識に加え, さらに, モデムの設定が完了しており, そのモデムを経由し
|
||
てログインできるように, システムファイル群が適切に記述できているものと
|
||
仮定しています. もしモデムの準備ができていないときには, あらかじめダイヤ
|
||
ルアップ機能の設定についてのチュートリアルをお読みください. Webブラ
|
||
ウザが使えるのであれば<tt>http://www.freebsd.org/</tt> におけるチュー
|
||
トリアルの一覧を調べてください. あるいは, この文書を見つけた場所を調べ
|
||
て, <tt/dialup.txt/ やそれに類似した名前の文書をお読みください. 関連す
|
||
るマニュアルページとしては, シリアルポート向けデバイスドライバについて
|
||
の <tt/sio(4)/ をはじめ, モデムからのログインを受理できるようにシステ
|
||
ムを設定するための <tt/ttys(5)/, <tt/gettytab(5)/, <tt/getty(8)/,
|
||
<tt/init(8)/ など, さらには, シリアルポート関連パラメタ [ たと
|
||
えば直接接続シリアルインタフェースの <tt/clocal/ ] についての
|
||
<tt/stty(1)/ なども助けになるかもしれません.
|
||
|
||
<sect1><heading>概要</heading>
|
||
|
||
<p>
|
||
一般的な設定内容で FreeBSDを SLIPサーバとして利用すると, その動作は次
|
||
のようになります. まず, SLIPユーザが FreeBSD による SLIPサーバへ電話し
|
||
て, SLIP専用IDでログインします. なお, このIDを持ったユーザはシェルとし
|
||
て <tt>/usr/sbin/sliplogin</tt> を使います. この <tt/sliplogin/ は, ファ
|
||
イル <tt>/etc/sliphome/slip.hosts</tt> の中から, ログインIDと一致する
|
||
記述行を探します. もし一致する行があれば, ログインしたシリアル回線を,
|
||
利用可能な SLIPインタフェースへ接続し, その後にシェルスクリプト
|
||
<tt>/etc/sliphome/slip.login</tt> で SLIPインタフェースを設定します.
|
||
|
||
<sect2><heading>SLIPサーバへのログイン例</heading>
|
||
|
||
<p>
|
||
仮に SLIPユーザIDが <tt>Shelmerg</tt> とします. すると,
|
||
<tt>/etc/master.passwd</tt> における <tt/Shelmerg/ のエントリは次のよ
|
||
うなものになります (実際には一つの行に続いている) .
|
||
|
||
<tscreen><verb>
|
||
Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:
|
||
/usr/users/Shelmerg:/usr/sbin/sliplogin
|
||
</verb></tscreen>
|
||
|
||
<tt/Shelmerg/ がログインすると, <tt>sliplogin</tt> は, ファイル
|
||
<tt>/etc/sliphome/slip.hosts</tt> からユーザIDと一致する行を探しま
|
||
す. いま仮に, <tt>/etc/sliphome/slip.hosts</tt> に次のような記述がなさ
|
||
れていたとします.
|
||
|
||
<tscreen><verb>
|
||
Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
|
||
</verb></tscreen>
|
||
|
||
<tt/sliplogin/ が上記のエントリを見つけると, <tt/Shelmerg/ が使用して
|
||
いるシリアル回線を, 利用可能な SLIPインタフェースのなかの最初のものへ
|
||
接続し, 次の内容の <tt>/etc/sliphome/slip.login</tt> を実行します.
|
||
|
||
<tscreen><verb>
|
||
/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp
|
||
</verb></tscreen>
|
||
|
||
もし上記の手順が正常に処理されると, <tt>/etc/sliphome/slip.login</tt>
|
||
は, <tt/sliplogin/ が割り当てた SLIPインタフェース (この例では
|
||
<tt>slip.login</tt> で与えられたパラメタのうちで最初の値である SLIP
|
||
インタフェース0である) に対して <tt>ifconfig</tt> を実行し, ローカル
|
||
IPアドレス (<tt>dc-slip</tt>)をはじめ, リモート IPアドレス
|
||
(<tt>sl-helmer</tt>), SLIPインタフェースへのネットワークマスク
|
||
(<tt>0xfffffc00</tt>), およびその他のフラグ (<tt>autocomp</tt>)を設定
|
||
します. 逆に, さきほどの手順が正常に終了しなかった場合, 通常は
|
||
<tt/sliplogin/ は十分な情報を syslogデーモン機能経由で
|
||
<tt>/var/log/messages</tt> へ記録します ( <tt>syslogd(8)</tt> や
|
||
<tt>syslog.conf(5)</tt> のマニュアルページを参照のうえ, さらに
|
||
<tt>/etc/syslog.conf</tt> を調べて <tt>syslogd</tt> がどのファイルへ記
|
||
録するかを確認のこと) .
|
||
|
||
例はこのくらいにして, さっそくシステムのセットアップを始めてみましょう.
|
||
|
||
<sect1><heading>カーネルのコンフィグレーション</heading>
|
||
|
||
<p>
|
||
FreeBSDのデフォルトのカーネルには, 通常, 二つの SLIPインタフェースが
|
||
準備されています (<tt>sl0</tt> と <tt>sl1</tt>) . これらのインタフェー
|
||
スが使用中のカーネルに準備されているかどうかを調べるには,
|
||
<tt>netstat -i</tt> を実行してください.
|
||
|
||
<tt>netstat -i</tt> の出力例
|
||
|
||
<tscreen><verb>
|
||
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
|
||
</verb></tscreen>
|
||
|
||
<tt>netstat -i</tt> の出力に <tt>sl0</tt> と <tt>sl1</tt> のインタフェー
|
||
スが含まれているということから, カーネルには二つの SLIPインタフェー
|
||
スが組み込まれているということを示しています. (<tt>sl0</tt> と
|
||
<tt>sl1</tt> に付いたアスタリスクは, <tt>netstat -i</tt> の実行時点で
|
||
はインタフェースがダウンしていることを表しています. )
|
||
|
||
なお, パケットのフォワード機能はFreeBSDのデフォルトのカーネルでは設定
|
||
されていません (すなわちルータとしては動作しない) . もしインターネット
|
||
接続ホストについての RFC要件 ( RFC 1009 [Requirements for
|
||
Internet Gateways], 1122 [Requirements for Internet Hosts --
|
||
Communication Layers], and perhaps 1127 [A Perspective on
|
||
the Host Requirements RFCs] ) に準拠して, FreeBSDによる SLIPサー
|
||
バをルータとして動作させたいときには, <tt>/etc/sysconfig</tt> ファイル
|
||
の <bf>gateway</bf> 変数を <tt>YES</tt> としてください. もし古いシステ
|
||
ムのために <tt>/etc/sysconfig</tt> ファイルがないときには, 次のコマン
|
||
ドを <tt>/etc/rc.local</tt> へ追加してください.
|
||
|
||
<verb>
|
||
sysctl -w net.inet.ip.forwarding = 1
|
||
</verb>
|
||
|
||
|
||
<p>
|
||
この新しい設定を有効とするには, リブートする必要があります.
|
||
|
||
<p>
|
||
デフォルトのカーネルコンフィグレーションファイル
|
||
(<tt>/sys/i386/conf/GENERIC</tt>) の最後の部分に, 次のような行がありま
|
||
す.
|
||
|
||
<tscreen><verb>
|
||
pseudo-device sl 2
|
||
</verb></tscreen>
|
||
|
||
この行によって, 使用可能な SLIPデバイスの総数が決まります. すなわち, 行
|
||
末の数値が, 同時に動作可能な SLIP接続の最大数となります.
|
||
|
||
カーネルの再構築については, <ref id="kernelconfig" name="FreeBSDカー
|
||
ネルのコンフィグレーション"> を参照ください.
|
||
|
||
<sect1><heading>Sliploginのコンフィグレーション</heading>
|
||
|
||
<p>
|
||
すでにご説明したように, <tt>/usr/sbin/sliplogin</tt> のコンフィグレー
|
||
ションのために, 3種類のファイルが<tt>/etc/sliphome</tt> ディレクトリに
|
||
あります (<tt>sliplogin</tt> についての実際のマニュアルページとしては
|
||
<tt>sliplogin(8)</tt> を参照のこと) . ファイル <tt>slip.hosts</tt> は
|
||
SLIPユーザおよびその IPアドレスを決めます. 通常, ファイル
|
||
<tt>slip.login</tt> は, SLIPインタフェースを設定することだけに使
|
||
用します. <tt>slip.logout</tt> はオプションのファイルで,
|
||
<tt>slip.login</tt> で設定した内容を, シリアル接続が終了した時点で解除
|
||
するときに使用します.
|
||
|
||
<sect2><heading>slip.hostsのコンフィグレーション</heading>
|
||
|
||
<p>
|
||
<tt>/etc/sliphome/slip.hosts</tt> には, 少なくとも 4 つの項目をホワイ
|
||
トスペース (スペースやタブ) で区切って指定します.
|
||
|
||
<itemize>
|
||
<item> SLIPユーザのログインID
|
||
<item> SLIPリンクのローカル (SLIPサーバ側) アドレス
|
||
<item> SLIPリンクのリモートアドレス
|
||
<item> ネットワークマスク
|
||
</itemize>
|
||
|
||
ホスト名をローカルおよびリモートのアドレスとして記述できます (IPアドレ
|
||
スの決定は, <tt>/etc/host.conf</tt> の指定内容に応じて,
|
||
<tt>/etc/hosts</tt> か DNSのいずれかによって決定される) . また, ネット
|
||
ワークマスクも <tt>/etc/networks</tt> ファイルに記述された名前を参照す
|
||
ることで, 指定することもできると思います. これまでの例としてあげたシス
|
||
テムでの <tt>/etc/sliphome/slip.hosts</tt> は次のようになります.
|
||
|
||
<tscreen><verb>
|
||
----- begin /etc/sliphome/slip.hosts -----
|
||
#
|
||
# login local-addr remote-addr mask opt1 opt2
|
||
# (normal,compress,noicmp)
|
||
#
|
||
Shelmerg dc-slip sl-helmerg 0xfffffc00 autocomp
|
||
----- end /etc/sliphome/slip.hosts ------
|
||
</verb></tscreen>
|
||
|
||
それぞれの行の最後には, 次に示すオプションを一つ以上指定できます.
|
||
|
||
<itemize>
|
||
<item> <tt>normal</tt> - ヘッダを圧縮しない
|
||
<item> <tt>compress</tt> - ヘッダを圧縮する
|
||
<item> <tt>autocomp</tt> - リモートの設定に応じて, ヘッダを圧縮する
|
||
<item> <tt>noicmp</tt> - ICMPパケットを禁止する (pingパケットは送出されず, バンド幅を占有しない)
|
||
</itemize>
|
||
|
||
なお, FreeBSDバージョン2の初期リリースの <tt/sliplogin/ は, 旧
|
||
FreeBSD 1.xでは有効であった上記のオプションを無視していましたので,
|
||
<tt/normal/, <tt/compress/, <tt/autocomp/, そして <tt/noicmp/ などのオ
|
||
プションは FreeBSD 2.2でサポートされるまでは効果がありませんでした (た
|
||
だしこれらのフラグを使うためには <tt/slip.login/ スクリプトへ記述する
|
||
必要がある) .
|
||
|
||
SLIPリンクでのローカルとリモート向けのアドレスの選び方は, TCP/IPサブネッ
|
||
トを専用に割り当てるか, または「プロキシ ARP」を SLIPサーバへ用いるかによっ
|
||
て違います (プロキシ ARPという用語のここでの使い方は本来のものではない
|
||
が, 説明のためにこの用語を使う) . もし, どちらの方式を選ぶべきか判らな
|
||
かったり, IPアドレスの割り当て方が不明のときには, 上述の <ref
|
||
id="slips:prereqs" name="前提"> の節で紹介した TCP/IP関連書籍を参考になさるか,
|
||
またはあなたの IPネットワークを管理している方に相談なさるとよいでしょう.
|
||
|
||
独立したサブネットを SLIPクライアントへ適用するときには, すでに割り当
|
||
てられている IPネットワーク番号の範囲からサブネット番号を割り当て, 同
|
||
時にそのサブネットの範囲内で有効な IPアドレスを SLIPクライアントの IP
|
||
番号として割り当てる必要があります. さらに, この SLIPサブネットから
|
||
SLIPサーバを経由して最も近い IPルータへの経路を静的に設定するか, また
|
||
は <tt>gated</tt> を FreeBSDによる SLIPサーバへインストールして, 適当
|
||
なルーティングプロトコルを使って, SLIPサーバ経由のサブネットへの経路情
|
||
報をルータ群へ通知できるように設定するか, のいずれかをおこなう必要がありま
|
||
す.
|
||
|
||
「プロキシ ARP」方式を採用するときには, SLIPクライアント向けの IPアドレス
|
||
として, SLIPサーバのサブネットの範囲から選んで割り当てるとともに,
|
||
<tt>arp(8)</tt> コマンドを使うために <tt>/etc/sliphome/slip.login</tt>
|
||
と<tt>/etc/sliphome/slip.logout</tt> のスクリプトを修正して, SLIPサー
|
||
バにおける ARPテーブル内のプロキシ ARPエントリへ反映させる必要がありま
|
||
す.
|
||
|
||
<sect2><heading>slip.loginのコンフィグレーション</heading>
|
||
|
||
<p>
|
||
ファイル <tt>/etc/sliphome/slip.login</tt> の一般的な内容は次にように
|
||
なります.
|
||
|
||
<tscreen><verb>
|
||
----- begin /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
|
||
----- end /etc/sliphome/slip.login -----
|
||
</verb></tscreen>
|
||
|
||
この <tt>slip.login</tt> ファイルの役目は単に, SLIPインタフェースにつ
|
||
いてのローカルとリモートのアドレス, およびそのネットワークマスクを
|
||
<tt>ifconfig</tt> コマンドで設定することです.
|
||
|
||
もしプロキシ ARP方式を採用する (SLIPクライアントへ独立したサブネットを
|
||
使わない) ときには, ファイル <tt>/etc/sliphome/slip.login</tt> は次の
|
||
ような内容になります.
|
||
|
||
<tscreen><verb>
|
||
----- begin /etc/sliphome/slip.login for "proxy ARP" -----
|
||
#!/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
|
||
----- end /etc/sliphome/slip.login for "proxy ARP" -----
|
||
</verb></tscreen>
|
||
|
||
この <tt>slip.login</tt> で追加された行
|
||
<tt>arp -s $5 00:11:22:33:44:55 pub</tt> は,
|
||
SLIPサーバにおける ARPテーブルへ新たなエントリを作ります. SLIPサーバ
|
||
は, この ARPエントリが作られると, SLIPクライアントの IPアドレスと話し
|
||
たい他の IPノードが要求してきたときにはいつも, SLIPサーバ
|
||
の Ethernet MACアドレスを返すようになります.
|
||
|
||
上記の例を実際に流用なさるときには, 例にある Ethernet MACアドレス
|
||
(<tt>00:11:22:33:44:55</tt>) を, あなたのシステムの実際のEthernetカー
|
||
ドの MACアドレスと置き換えなければ「プロキシ ARP」はうまく動作しません!
|
||
SLIPサーバの Ethernet MACアドレスを調べるには <tt>netstat -i</tt> コマ
|
||
ンドを利用してください. 実行結果の第2行は次のようなものになるはずです.
|
||
|
||
<tscreen><verb>
|
||
ed0 1500 <Link>0.2.c1.28.5f.4a 191923 0 129457 0 116
|
||
^^^^^^^^^^^^^^^
|
||
</verb></tscreen>
|
||
|
||
この例での Ethernet MACアドレスは <tt>00:02:c1:28:5f:4a</tt> であると
|
||
読みます. なお <tt>arp(8)</tt> における MACアドレスの指定に際しては,
|
||
コマンド <tt>netstat -i</tt> が付けた Ethernet MACアドレスのピリオド記
|
||
号をコロン記号と置き換え, かつ単一桁の 16 進数にはゼロを先頭に加える必
|
||
要があります. この指定についての正確な情報は <tt>arp(8)</tt> を参照く
|
||
ださい.
|
||
|
||
ご注意いただきたいのは, <tt>/etc/sliphome/slip.login</tt> と
|
||
<tt>/etc/sliphome/slip.logout</tt> を作成したならば, ファイル属性の実
|
||
行ビット (すなわち
|
||
<tt>chmod 755 /etc/sliphome/slip.login /etc/sliphome/slip.logout</tt>) を
|
||
設定しなければならないということです. さもなければ <tt>sliplogin</tt> が
|
||
うまく実行されません.
|
||
|
||
<sect2><heading>slip.logoutのコンフィグレーション</heading>
|
||
|
||
<p>
|
||
ファイル <tt>/etc/sliphome/slip.logout</tt> は必ずしも必要なものではあ
|
||
りません (ただし「プロキシ ARP」を利用する場合を除く) . もしこのファイルを
|
||
作成するときには, 次に示す標準的な <tt>slip.logout</tt> スクリプト例を
|
||
参考にしてください.
|
||
|
||
<tscreen><verb>
|
||
----- begin /etc/sliphome/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
|
||
----- end /etc/sliphome/slip.logout -----
|
||
</verb></tscreen>
|
||
|
||
「プロキシ ARP」を利用する場合, この <tt>/etc/sliphome/slip.logout</tt> を
|
||
使って, 特定の SLIPクライアント向けの ARPエントリを削除したくなるよう
|
||
なときがあります.
|
||
|
||
<tscreen><verb>
|
||
----- begin /etc/sliphome/slip.logout for "proxy 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
|
||
----- end /etc/sliphome/slip.logout for "proxy ARP" -----
|
||
</verb></tscreen>
|
||
|
||
コマンド <tt>arp -d $5</tt> は, SLIPクライアントがログインした
|
||
際に, 「プロキシ ARP」を使った <tt>slip.login</tt> によって追加され
|
||
た ARPエントリを削除します.
|
||
|
||
これによって, 繰り返して利用することができるわけです. 必ず,
|
||
<tt>/etc/sliphome/slip.logout</tt> を作成した後に, 実行ビットを設定し
|
||
てください ( <tt>chmod 755 /etc/sliphome/slip.logout</tt> ) .
|
||
|
||
<sect1><heading>ルーティングについての考慮点</heading>
|
||
|
||
<p>
|
||
「プロキシ ARP」方式を利用せずに SLIPクライアントとその他のネットワーク
|
||
(Internetも含む) の構成要素との間でパケットをルーティングするときには,
|
||
SLIPサーバ経由で SLIPクライアントが属するサブネットまでの経路を, 最も
|
||
近いデフォルトのルータ群へ静的な経路情報として追加しなければならないか,
|
||
または <tt>gated</tt> を FreeBSDによる SLIPサーバへインストールして,
|
||
SLIP サブネットについての経路情報を, 適当なルーティングプロトコルでルー
|
||
タ群へ通知できるように設定するか、のどちらかをおこなわなければなりません.
|
||
|
||
<sect2><heading>静的な経路</heading>
|
||
|
||
<p>
|
||
静的な経路を最も近いデフォルトのルータ群へ追加することが困難なことがあ
|
||
ります (経路情報を追加できる権限がなければそもそも不可能となる). もし
|
||
あなたの組織に複数のルータで構成されたネットワークがあるならば, ある種
|
||
のルータ (たとえば Ciscoや Proteonなど) は, 静的な経路を SLIPサブネッ
|
||
トへ使うようにルータを設定しなければならないだけでなく, その静的経路を
|
||
他のどのルータへ知らせるのかもあらかじめ指定しておく必要がありますから,
|
||
静的経路に基づくルーティングを軌道に乗せるにはそれなりの専門的技術やト
|
||
ラブルシューティングやコツが必要だと思います.
|
||
|
||
<sect2><heading>gatedの稼働</heading>
|
||
|
||
<p>
|
||
静的経路についての頭痛への代替手段は, <tt>gated</tt> を FreeBSDによる SLIPサー
|
||
バへインストールして, 適切なルーティングプロトコル (RIP/OSPF/BGP/EGP)
|
||
を使って SLIPサブネットについての経路情報を他のルータへ知らせるように
|
||
設定することです. <tt>gated</tt> は, 匿名FTPを使って,
|
||
<tt>ftp.gated.cornell.edu</tt> の <tt>/pub/gated</tt> ディレクトリから
|
||
入手できます. このチュートリアルを執筆時点の最新バージョンは
|
||
<tt>gated-R3_5Alpha_8.tar.Z</tt> であり, このファイルだけで FreeBSDで
|
||
動作させることができます. <tt>gated</tt> についてのすべての情報と文書
|
||
は <tt>http://www.gated.cornell.edu/</tt> からはじまる Web上で入手でき
|
||
ます. <tt>gated</tt> のコンパイルとインストールを行ったならば, 独自の
|
||
設定のために <tt>/etc/gated.conf</tt> ファイルを記述してください. 次の
|
||
例は, 筆者が FreeBSDによる SLIPサーバで使っている内容と類似のものです.
|
||
|
||
<tscreen><verb>
|
||
----- begin sample /etc/gated.conf for gated version 3.5Alpha5 -----
|
||
#
|
||
# 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 ;
|
||
} ;
|
||
|
||
----- end sample /etc/gated.conf -----
|
||
</verb></tscreen>
|
||
|
||
この <tt>gated.conf</tt> ファイルの例では, SLIPのサブネット
|
||
<tt>xxx.xxx.yy</tt> についての経路情報を RIPを使って Ethernetへブロー
|
||
ドキャストしています. もし <tt/ed/ ドライバ以外の Ethernetドライバを使
|
||
うのであれば, <tt/ed/ インタフェースの記述を適切なものに置き換えてくだ
|
||
さい. またこの例では, <tt>gated</tt>の動作をデバッグするために,
|
||
<tt>/var/tmp/gated.output</tt> へトレース情報を出力するように指示して
|
||
います. <tt>gated</tt> が希望通りに動作したならば, このトレースオプショ
|
||
ンを止めることができます. なお, 例における <tt>xxx.xxx.yy</tt> を, あ
|
||
なた自身の SLIPサブネットのネットワークアドレスに換えてください (また
|
||
<tt>proto direct</tt> 部分のネットワークマスクも換えることを忘れないこ
|
||
と) .
|
||
|
||
<tt>gated</tt> のコンパイルとインストールが終了し, コンフィグレーショ
|
||
ンファイルの作成も完了したら, FreeBSDシステムではデフォルトの
|
||
<tt>routed</tt>に代わって <tt>gated</tt> を起動してください. そのため
|
||
には, <tt>/etc/netstart</tt> の <tt>routed/gated</tt> 起動パラメタを
|
||
適切な値に設定してください. <tt>gated</tt> のコマンドラインパラメタにつ
|
||
いての情報は, <tt>gated</tt> のマニュアルページを参照してください.
|
||
|
||
<sect1><heading>謝辞</heading>
|
||
|
||
<p>
|
||
このチュートリアルについてのコメントやアドバイスを寄せてくれた次の方々
|
||
に感謝します.
|
||
|
||
<descrip>
|
||
<tag/&a.wilko;/
|
||
|
||
<tag/Piero Serini/ <Piero@Strider.Inet.IT>
|
||
</descrip>
|
||
|
||
<!-- </article> -->
|