スポンサーリンク

ROUTE(8) FreeBSD システム管理者マニュアル ROUTE(8)

名称

route − マニュアルでルーティングテーブルを操作する

書式

route [−dnqtv] command [

                               [modifiers] args]

解説

route ユーティリティはネットワークルーティングテーブルを手動で操作しま す。通常は、 routed(8) のようなシステムルーティングテーブル管理デーモンが 保守をしているので、マニュアルでの操作は必要ありません。

route ユーティリティは指定できるオプションは少数ですが、強力なコマンド言 語をサポートしています。ユーザは route(4) において解説されているプログラ ム可能なインタフェースを通して、任意の要求を指定することができます。

以下のオプションを使用可能です:

       −d

デバッグモードで実行します。すなわち、ルーティングテーブルを実際 には変更しません。

−n
レポートの出力において、ホスト名とネットワーク名のシンボル名での 表示を抑止します (シンボル名と数字によるアドレスの変換処理には時 間がかかり、またネットワークが正常に動作している必要があります。 そのため、特にネットワークの動作の修正中には、変換処理を行わない 方が好都合かもしれません)。

−v
(冗長モード) 詳細な情報を出力します。

−q
add
, delete, flush コマンドからの全ての出力を抑制します。

route ユーティリティでは以下の 6 つのコマンドを提供しています。

add
ルートを追加します。
flush

全てのルートを削除します。
delete

指定されたルートを削除します。
change

ルートの属性 (ゲートウェイなど) を変更します。
get

ある宛先に対するルートを検索し、表示します。
monitor

ルーティング情報ベースの変更、ルーティング検索の失敗、ネット ワーク分割の疑いなどの情報を継続的に報告します。

monitor コマンドは以下の書式です。

route [−n] monitor

flush コマンドは以下の書式です。

route [−n] flush [family]

flush コマンドが指定されると、 route は全てのゲートウェイのエントリにおけ るルーティングテーブルを削除します。アドレスファミリが −osi, −xns, −atalk, −inet6, −inet のいずれかの修飾子によって指定されている場合、その アドレスファミリの宛先を持つルートだけが削除されます。

その他のコマンドは以下の書式です。

route [−n] command [−net | −host] destination gateway [netmask]

ここで destination は宛先のホストもしくはネットワークです。 gateway はパ ケットがルートされるべき次の中継点です。ある特定のホストへのルートは、 destination で指定されたインターネットアドレスを解釈することによって、 ネットワークへのルートと区別されます。オプションの修飾子 −net, −host が指 定されると、 destination をそれぞれネットワークもしくはホストとして強制的 に解釈します。これらの修飾子がないなら、 destination に INADDR_ANY (0.0.0.0) の ‘‘ローカルアドレス部’’ が含まれるか destination がネットワー クのシンボル名である場合はネットワークへのルート、その他の場合はホストへ のルートと想定します。 destination は、 net/bits の書式でも指定可能です。

例えば、 128.32 は −host 128.0.0.32 として解釈されます。 128.32.130 は −host 128.32.0.130 として、 −net 128.32 は 128.32.0.0 として、 −net 128.32.130 は 128.32.130.0 として解釈されます。 192.168.64/20 は −net 192.168.64 −netmask 255.255.240.0 として解釈されます。

destination に対する default 指定は、 −net 0.0.0.0 と同じ意味であり、デ フォルト経路です。

宛先がゲートウェイとして動作する中継点なしで、あるインタフェースから直接 到達可能な場合、 −interface 修飾子を指定しなければなりません。この場合、 指定されたゲートウェイは共通なネットワーク上のローカルホストのアドレスと なり、そのインタフェースが転送に使用されることを示します。また、インタ フェースが point to point 接続の場合、インタフェースをその名前で指定でき ます。この場合、ローカルやリモートのアドレスが変更されてもそのルートは有 効のまま残ります。

オプションの修飾子 −xns, −osi, −atalk, −link はそれに続いて指定されるアド レスが、それぞれ XNS, OSI, AppleTalk アドレスファミリである、もしくはリン クレベルのアドレスであることを指定します。これらの場合、名前はシンボル名 ではなく、数字によって指定をおこなわなければなりません。

オプションの修飾子 −netmask はネットマスクオプションつきの OSI ESIS プロ トコルによるリダイレクトの効果を実現するためのものです。つまり、ネット ワークインタフェースの暗黙のネットマスクとは異なるネットマスクをもつサブ ネットを手動で追加します (この方法によらない場合は、OSPF や ISIS ルーティ ングプロトコルによって通信します)。この修飾子に続いて、アドレスパラメータ (これはネットワークマスクとして解釈されます) を指定します。 AF_INET の場 合に生成される暗黙のネットワークマスクは、このオプションを destination パ ラメータに続いて指定することによって、上書きすることができます。

AF_INET6 では、 −mask 修飾子の代りに −prefixlen 修飾子が使用可能です。 IPv6 では非連続なマスクが許されないためです。例えば −prefixlen 32 はネッ トワークマスク ffff:ffff:0000:0000:0000:0000:0000:0000 の使用を指定しま す。 prefixlen のデフォルト値は 64 であり、集約可能 (aggregatable) アド レスと共に動作可能となっています。ただし、 default 指定時には 0 が仮定さ れます。この修飾子は AF_INET6 アドレスファミリのみで動作可能なことに注意 してください。

