インターネットに接続されているインターフェイス(パブリックIPアドレス付き)を使用してCentOS 6.5を実行している物理サーバーがあります。このサーバーでは、libvirtを介してKVMを使用して、それぞれインターフェイスを持つ2つの仮想マシンを作成しました。各仮想マシンにパブリックIPアドレスを割り当て、物理サーバーへの接続を引き続き使用したいと思います。
この画像は、私が持っているものと青色で欲しいものを示しています。 。
サーバーの物理インターフェイスと両方のVMの仮想インターフェイスを使用してLinuxブリッジを追加するなど、さまざまな方法を試しましたが、機能せずにbrctl
物理サーバーとの接続が失われました。
Linuxブリッジまたはlibvirtネットワーキングを使用したいと思います。
仮想マシンと物理サーバーからパブリックIPアドレスを取得するにはどうすればよいですか?
ベストアンサー1
最後に、私は質問の目標を達成する正しい方法を見つけました。 libvirt ネットワーキングを使用して問題を解決できないため、Linux ブリッジングを意味します。
スピード:
- KVM仮想マシンインターフェイスを識別します。インターフェイス名は次から始めることができます。
vnet*
この例vnet0
ではvnet1
次のコマンドを使用して Linux ブリッジを作成します。
brctl addbr virbr1
物理インターフェイスとKVM VMインターフェイスを新しいブリッジに接続します。
警告:ネットワーク(SSH、Telnetなど)を介して物理サーバーに接続すると、接続が失われます。端末または別の方法(接続可能な他のインターフェースなど)を使用してください。
brctl addif virbr1 vnet0
brctl addif virbr1 vnet1
brctl addif virbr1 eth0
- 割り当てられたIPアドレスを持たない物理サーバーインターフェイスを設定します。
CentOS 6.5で、/etc/sysconfig/network-scripts/ifcfg-eth0
次の内容を含むファイルを編集します。
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NAME=eth0
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
- IPアドレスを持つように物理サーバーブリッジを設定します。
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
注:物理サーバーネットワーク接続を復元する必要があります(インターフェースとブリッジを介して)。
- KVM仮想マシンのネットワークインターフェイスを設定します。
これは、仮想マシンのオペレーティングシステムによって異なります。それにもかかわらず、少なくともIPアドレス、ネットマスク、およびデフォルトゲートウェイを含める必要があります。明らかに、DNSサーバーは構成を完了します。
これらの構成はすべて静的であり、DHCP割り当てによって上書きできます。この場合、ブリッジのMACアドレスとKVM VMインターフェイスが便利です。