Linuxルーティング
linuxルーティングテーブルメンテナンス
Linuxカーネルルーティングテーブルの表示
次のrouteコマンドを使用して、Linuxカーネルルーティングテーブルを表示します.
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のホストに到達する.
ネットワークルーティング
ネットワークルーティングは、ホストがアクセスできるネットワークを表します.ネットワークルーティングのFlagsフィールドはNです.例えば、次の例では、ローカルホストは、ネットワーク192.19.12に送信されたパケットを、IPアドレス192.168.1.1のルータに転送する.
デフォルトのルーティング
ホストがルーティングテーブルでターゲットホストのIPアドレスまたはネットワークルーティングを検索できない場合、パケットはデフォルトルーティング(デフォルトゲートウェイ)に送信されます.デフォルトルーティングのFlagsフィールドはGです.例えば、次の例では、デフォルトのルーティングは、IPアドレス192.168.1.1のルータである.
静的ルーティングの構成
义齿
ルーティングテーブルの設定と表示はrouteコマンドで行い、カーネルルーティングテーブルのコマンドフォーマットは次のとおりです.
次のようになります. add:ルーティングルール を追加 del:ルーティングルール を削除-net:宛先アドレスはネットワーク です.-host:宛先アドレスはホスト です. target:宛先ネットワークまたはホスト netmask:宛先アドレスのネットワークマスク gw:ルーティングパケットが通過するゲートウェイ dev:ルーティングに指定されたネットワークインタフェース routeコマンド使用例
ホストに追加されたルーティング
ネットワークに追加されたルーティング
デフォルトのルーティングの追加
ルートの削除
パケット転送の設定
CentOSではデフォルトのカーネル構成にルーティング機能が含まれていますが、デフォルトではシステムの起動時に有効になっていません.Linuxをオンにするルーティング機能は、カーネルのネットワークパラメータを調整することで実現できます.カーネルパラメータを構成および調整するにはsysctlコマンドを使用します.たとえば、Linuxカーネルのパケット転送機能をオンにするには、次のコマンドを使用します.
これにより、現在のシステムではパケット転送が実現されますが、次回コンピュータを起動すると失効します.次回のコンピュータ起動時に有効にするには、次の行をプロファイル/etc/sysctl.confに書き込む必要があります.
また、現在のシステムがパケット転送をサポートしているかどうかを確認するには、次のコマンドを使用します.
http://www.cnblogs.com/gunl/archive/2010/09/14/1826234.html
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]
次のようになります.
ホストに追加されたルーティング
# 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