GATED-2-CONFIG(5) — NEWS-OS Programmer’s Manual
名称
gated-2-config − gated バージョン 2 コンフィギュレーションファイル形式
形式
/etc/gated-2.conf
解説
gated コンフィギュレーションファイルは、 セミコロン (;) で終わる連続した文から構成されます。 文は、 空白、タブ、改行、またはその組み合わせたものによって分けられた トークンから構成されています。 コメントは、以下の 2 つの形式のうちのいずれかです。 ポンドサイン (#) で始まる行の末尾まで、または、 C スタイルの、"/∗" から "∗/" までです。 文には、6 クラスあります。 最初の 2 クラスは、順序に関係なく、 コンフィギュレーションファイル中で指定できます。
疑似命令
これらの文は、パーサにより、直ちに実行されます。 含まれているファイルやそこに属するディレクトリを 指定するのに使用されます。 セミコロン (;) で終了する他の文と異なり、 疑似命令文は、改行で終了します。
トレースオプション
これらの文でトレースオプションを制御します。
残る 4 つのクラスは、順に指定しなければなりません。
定義これらの文は、 オプション、自律システム、マーシャンネットワーク、 およびインターフェースオプションを指定します。
プロトコル
これらの文は、 プロトコルを使用可能/不可能にし、 プロトコルオプションをセットします。
ルート
スタティック状態のルートは、 ルート文によって定義されます。
制御制御文は、 ルーティングピアから受け取るルートや これらのピアに伝達されるルートを定義します。
これらのクラスの文に関する定義の詳細は以下の通りです。 定義の基本についても以下に述べられています。
host任意のホスト。 IP アドレス、またはドメイン名で指定します。 ドメイン名が複数の IP アドレスを持つように指定された場合は、 エラーとみなされます。 IP アドレスのホストビットには、ゼロ以外を使用してください。
network任意のネットワーク。 IP アドレス、またはネットワーク名で指定します。 ネットワーク指定のホストビットは、 ゼロを使用してください。 "Default" を使用して、 デフォルトのネットワーク (0.0.0.0) を指定することもできます。
destination
任意のホスト、またはネットワーク。
dest_mask
オプションのマスクを伴う、任意のホスト、またはネットワーク。
all
<network>
<netword> mask <mask>
マスクは、目的のどのビットに意味があるかを示す 点線の四角形です。 任意の IP アドレスとマッチさせるために、 "All" を使用しても構いません。
gatewayゲートウェイは、 つながれたネットワーク上のホストでなければなりません。
interfaceインターフェースは、 IP アドレス、ドメイン名、またはインターフェース名で指定します。 これからの Unix オペレーティングシステムでは、 1 つのインターフェースにつき、 複数のアドレスが使用できるようになるかも知れませんので、 インターフェース名の使用には注意して下さい。
gateway_list
ゲートウェイリストは、 1 つ以上のゲートウェイのリストです。
interface_list
インターフェースリストは、 複数のインターフェース名またはアドレス、 あるいは全てのインターフェースを参照しているトークン "all" の リストです。
preferenceプリファレンスは、 ルーティングテーブルの 同じ目的地へのルートの順番を決定する時に使用されます。 gated は 1 つのプロトコル、または、1 つの自律システムにつき、 目的地までの 1 つのルートを可能にします。 複数のルートの場合は、 使用するルートは、プリファレンスによって選択されます。 その番号は 0 から 255 までで、 0 が最も優先され、255 は優先度が低くなります。
プリファレンスが同等の場合、 もし 2 つのルートが同じプロトコルから、 また、 同じ自律システムから来ている場合は、 gated は小さいメトリクスを持ったルートを選択します。 それ以外の場合は、 gated は小さい番号で、 ネクスト ホップ ゲートウェイアドレスのルートを選択します。
metric指定されたプロトコルの有効なメイトリクスです。
命令文
%directory "<path_name>"
カレントディレクトを、<path_name> にします。 これは gated が "/" で始らないインクルードファイルを探すディレクトリです。
この文は、 カレントディレクトリを実際に変えるものではなく、 中にあるファイル名のプレフィックスを単に指定するだけであることに 注意して下さい。
%include "filename"
指定されたファイルが、 このファイルを再開する前に完全に解明されるよう指示します。 10 レベルまでのネスティングをサポートしています。 parse.h 中の FI_MAX の定義を変えることにより、 このネスティングレベルを上げることができます。
トレース文
tracefile "filename" [replace] ;
トレース出力を含むファイルを指定します。 "replace" が指定されなければ、 このファイルにトレース情報が付加されます。
traceoptions <traceoption> [<traceoption> [ ... ]] ;
トレースオプションの指定を変更します。 "none" のみがオプションに指定されている場合は、 トレースは OFF になります。トレースフラッグは以下の通りです。
allnostamp を除く、下記の トレースオプションを全て ON にします。
general
internal、external、および route を ON にします。
internal
内部エラーと情報メッセージ。
external
外部エラー。
nostamp
トレースファイルのメッセージ全てに タイムスタンプを押さない。
markgated が動作していることを保証するために、 10 分ごとにトレースログにメッセージを出力する。
taskタスクスケジューリング、信号処理、およびパケット受け取り。
timerタイマースケジューリング。
lexコンフギュレーションファイルでの語彙アナライザの対象。
parseパーサがコンフィギュレーションファイル内で認識するトークン。
configパースされた後に、 コンフィギュレーションファイルから読まれた文を再表示する。 これにより、文が正しくパースされたことが証明されます。
routegated ルーティングテーブルに変更する。
kernelカーネルルーティングテーブルに変更する。
bgp送信、または受信された BGP パケット。 "update" および "protocol" により変更可。
egp送信、または受信された EGP パケット。 "update" および "protocol" により変更可。
rip送信、または受信された RIP パケット。 "update" により変更可。
hello送信、または受信された HELLO パケット。 "update" により変更可。
icmp送信、または受信された ICMP 再指令 パケット。 "update" により変更可。
"rout" オプション のもとで再指令プロセスが実行されることに 注意して下さい。
snmp送信、または受信された SNMP パケット。 "update" により変更可。
protocol
"egp" または "bgp" と共に使用する場合、 プロトコルステートマシンの転送についてのメッセージを提供する。
update
プロトコルパケットの内容をトレースする。
定義文
options <option_list> ;
gated のオプションを設定する。
noinstallカーネルルーティングテーブルを変更しない。 コンフィギュレーションファイルを証明するのに有効です。
gendefault起動時に、 デフォルトルートの内部発生を引き起こします。 このルートはカーネルルーティングテーブルにインストールされませんが、 他のプロトコルによってアナウンスされます。 アナウンスは、特殊プロトコル "default" を参照することで制御されます。
autonomoussystem <autonomous system> ;
このルートの自律システムを <autonomous system> に設定します。 BGP や EGP が使用する際に、このオプションが必要となります。
interface <interface_list> <interface_options> ;
インターフェースオプションを、 指定されたインターフェースに設定します。 インターフェースリストは、"all" やインターフェースネーム (インターフェース名の注意参照) やドメイン名または、数値のアドレスのリストです。
インターフェースオプションは下記の通りです。
metric <metric>
このインターフェース用にインターフェースメトリックを設定する。 RIP と HELLO がこのメトリックを使用します。 ここでメトリックを指定すると、 内部使用の ifcongig を伴ったメトリックは無効に なりますが、変更されません。
preference <pref>
ルートのプリファレンスをこのインターフェースに設定します。
passive
受け取ったルート情報が不足のためダウンしていると思われる時、 gated がこのインターフェースへの ルートを削除しないように守ります。
martians {
<martian_list>
} ;
全てのルート情報が無視されたことに 関するマーシャンアドレスのリストを定義します。 <martian_list> は、 オプションのマスクのある、シンボルや番号の ホストのセミコロンで分けられたリストです。 dest_mask を参照。
プロトコル文
プロトコルの可否を選択し、プロトコルオプションを制御します。 どのような順序でも構いません。
全てのプロトコルに対して "preference" は、 プロトコルを経由して、または他のプロトコルや 自律システムから伝えられたルートに関する、 自律システムから伝えられたルートの選択を制御します。 他のプロトコルから伝えられたルートを広める時に 使用されるデフォルトメトリックは、 "defaultmetric" で指定します。 それ自体、プロトコルに対する最も高い有効メトリックであり、 到達する可能性がないことを多くのプロトコルに知らせます。
距離ベクトル IGP (RIP と HELLO)、 再指令 (ICMP) に対しては、"trustedgateways" 節は、 有効なルーティング情報を提供する gateways のリストを供給します。 他からのルーティングパケットは無視されます。 これは、取り付けられている ネットワークの全てのゲートウェイの デフォルトとなります。 pointtopoint リンクのリモートエンドへのルーティングパケットや、 可能なインターフェースのブロードキャストアドレスに加えて、 "sourcegateways" 節にリストされたり、 "pointopoint" または "supplier" が指定された場合、 ルーティングは特定のゲートウェイに送られます。 プロトコルに対するルーティングパケットの 転送および受信を無効にする場合には、 "interface" 節で指定できます。
外部プロトコル (BGP と EGP) に対しては、 "asout" パラメータが無視しない限りは、 グローバルな "autonomoussystem" 節を使って、 ピアに広められた自律システムで指定されます。 "asin" を指定しない限り、 入力された自律システム番号は証明できません。 "metricout" を指定した場合は、 このピアに知らされた全てのルートへの出力メトリックが調整されます。 ピアがネットワークを共有しない場合は、 このピアと通信する時に使われるのは どのインターフェースアドレスかを指定するために使用します。 そして、"gateway" はこのピアから 伝えられた全てのルートに使用する次の ホップを指定するために使われます。 "nogendefault" パラメータが指定されていない場合は、 ルート情報がピアから伝わる時に内部デフォルトが作成されます。
rip yes|no|on|off|quiet|pointopoint|supplier [ {
preference <preference> ;
defaultmetric <metric> ;
interface <interface_list> [noripin] [noripout] ;
...
trustedgateways <gateway_list> ;
sourcegateways <gateway_list> ;
} ] ;
"yes" か "on" が指定された場合、 インターフェースが 1 つの時は、RIP に "quiet"、 複数存在する時は、"supplier" を仮定します。 "quiet" は、RIP パケットを作成しないことを指定し、 "supplier" は、RIP パケットを作成することを指定します。 "pointopoint" は、 RIP ポケットが "sourcegateways" 節にリストされた gateways にのみ 送らることを指定します。 RIP が指定されない場合、デフォルトは "on" となります。
1 つのインターフェースのみでの "supplier" の使用は、 静止しているルートや 他のプロトコルから伝えられたルートを広める時のみに 有効であることに注意して下さい。 こうすれば、データパケットが 同じネットワークを 2 度行来きすることができるようになり、 それはあるコンフィギュレーションにおいては許容されるものと言えます。
デフォルトメトリックは 16 で、デフォルトプリファレンスは 100 です。
hello yes|no|on|off|quiet|pointopoint|supplier [ {
preference <preference> ;
defaultmetric <metric> ;
interface <interface_list> [nohelloin] [nohelloout] ;
...
trustedgateways <gateway_list> ;
sourcegateways <gateway_list> ;
} ] ;
"yes" か "on" が指定された場合、 インターフェイースが 1 つの時は、HELLO に "quiet"、 複数存在する時は、"supplier" を仮定します。 "quiet" は、HELLO ポケットが作成されないことを指定し、 "supplier" は、HELLO ポケットが作成されることを指定します。 "pointopoint" は、 HELLO ポケットが "sourcegateways" の節にリストされた ゲートウェイにのみに送られるように指定します。 HELLO 節が指定されない場合は、 デフォルトは "off" となります。
1 つのインターフェースのみでの "supplier" の使用は、 静止しているルートや 他のプロトコルから伝えられたルートを 広める時のみに有効であることに注意して下さい。 こうすれば、 データパケットが同じネットワークを 2 度行来きすることが できるようになり、それはあるコンフィギュレーションに おいては許容されるものと言えます。
デフォルトメトリックは 30000、デフォルトプリファレンスは 90 です。
egp yes|no|on|off [ {
preference <preference> ;
defaultmetric <metric> ;
packetsize <maxpacketsize> ;
group[asin <autonomous system>]
[asout <autonomous system>]
[maxup <number>]
[preference <preference>] {
neighbor <host>
[metricout <metric>]
[nogendefault]
[acceptdefault]
[propagatedefault]
[gateway <gateway>]
[interface <interface>]
[sourcenet <network>]
[minhello <min_hello>]
[minpoll <min_poll>]
;
...
} ;
...
} ] ;
"packetsize" は、受け取る、または送る最も大きい EGP パケット のサイズをバイト数で指定します。 "group" は、自律システム中でピアのグループをリストします。 "maxup" は、Up 状態の中で維持されるピアの最大数を指定します。 "acceptdefault" と "propagatedefault" は、 EGP の近隣のものと交換した最新情報の中の デフォルトネットワーク (0.0.0.0) を受け取るか、広めるかを gated に伝えます。 指定されない場合は、EGP 最新情報を 交換する時にデフォルトネットワークは無視されます。 "sourcenet" は、EGP Poll パケット内で質問するための ネットワークを指定しますが、通常これは、 共有ネットワークです。 最小の EG hello とポール休止の許容は、 それぞれ "minhello" と "minpoll" 引数で指定されます。 これらはともに秒、分:秒、または 時間:分:秒で指定されます。 あらゆる数の "group" は "neighbor" 節のあらゆる数を含んで 指定されます。 "neighbor" 節からのあらゆるパラメータは、 グループへのデフォルトを提供するため "group" 節に指定されます。
デフォルトのメトリックは 255 でデフォルトプリファレンスは 200 です。
bgp yes|no|on|off [ {
preference <preference> ;
defaultmetric <metric> ;
peer <host>
[linktype [up|down|horizontal|internal]]
[metricout <metric>]
[asin <autonomous system>]
[asout <autonomous system>]
[nogendefault]
[gateway <gateway>]
[interface <interface>]
;
...
} ] ;
peer は、各 BGP ピアのアドレスを指定します。 近隣の自律システムが自身のシステムと同じ場合は、 リンクタイプの internal が仮定されます。 それ以外の場合は、リンクタイプの horizontal と仮定されます。
デフォルトメトリックは 65535 で、 外部 BGP にはデフォルトプリフェレンスは 150、 内部の BGP には 250 です。
redirect yes|no|on|off [ {
preference <preference> ;
interface <interface_list> [noicmpin] ;
trustedgateways <gateway_list> ;
} ] ;
ルータとしての機能を果さない時は、 gated が ICMP の再指令に基づいて ルーティングテーブルを変更するかどうかを制御します。 ルータとしての機能がある時は (例えば、(RIP, HELLO) の任意の 内部ルーティングプロトコルが どのインターフェースのルーティングにも関連する場合)、 ICMP の再指令は不可能です。 ICMP の再指令が不可能な時は、 カーネルは常に ICMP を処理するので、 gated はカーネルから再指令の結果を積極的に取り除きます。
デフォルトプリフェレンスは 20 です。
snmp yes|no|on|off ;
gated がサポート変数を登録するために PSI/NYSERNET SNMP デーモンに接触するか どうかを制御します。デフォルトは "on" です。
スタティック文
スタティックルートは "static" 節で指定されます。
static {
<destination> gateway <gateway> [preference
<preference>] ;
...
<destination> interface <interface> [preference
<preference>] ;
...
} ;
"static" 文が、複数指定できます。 それぞれ、複数のスタティック定義を含みます。 最初の例で、ゲートウェイを通してスタティックルートを定義します。 2 番目は 1 つのインターフェースにある 複数ネットワークの基本サポートに使われている 静止インターフェースルートを定義します。
スタティックルートのプリファレンスは、デフォルトを 50 に設定します。
制御文
ルーティングプロトコルピアからのルートの受け取りと、 ルーティングプロトコルピアへのルートの広がりは、 "accept" と "propagate" 節によって制御されます。
accept proto bgp|egp as <autonomous system> [preference <preference>] {
<acceptance_list>
} ;
accept proto rip|hello|redirect {
<acceptance_list>
} ;
accept proto rip|hello|redirect interface <interface_list>
[preference <preference>] {
<acceptance_list>
} ;
accept proto rip|hello|redirect gateway <gateway_list>
[preference <preference>] {
<acceptance_list>
} ;
acceptance_list:
listen <dest_mask> [preference <preference>] ;
nolisten <dest_mask> ;
受け取りリストが指定された場合、全てのルートが受け取られます。 複数のリストが指定された場合、 関連のある受け取りリストは、 特定性の高いものから低いものへと (gateway、interface、protocol) マッチするようにスキャンされます。 マッチするものがない場合は、ルートが破棄されます。 全ての関連のあるリストが処理された後に、 リフレイズされた "nolisten all" のエントリが仮定されます。
propagate proto bgp|egp as <autonomous system> [metric <metric>] {
<propagation_list>
} ;
propagate proto rip|hello [metric <metric>] {
<propagation_list>
} ;
propagate proto rip|hello interface <interface_list>
[metric <metric>] {
<propagation_list>
} ;
propagate proto rip|hello gateway <gateway_list>
[metric <metric>] {
<propagation_list>
} ;
propagation_list:
プロパションリストは、 目的地の起点に基づいて広がりを指定します。
proto bgp|egp as <autonomous system> [metric <metric>] [ {
<announce_list>
} ] ;
proto rip|hello|direct|static|default [metric <metric>] [ {
<announce_list>
} ] ;
proto rip|hello|direct|static|default interface <interface_list>
[metric<metric>] [ {
<announce_list>
} ] ;
proto rip|hello gateway <gateway_list>
[metric<metric>] [ {
<announce_list>
} ] ;
announce_list:
announce <dest_mask> [metric <metric>] ;
noannounce <dest_mask> ;
announce_list が指定されない場合は、 全ての目的地がアナウンスされます。 このプロトコルやインターフェースやゲートウェイ、 または自律システムに関連したアナウンスリストが指定され、 そして全ての関連のあるリストを試した後マッチするものがない場合は、 "noannounce all" が仮定されます。 したがって、空のアナウンスリストは、"noannounce all" に該当します。 アナウンスリストは、コンフィギュレーションファイルの中で 指定された特定性の高いものから低いものへと、スキャンされます。 ゲートウェイを指定する全てのリストが最初で、 次にインターフェースリストが続き、 最後にプロトコルを指定したリストが続きます。
関連ファイル
/etc/gated-2.conf
著者
Mark Fedor <fedor@psi.com>
Jeffrey C Honig <jch@gated.cornell.edu>
関連事項
arp(8), gated-2(8), ifconfig(8), netstat(8), routed(8)
RFC 891DCN ローカルネットワークプロトコル (HELLO)
RFC 904エクステリアゲートウェイプロトコル形式の仕様
RFC 911EGP ゲートウェイアンダーバークリー UNIX 4.2
RFC 1058ルーティングインフォーメーションプロトコル
RFC 1163ボーダーゲートウェイプロトコル (BGP)
RFC 1164インターネットにおけるボーダゲートウェイプロトコル のアプリケーシュン
NEWS-OSRelease 4.2.1R