Ubuntu 14.04 サーバーで各 VLAN のサブインターフェイスを設定しようとしています。vconfig を使用して正常に設定できたと思いますが、サブインターフェイスは、自身の VLAN 上のホストからのみ ping 可能です。サブインターフェイスに接続するには、VLAN 外のホストが必要です。これは CentOS サーバーでは問題なく機能しているようなので、ネットワークが正しいことがわかります。また、tcpdump
VLAN 外のクライアントからサブインターフェイスに ping を実行すると、サブインターフェイスに ICMP 要求パケットが表示されます。
何かアイデアはありますか? 他にトラブルシューティングのヒントはありますか?
編集: これを修正することができました。サーバーの tcpdump には icmp エコー要求が表示されていましたが、応答はありませんでした。関連する投稿を見つけました。ここMartian ソース ログを有効にするには、次のようにします。
echo 1 >/proc/sys/net/ipv4/conf/eth2/log_martians
その後
sysctl net.ipv4.conf.all.rp_filter=2
修正しました。この問題がもっと頻繁に発生しないのは驚きです。
答え1
これを修正することができました。サーバーのtcpdumpにはicmpエコー要求が表示されていましたが、応答はありませんでした。関連する投稿を見つけました。ここMartian ソース ログを有効にするには、次のようにします。
echo 1 >/proc/sys/net/ipv4/conf/eth2/log_martians
その後
sysctl net.ipv4.conf.all.rp_filter=2
修正しました。この問題がもっと頻繁に発生しないのは驚きです。
答え2
クライアントがサーバーの IP アドレスを ping するには、次のいずれかの条件が満たされている必要があります。
- クライアントは同じ[V]LAN上にある必要がありますそしてping しようとしているアドレスと同じ IP サブネット上の IP アドレスを使用します。
または
- クライアントの [V]LAN と IP サブネットをサーバーの [V]LAN と IP サブネットに接続する IP ルーター (またはルーターのネットワーク) が必要です。
2 つの VLAN 間 (または同じ VLAN 上の 2 つの IP サブネット間 (そのようにしている場合)) にルーターを設定していない場合は、ping が通過する IP ネットワーク ルートが提供されていません。
一部の OS では、少なくとも一部の構成では、特定の IP パケットがどのインターフェイスから入ってきたかに注意を払わないことに注意してください。そのため、そのような場合、"間違った" インターフェイスから入ってきた ping 要求に応答することがあります。これは、CentOS 環境がこのように緩いのに対し、Ubuntu ボックスはどのインターフェイスがどのインターフェイスであるかをより慎重に扱っている可能性があります。または、CentOS ボックスで IP 転送 (IP ルーターの最も単純なバージョン) を有効にしたが、Ubuntu ボックスでは有効にしていない可能性があります。
答え3
接続しようとしている特定のリモート ネットワークへのルートが必要なようです。
テストするには、次のようにしてルートをルーティング テーブルに挿入します。
sudo route add -net 172.16.0.0/12 gw 192.168.1.113 dev eth.<vlan number>
これらのルートを永続的にするには、次のようなエントリを /etc/network/interfaces に追加する必要があります。
up route add [-net|-host] <host/net>/<mask> gw <host/IP> dev <Interface>