aboutsummaryrefslogtreecommitdiff
path: root/ja_JP.EUC/handbook/slips.sgml
blob: d56c6b758b485d754eb29ee07350daf863bf18b8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
<!-- $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 &amp; 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)/ など, さらには, シリアルポート関連パラメタ &lsqb; たと
えば直接接続シリアルインタフェースの <tt/clocal/ &rsqb; についての 
<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 &lsqb;Requirements for
Internet Gateways&rsqb;, 1122 &lsqb;Requirements for Internet Hosts --
Communication Layers&rsqb;, and perhaps 1127 &lsqb;A Perspective on
the Host Requirements RFCs&rsqb; ) に準拠して, 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 &dollar;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 &dollar;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/ &lt;Piero@Strider.Inet.IT&gt;
</descrip>

<!-- </article> -->