Я совершенно новичок в KVM и всей идее виртуализации, но читал об этом пару дней и играл с ним последние несколько часов.
Создание, установка, клонирование и т. Д., Все кажется отличным. Но гости, которых я делаю, заканчивают тем, что "сеть недоступна", когда я пытаюсь пинговать 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» на хосте, чтобы получить красивый графический интерфейс для редактирования параметров виртуальной машины, вместо того, чтобы делать это в командной строке. Через этот графический интерфейс вы можете добавить сетевой интерфейс, если он вам нужен.
Если у вас есть 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 вступили в силу, запустите «перезапуск сети обслуживания».
сделать "brctl show" на хосте
чтобы убедиться, что ваша виртуальная машина подключена к мосту br0, и поскольку ваш br0 имеет общедоступный IP-адрес (я предполагаю, поскольку вы его прокомментировали), назначьте общедоступный IP-адрес гостевой виртуальной машине с правильным шлюзом.
или
удалите свой виртуальный интерфейс из br0 и добавьте его в virbr0.
на хосте
brctl delif br0 vifname
brctl addif virbr0 vifname
включите dhcp для вашего гостя, установив BOOTPROTO = dhcp.
Вы получите IP-адрес в 192.168.122.0 и сможете получить доступ извне, если у вас есть правильные правила NAT, созданные libvirt.