Linuxルーティング


linuxルーティングテーブルメンテナンス
Linuxカーネルルーティングテーブルの表示
次のrouteコマンドを使用して、Linuxカーネルルーティングテーブルを表示します.
# route
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.0.0     *               255.255.255.0   U     0      0        0 eth0
169.254.0.0     *               255.255.0.0     U     0      0        0 eth0
default         192.168.0.1     0.0.0.0         UG    0      0        0 eth0

routeコマンドの出力項目説明
しゅつりょくこうもく
  説明
Destination
ターゲットセグメントまたはホスト
Gateway
ゲートウェイアドレス
Genmask
ネットワークマスク
Flags
を選択します.いくつかの可能なマークは次のとおりです.
U―ルーティングはアクティブ
 H―ターゲットはホストである
G―ルーティングゲートウェイ
R―動的ルーティングによって生成されたテーブル項目を回復する
D―ルーティングのバックグラウンドプログラムにより動的にインストールする
M―ルーティングのバックグラウンドプログラムによる修正
! ― ルートの拒否
Metric
ルーティング距離、指定したネットワークに到達するために必要な中間回転数(linuxカーネルでは使用されていません)
Ref
ルーティング・アイテム参照回数(linuxカーネルでは使用されていません)
Use
このルーティング・アイテムがルーティング・ソフトウェアによって検索された回数
Iface
このルーティングテーブル項目に対応する出力インタフェース
3種類のルーティングタイプ
ホストルーティング
ホストルーティングは、ルーティングテーブルにおいて、単一のIPアドレスまたはホスト名を指すルーティングレコードである.ホストルーティングのFlagsフィールドはHです.例えば、次の例では、ローカルホストは、IPアドレス192.168.1.1のルータを介して、IPアドレス10.0.0.10のホストに到達する.
Destination    Gateway       Genmask        Flags     Metric    Ref    Use    Iface
-----------    -------     -------            -----     ------    ---    ---    -----
10.0.0.10     192.168.1.1    255.255.255.255   UH       0    0      0    eth0

ネットワークルーティング
ネットワークルーティングは、ホストがアクセスできるネットワークを表します.ネットワークルーティングのFlagsフィールドはNです.例えば、次の例では、ローカルホストは、ネットワーク192.19.12に送信されたパケットを、IPアドレス192.168.1.1のルータに転送する.
Destination    Gateway       Genmask      Flags    Metric    Ref     Use    Iface
-----------    -------     -------         -----    -----   ---    ---    -----
192.19.12     192.168.1.1    255.255.255.0      UN      0       0     0    eth0

デフォルトのルーティング
ホストがルーティングテーブルでターゲットホストのIPアドレスまたはネットワークルーティングを検索できない場合、パケットはデフォルトルーティング(デフォルトゲートウェイ)に送信されます.デフォルトルーティングのFlagsフィールドはGです.例えば、次の例では、デフォルトのルーティングは、IPアドレス192.168.1.1のルータである.
Destination    Gateway       Genmask    Flags     Metric    Ref    Use    Iface
-----------    -------     ------- -----      ------    ---    ---    -----
default       192.168.1.1     0.0.0.0    UG       0        0     0    eth0

静的ルーティングの構成
义齿
ルーティングテーブルの設定と表示はrouteコマンドで行い、カーネルルーティングテーブルのコマンドフォーマットは次のとおりです.
# route  [add|del] [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

次のようになります.
  • add:ルーティングルール
  • を追加
  • del:ルーティングルール
  • を削除
  • -net:宛先アドレスはネットワーク
  • です.
  • -host:宛先アドレスはホスト
  • です.
  • target:宛先ネットワークまたはホスト
  • netmask:宛先アドレスのネットワークマスク
  • gw:ルーティングパケットが通過するゲートウェイ
  • dev:ルーティングに指定されたネットワークインタフェース
  • routeコマンド使用例
    ホストに追加されたルーティング
    # route add -host 192.168.1.2 dev eth0:0
    # route add -host 10.20.30.148 gw 10.20.30.40

    ネットワークに追加されたルーティング
    # route add -net 10.20.30.40 netmask 255.255.255.248 eth0
    # route add -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
    # route add -net 192.168.1.0/24 eth1

    デフォルトのルーティングの追加
    # route add default gw 192.168.1.1

    ルートの削除
    # route del -host 192.168.1.2 dev eth0:0
    # route del -host 10.20.30.148 gw 10.20.30.40
    # route del -net 10.20.30.40 netmask 255.255.255.248 eth0
    # route del -net 10.20.30.48 netmask 255.255.255.248 gw 10.20.30.41
    # route del -net 192.168.1.0/24 eth1
    # route del default gw 192.168.1.1

    パケット転送の設定
    CentOSではデフォルトのカーネル構成にルーティング機能が含まれていますが、デフォルトではシステムの起動時に有効になっていません.Linuxをオンにするルーティング機能は、カーネルのネットワークパラメータを調整することで実現できます.カーネルパラメータを構成および調整するにはsysctlコマンドを使用します.たとえば、Linuxカーネルのパケット転送機能をオンにするには、次のコマンドを使用します.
    # sysctl -w net.ipv4.ip_forward=1

    これにより、現在のシステムではパケット転送が実現されますが、次回コンピュータを起動すると失効します.次回のコンピュータ起動時に有効にするには、次の行をプロファイル/etc/sysctl.confに書き込む必要があります.
    # vi /etc/sysctl.conf
    net.ipv4.ip_forward = 1

    また、現在のシステムがパケット転送をサポートしているかどうかを確認するには、次のコマンドを使用します.
    # sysctl  net.ipv4.ip_forward

        
     http://www.cnblogs.com/gunl/archive/2010/09/14/1826234.html