
私の環境では、ほとんどのサーバーに 2 つのネットワーク カードがあります。アプリケーションが使用するプライマリ/ユーザー ネットワーク カードと、バックアップや一括コピーなどに使用するセカンダリ/バックアップ アダプターです。
新しいサーバーをセットアップしたところ、プライマリ/ユーザー アダプターしか持たないクライアントからセカンダリ アダプターに ping を実行する際に問題が発生しました。
テスト クライアントから、プライマリ/セカンダリ アダプタ上の他のサーバーに ping を実行できます。
ネットワーク:
192.168.151.0 == 私のサーバーがあるユーザーネットワーク
192.168.147.0 == クライアントとのユーザーネットワーク
192.168.245.0 == バックアップネットワーク
コンピューター:
newServer (rhel 6) [別名トラブルメーカー]
eth0 : 192.168.151.180 (ユーザーネットワーク)
eth1 : 192.168.245.187 (バックアップネットワーク)
古いサーバー (rhel 5)
eth0 : 192.168.151.203 (ユーザーネットワーク)
eth1 : 192.168.245.236 (バックアップネットワーク)
pubClient (rhel5) [ユーザーインターフェースのみを備えたクライアントシステム]
- eth0 : 192.168.147.118 (ユーザー)
pubClient から、eth0 または eth1 の IP アドレスのいずれかで oldServer に ping を実行できます。eth1 に ping を実行すると、ping の戻りパスが oldServer の eth0 インターフェイスになることに気付きました (tcpdump)。
pubClient から newServer の eth0 インターフェイスに ping できますが、newServer の eth1 アダプタに ping しても何も起こりません。tcpdump を使用すると、バックアップ ネットワーク インターフェイスにトラフィックが着信しているのがわかりますが、トラフィックが発信されていません。eth1 アダプタは正常に動作しています。newServer から 245 インターフェイスまたは pubClient を使用してバックアップ ネットワーク上の他のデバイスに ping できますが、問題は発生しません。
両方のサーバーのルーティング テーブルはシンプルで、機能的に同一です。
newServer # ip route list
192.168.151.0/24 dev eth0 proto kernel scope link src 192.168.151.180
192.168.245.0/24 dev eth1 proto kernel scope link src 192.168.245.187
default via 192.168.151.5 dev eth0
oldServer # ip route list
192.168.151.0/24 dev eth0 proto kernel scope link src 192.168.151.203
192.168.245.0/24 dev eth1 proto kernel scope link src 192.168.245.236
default via 192.168.151.5 dev eth2
どちらのボックスでも、両方のサーバーでファイアウォールは実行されていません。 net.ipv4.ip_forward = 0
新しいサーバーは RHEL6 を実行しています。何らかのネットワーク トラバーサル (ip_forward など) のデフォルトがデフォルトで無効になっているのではないかと思います。
私のネットワーク担当者は、これらのマシン間のルーティングには何も問題はないと主張しています。
問題が何であるか推測していただければ幸いです。
乾杯
-スコット
答え1
解決しました!
ありがとう、ウェイン。
新しい(rhel6サーバー)
echo "0" >/proc/sys/net/ipv4/conf/eth0/rp_filter
echo "0" >/proc/sys/net/ipv4/conf/eth1/rp_filter
「uRPF チェックは、パケットが到着したときにその送信元アドレスを確認します。その送信元アドレスへのルートがそのインターフェイスから出ない場合、パケットはドロップされます。」