いくつかのホストグループがあり、各グループには特定のパスが必要です。
パスは頻繁に変更されますが、同じグループに属するホスト間の違いを確認するスクリプトを作成したいと思います。
コマンドの出力を比較してみましたip r
が、各ホスト間に微妙な違い(インターフェイス名やメトリックなど)があり、誤検出が発生しました。
たとえば、次のホスト、ルート、およびVLAN(すべてこの例のために作成)があるとします。
Host 1:
10.0.0.30 via 192.168.0.1 VLAN 1
100.50.10.10 via 10.0.0.1 VLAN 2
ホスト2には次のコンテンツしかありません。
Host 2:
10.0.0.30 via 192.168.0.1 VLAN 1
私はスクリプトが欠落について文句を言いたいと思います100.50.10.10 via 10.0.0.1 VLAN 2
。
インターフェース名や指標は気にしません。10.50.10.10
アドレスがVLAN2
他のサーバーではない限り、サーバーを介して到達するだけです。
この問題を解決するためのアイデアと方向を教えてください。
ありがとうございます!
ベストアンサー1
あなたは製品ライン全体に興味を持っていません。したがって、興味のある部分をフィルタリングしてみてください。あなたが説明するものに対する迅速で汚い解決策で、
sed -n 's/ via [0-9\.]* /;/p'
あなたの興味の分野が提供されます。
ただし、ルーティングテーブルの外観への参照を持ち、ホストのルーティングテーブルをそのテーブルと比較することをお勧めします。すべてのホストで必須パスがないため、偽の不正が発生する可能性があります。