皆さん、ここの誰かが私を助けてくれることを願っています。
Ubuntuシステムに、KVM内で実行しているVMに接続するためのブリッジを設定しました。ブリッジはARP要求と応答を送信できるため、双方向のトラフィックがありますが、IPトラフィックは通過できません。
ネットワーキングは次のとおりです。vnet0-> bridge-> eth1-> VLAN pingしようとしているホストと
Eth1をトラバースしようとすると、pingがすべて失敗します。 vnet0、bridge、eth1インターフェイスでTCPDUMPを実行しました。問題は、vnet0から送信されたときにeth1を離れるIPパケットがなく、ブリッジインターフェイスをうまく通過しているように見えることです。また、この接続にはUSB 3.0ギガビットアダプターを使用しています。
これまでのトラブルシューティング:
困った。なぜL2だけが通過できるのか、考えはありますか?私のVMは、arpを介してeth1を介してシステムのMACアドレスを学習しますが、IPパケットを送信できません。
ありがとう
さらに1時間ほど机に頭を打ちつけた後、私はそれを理解しました。 14.04を実行していた別のマシンで作業していたものから/ etc/network/interfaces configを作成しました。関連するビットのみを示す壊れたインターフェイスファイル:
自動eth1
iface eth1 inetマニュアル
up ifconfig eth1 up自動E-MGMT-ブリッジ
iface E-MGMT-Bridge inetマニュアル
bridge_stp off
bridge_fd 0
bridge_ports eth1
16.04では、ARP、CDP、STPフレームなどのレイヤー2トラフィックを許可しながら、レイヤー3を何らかの形で破壊します。非常に奇妙な。 16.04で動作させるには、eth1スタンザを削除し、ブリッジを定義するだけで、ブリッジが参照する物理インターフェイスを定義する必要はありません。
自動E-MGMT-ブリッジ
iface E-MGMT-Bridge inetマニュアル
bridge_stp off
bridge_fd 0
bridge_ports eth1
再起動する必要があり、ブリッジを介してスイッチに接続されている実際のネットワークにVMからpingを実行できました。他の誰かがこれに遭遇したかどうか、または私が幸運かどうかはわかりません。
ARPだけが表示され、「実際の」トラフィックが表示されない場合は、iptablesが問題の可能性があります。 iptablesのFORWARDINGポリシーがACCEPTに設定されているかどうかを確認してください。代わりにポリシーDROPを使用する場合は、KVMトラフィックを許可するための転送ルールが追加されているかどうかを確認してください。