私は最近新しい仕事を始めました、そして多くの問題で既存のインフラストラクチャを継承しました。
問題の1つは、前の管理者が、サーバー構成にコミットせずに、コマンドラインで仮想インターフェイスにバインドされた静的ルートを一部のサーバーに追加したことです。ルート履歴を閲覧して、偶然これを発見しました。
私が直面している問題は、歴史が限られているということです。コマンドラインエントリは2、3しかありませんが、すべてではありません。ただし、私が精通している診断ツールのいずれも、ルートがバインドされている仮想インターフェイスを明らかにしません。
具体的には、もちろん(システムのプライバシーのためにIPアドレスがいじられています)。
root@web-a:/home/paul# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
14.17.24.24 10.124.74.65 255.255.255.255 UGH 0 0 0 eth0
14.17.24.23 10.124.74.65 255.255.255.255 UGH 0 0 0 eth0
18.29.146.135 10.124.74.65 255.255.255.255 UGH 0 0 0 eth0
58.21.196.19 10.124.74.65 255.255.255.255 UGH 0 0 0 eth0
10.124.74.64 0.0.0.0 255.255.255.192 U 0 0 0 eth0
0.0.0.0 10.124.74.65 0.0.0.0 UG 0 0 0 eth0
root@mweb-a:/home/paul# ip route show
14.17.24.24 via 10.124.74.65 dev eth0 src 10.124.74.73
14.17.24.23 via 10.124.74.65 dev eth0 src 10.124.74.73
18.29.146.135 via 10.124.74.65 dev eth0 src 10.124.74.73
58.21.196.19 via 10.124.74.65 dev eth0 src 10.124.74.73
10.124.74.64/26 dev eth0 proto kernel scope link src 10.124.74.69
default via 10.124.74.65 dev eth0
root@web-a:/home/paul# history|grep "route add"
66 2012-07-26 14:46:27 - route add -net 14.17.24.23 netmask 255.255.255.255 gw 10.124.74.65 eth0:2
67 2012-07-26 14:46:27 - route add -net 14.17.24.24 netmask 255.255.255.255 gw 10.124.74.65 eth0:2
うまくいけば、それははっきりと通り抜けました。 'route -n'、 'ip route show'は、ルートがバインドされた実際の仮想インターフェイスを表示しません。したがって、どのvirtインターフェイスに移動する必要があるのかわからない2つのルートがあります(サーバーには5つの仮想IPがあります)。
さて、ここでの重要な注意点は、私がルーティングを嫌うということです。基本は理解していますが、それだけです。私はかなり長い間UNIX /システム管理者でしたが、ルーティングは常に私を避けてきました、そして私はいくつかのインターフェースを正しく配管することよりも高度なことをする必要はありませんでした。
私が得ているのは、ルートが特定の仮想インターフェイスにバインドされているかどうかさえわからないということですmatters。出力から判断すると、すべてが同じゲートウェイを経由しているため(そして、すべての仮想インターフェイスが同じ10.124.74ネットワーク上にあるため)、個々のvirtインターフェイスにバインドする必要はないと思います-I ' d物理インターフェイスにバインドできると思います。
しかし、私は「大丈夫だ」という原則に基づいて行動するつもりはありません。
明確にするための助けをいただければ幸いです。
仮想インターフェイス(つまり、eth0:0
)は、ifconfig
の単一のインターフェースで複数のIPアドレスをサポートするために作成されたハックです。これらは実際には存在しません。変更するIPアドレスをifconfig
に指示する方法です。カーネルとiproute2ツール(つまり、ip
)は、これらの仮想インターフェイスについて認識していません。そのため、すべてが実際のインターフェイスについてのみ言及しています。 route
コマンドは、仮想インターフェイスを使用して使用する送信元アドレスを決定した可能性がありますが、そうでない場合は、仮想インターフェイスを削除するだけでした。
むしろ、インターフェース上で複数のアドレスをサポートするip
ツールを使用し、src
パラメーターを使用してip route
ルートに特定の送信元アドレスを設定する必要がある場合。