ルートにはいくつかのフラグがあり、そのルートを使う宛先にデータを送信する 時のプロトコルの動作に影響をおよぼします。これらのフラグは以下の修飾子に よってセット (もしくはクリア) できます。

-cloning   RTF_CLONING    - 使用中のルートを新たにひとつ生成する。
-xresolve  RTF_XRESOLVE   - (外部からの検索に対して) 使用中である旨のメッ
                            セージを発行する。
-iface    ~RTF_GATEWAY    - 宛先が直接到達可能。
-static    RTF_STATIC     - 手動でルートを追加する。
-nostatic ~RTF_STATIC     - カーネルかデーモンによってルートが追加された
                            ように振舞う。
-reject    RTF_REJECT     - マッチした場合に ICMP unreachable を出力する。
-blackhole RTF_BLACKHOLE  - (更新中に) 何も報告せずにパケットを捨てる。
-proto1    RTF_PROTO1     - プロトコルに特有のフラグ #1 をセットする。
-proto2    RTF_PROTO2     - プロトコルに特有のフラグ #2 をセットする。
-llinfo    RTF_LLINFO     - プロトコルアドレスからリンクアドレスへの変換の
                            正当性をチェックする。

オプションの修飾子 −rtt, −rttvar, −sendpipe, −recvpipe, −mtu, −hopcount, −expire, −ssthresh によって TCP や TP4 のトランスポートレベルのプロトコル によるルーティングのエントリ中でメインテナンスされる値の初期値を指定しま す。これらは各々の修飾子の前に −lock メタ修飾子を指定することによって、個 別にその値をロックすることができます。また −lockrest メタ修飾子をつけるこ とによって、その後に続く全ての値をロックすることもできます。

change もしくは add コマンドにおいて、 destination もしくは gateway が ルートを特定するのに不十分であった場合 (たとえば ISO のケースにおいて、複 数のインタフェースが同じアドレスを持っているような場合)、 −ifp−ifa 修 飾子を使うことによって、インタフェースやインタフェースアドレスを特定する ことができます。

オプションの −proxy 修飾子を指定すると、 RTF_LLINFO 経路表エントリが、 ‘‘ 公表された (代理のみの)’’ ARP エントリとなり、 arp(8) はそのように報告し ます。

省略可能な −genmask 修正子は、クローンマスクが存在することを指定します。 これは、子の経路が作成されるべきかどうかを判断するときに、マスクが適用さ れることを指定します。これは、 RTF_CLONING フラグが設定されたネットワーク 経路に対してのみ適用されます。

destinationgateway で指定された全てのシンボル名は、まずホスト名として gethostbyname(3) を使用して検索されます。検索に失敗した場合は、その名前を ネットワーク名と見なし getnetbyname(3) によって検索されます。

route ユーティリティはルーティングソケットと新しいメッセージタイプである RTM_ADD, RTM_DELETE, RTM_GET, RTM_CHANGE を使います。ルーティングテーブル の変更はスーパユーザのみがおこなうことができます。

診断

add [host | network ] %s: gateway %s flags %x 指定されたルートがテーブル に追加されました。出力された値は ioctl(2) の呼出しの中で使われたルーティ ングテーブルのエントリからのものです。指定されたゲートウェイアドレスがそ のゲートウェイのプライマリアドレス (gethostbyname(3) によって返される最初 のもの) でなかった場合、ゲートウェイアドレスがシンボル名に加えて、数字で も表示されます。

delete [ host | network ] %s: gateway %s flags %x 指定されたルートがテー ブルから削除されました。

%s %s done flush コマンドが指定された場合、削除された各ルーティングテー ブルエントリがこの形式のメッセージで報告されます。

Network is unreachable 指定されたゲートウェイが直接到達可能なネットワー ク上にないために、ルートの追加に失敗しました。 hop 数が 1 であるゲート ウェイを指定しなければなりません。

not in table テーブルにないエントリを削除しようとしました。

routing table overflow ルートの追加を試みましたが、システムの資源が少な く、新しいエントリを作成するためのメモリを割り当てられませんでした。

gateway uses the same route change 操作の結果変更された経路は、そのゲー トウェイが使用する経路と同一です。次ホップのゲートウェイが別の経路から到 達可能であるべきです。

ユーティリティ route は、成功すると 0 で、エラーがあった場合は >0 で終了 します。

関連項目

netintro(4), route(4), arp(8), IPXrouted(8), routed(8)

歴史

route ユーティリティは 4.2BSD で登場しました。

バグ

最初の段落は多少 routed(8) の能力を大げさに書いています。

今のところ、IP fast forward 機能が有効になっていないと RTF_BLACKHOLE フラ グが設定されたルートには、フラグが効果を持つよう −iface オプションを使っ て lo(4) ドライバにゲートウェイを設定する必要があります。 IP fast forward 機能が有効であれば、フラグの意味は常に受け入れられます。

FreeBSD 10.0 November 4, 2004 FreeBSD 10.0

スポンサーリンク