KVM Windows ゲスト VLAN タグ付け

KVM Windows ゲスト VLAN タグ付け

現在、プライベート ネットワークを実現する新しいクラウド プロバイダーを試しています。これは、複数の VLAN を実行できる機能です。構築するプラットフォームは Linux/Windows プラットフォームであり、複数の環境があるため、VLAN 構造でそれらを分離します。ここまでは、かなり基本的なものです。

Windows で VLAN タグ付けを使用する最良の方法は、「Realtek イーサネット診断ツール」を Realtek 8139 カードと組み合わせて使用​​することであり、これにより VLAN インターフェイスを作成できるようになります。

インターフェースは設定したとおりに起動していますが、ここからが楽しいところです。同じ VLAN (10) 内の別のマシンが、NetBIOS、ARP、その他の UDP 通信を受信します。簡単な tcpdump コマンドでこれを確認しました。

19:32:44.247964 IP 10.0.10.30.netbios-ns > 10.0.10.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
19:32:44.248057 IP 10.0.10.30.netbios-ns > 10.0.10.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
19:32:44.310334 IP 10.0.10.30.netbios-ns > 10.0.10.255.netbios-ns: NBT UDP PACKET(137): REGISTRATION; REQUEST; BROADCAST
19:32:44.509278 IP6 fe80::a1dd:64c9:ae27:5659.60116 > ff02::1:3.hostmon: UDP, length 24
19:32:44.509955 IP 10.0.10.30.63646 > 224.0.0.252.hostmon: UDP, length 24
19:32:44.606923 IP6 fe80::a1dd:64c9:ae27:5659.60116 > ff02::1:3.hostmon: UDP, length 24

サービスを停止するか、インターフェイスをプライベート グループに追加してすべてを許可することで、Windows ファイアウォールを完全に無効にしても、何も起こりません。Windows マシンで Wireshark を使用して、ICMP パッケージがサーバーによって受け入れられるかどうかを確認しましたが、Wireshark ではそれが認識されません。

もう 1 つ奇妙なのは、Windows マシンから Linux マシンに ping すると、最初に返されるタイムアウトはローカル IP からのもので、他の 3 つのタイムアウトは外部アドレス (デフォルトの GW) からのものです。つまり、Windows は UDP 以外のパッケージのインターフェイスを処理できないようです。

現時点では、この質問に対する回答は実際には存在せず、誰も解決または文書化していない問題が残っています。そこで、皆さんの助けを借りてこの問題を解決し、詳細なブログ投稿を作成して、誰もが情報を入手できるようにしたいと思います。

誰かが私を助けてくれることを願っています。私の目標は、Windows 2008R2 で複数の VLAN インターフェイスを作成し、それぞれに独自の VLAN タグを持たせることです。

答え1

まず第一に、e1000やrtlではなくvirtio_netを使用する必要があります。後者は両方ともエミュレートされており、基本的には遅いWindows では、OS 自体に VLAN タグを追加する機能がないため、通常はホスト上にタグ付きインターフェイスを作成し、その上にブリッジを追加して、すでにタグ付きトラフィックを通過させているそのブリッジに VM を接続します。

関連情報