web-dev-qa-db-ja.com

事後に仮想インターフェイス、Debianにバインドされたルート、および詳細を決定する方法

私は最近新しい仕事を始めました、そして多くの問題で既存のインフラストラクチャを継承しました。

問題の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物理インターフェイスにバインドできると思います。

しかし、私は「大丈夫だ」という原則に基づいて行動するつもりはありません。

明確にするための助けをいただければ幸いです。

5
anastrophe

仮想インターフェイス(つまり、eth0:0)は、ifconfigの単一のインターフェースで複数のIPアドレスをサポートするために作成されたハックです。これらは実際には存在しません。変更するIPアドレスをifconfigに指示する方法です。カーネルとiproute2ツール(つまり、ip)は、これらの仮想インターフェイスについて認識していません。そのため、すべてが実際のインターフェイスについてのみ言及しています。 routeコマンドは、仮想インターフェイスを使用して使用する送信元アドレスを決定した可能性がありますが、そうでない場合は、仮想インターフェイスを削除するだけでした。

むしろ、インターフェース上で複数のアドレスをサポートするipツールを使用し、srcパラメーターを使用してip routeルートに特定の送信元アドレスを設定する必要がある場合。

5
mgorven