Centos

如何為我的 KVM 訪客提供網路連接?

  • May 9, 2014

我對 KVM 和虛擬化的整個想法完全陌生,但已經閱讀了幾天並在過去幾個小時裡玩了它。

創建、安裝、複製等……一切看起來都很棒。但是當我嘗試 ping 8.8.8.8 時,我製作的客人最終會出現“網路無法訪問”

我正在為主機和來賓使用 CentOS 6.5。

來賓上的 ifconfig:

lo    Link encap:Local Loopback  
     inet addr:127.0.0.1  Mask:255.0.0.0
     inet6 addr: ::1/128 Scope:Host
     UP LOOPBACK RUNNING  MTU:16436  Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0 
     RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

我很欣賞這可能是問題所在 - 我假設應該有一個 eth0 設備?為什麼不存在?

安裝程式碼:

virt-install \
--virt-type kvm \
--name sebweb2 \
--ram 16384 \
--cdrom /var/ISOs/CentOS-6.5-x86_64-minimal.iso \
--disk /var/lib/libvirt/images/sebweb2.img,format=qcow2 \
--network bridge=br0 \
--nographics \
--os-type linux \
--os-variant rhel6 \
--vcpus 12

主機的ifconfig:

br0   Link encap:Ethernet  HWaddr 16:AC:2D:A6:98:40
     inet addr:xxx.yyy.zzz.217  Bcast:xxx.yyy.zzz.255  Mask:255.255.255.0
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:92172 errors:0 dropped:0 overruns:0 frame:0
     TX packets:58463 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0
     RX bytes:5428257 (5.1 MiB)  TX bytes:71953860 (68.6 MiB)

eth0  Link encap:Ethernet  HWaddr 16:AC:2D:A6:98:40
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:117592 errors:0 dropped:0 overruns:0 frame:0
     TX packets:79097 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:1000
     RX bytes:8766798 (8.3 MiB)  TX bytes:73073312 (69.6 MiB)
     Memory:fbc00000-fbd00000

lo    Link encap:Local Loopback
     inet addr:127.0.0.1  Mask:255.0.0.0
     UP LOOPBACK RUNNING  MTU:16436  Metric:1
     RX packets:92 errors:0 dropped:0 overruns:0 frame:0
     TX packets:92 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0
     RX bytes:8172 (7.9 KiB)  TX bytes:8172 (7.9 KiB)

virbr0 Link encap:Ethernet  HWaddr 51:54:00:39:CA:A7
     inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:2 errors:0 dropped:0 overruns:0 frame:0
     TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0
     RX bytes:128 (128.0 b)  TX bytes:0 (0.0 b)

vnet0 Link encap:Ethernet  HWaddr 54:FE:00:F1:31:95
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:0 errors:0 dropped:0 overruns:0 frame:0
     TX packets:256 errors:0 dropped:0 overruns:1 carrier:0
     collisions:0 txqueuelen:500
     RX bytes:0 (0.0 b)  TX bytes:20835 (20.3 KiB)

vnet1 Link encap:Ethernet  HWaddr 54:FE:00:CD:CD:C4
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:11 errors:0 dropped:0 overruns:0 frame:0
     TX packets:1307 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:500
     RX bytes:2722 (2.6 KiB)  TX bytes:110215 (107.6 KiB)

我應該提供任何其他相關資訊嗎?

謝謝!

如果客戶機上的“ifconfig -a”沒有顯示 eth0,則在主機上執行“virt-manager”以獲得一個不錯的 GUI 來編輯虛擬機的參數,而不是在命令行上進行。如果需要,您可以通過該 GUI 添加網路介面。

一旦您在客戶機上有一個 eth0,那麼您需要在文件 /etc/sysconfig/network-scripts/ifcfg-eth0 中指定介面的參數。請務必使用“GATEWAY”關鍵字指定預設網關。這是用於手動指定參數的範例 ifcfg 腳本(與使用 DHCP 不同)。您當然需要為您的網路提供正確的 IPADDR、NETWORK、NETMASK 和 GATEWAY 值。

DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.1.110
NETWORK=192.168.1.0
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

要使對 ifcfg-eth0 的更改生效,請執行“service network restart”。

引用自:https://serverfault.com/questions/593802