CentOS 6.5を実行し、インターネットに接続された1つのインターフェイス(1つのパブリックIPアドレス)を備えた物理サーバーがあります。このサーバー内には、KVMからlibvirtを介してそれぞれ1つのインターフェイスで作成された2つのVMがあります。それぞれに1つのパブリックIPアドレスを割り当てたいVMと物理サーバーとの接続。
この写真は、私が持っているものを黒で、私が欲しいものを青で示しています: 。
brctl
を使用してLinuxブリッジを追加し、サーバーの物理インターフェイスと両方のVM仮想インターフェイスを接続するなど、さまざまな方法を試しましたが、機能せず、物理サーバーへの接続が失われました。
Linuxブリッジまたはlibvirtネットワークを自由に使用できます。
両方のVMと物理サーバーでパブリックIPアドレスを取得するにはどうすればよいですか?
最後に、質問の目標を達成するための適切な方法を見つけました。 libvirtネットワーキングの問題を解決できなかったため、これはLinuxブリッジを意味します。
手順:
vnet*
で始まりますこの例では、vnet0
およびvnet1
Linuxブリッジを作成するには:
brctl addbr virbr1
物理インターフェースとKVM= VMsインターフェースを新しいブリッジに接続します:
警告:ネットワーク(SSH、Telnetなど)を介して物理サーバーに接続している場合、接続が失われます。端末または代替方法を使用します(接続を備えた他のインターフェースと同様)。
brctl addif virbr1 vnet0
brctl addif virbr1 vnet1
brctl addif virbr1 eth0
CentOS 6.5では、次の内容でファイル/etc/sysconfig/network-scripts/ifcfg-eth0
を編集します。
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NAME=eth0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
CentOS 6.5では、次の内容でファイル/etc/sysconfig/network-scripts/ifcfg-virbr1
を編集します。
DEVICE=virbr1
BOOTPROTO=none
ONBOOT=yes
IPADDR=<physical_server_public_ip_address>
NETMASK=<physical_server_public_ip_netmask>
GATEWAY=<physical_server_gateway_ip_address>
NAME=virbr1
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
NM_CONTROLLED=no
DNS1=<physical_server_primary_dns_server_ip_address>
DNS2=<physical_server_secondary_dns_server_ip_address>
service network restart
注:(インターフェースとブリッジを介して)物理サーバーのネットワーク接続を回復する必要があります。
これはVMのOSに依存します。とにかく、少なくともIPアドレス、ネットマスク、デフォルトゲートウェイを含める必要があります。明らかにDNSサーバーは設定を完了します。
これらの構成はすべて静的であり、DHCP割り当てで置き換えることができます。この場合、ブリッジのMACアドレスとKVM VMインターフェースが役立つ可能性があります。