Я только что установил KVM на минимальную установочную версию CentOS 7 x64 дома. И у меня возникла проблема, когда гость пытается получить IP-адрес от внутреннего DHCP-сервера от KVM (dnsmasq).
У меня уже есть интернет-бокс с включенным DHCP, и я знаю, что плохо, когда 2 сервера DHCP работают в одной локальной сети.
Когда я выполняю tcpdump на хосте KVM и госте, я вижу, что это мой интернет-бокс dhcp, который отвечает на гостевой запрос DHCP, а не dnsmasq (но гость все еще не получает IP, даже когда мой интернет-бокс dhcp толкает один к гостю). Есть ли способ изолировать гостя, чтобы получить IP-адрес только от dnsmasq dhcp-сервера?
Вот моя конфигурация на данный момент:
em1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::222:19ff:fe68:25de prefixlen 64 scopeid 0x20<link>
ether 00:22:19:68:25:de txqueuelen 1000 (Ethernet)
RX packets 22167 bytes 1671094 (1.5 MiB)
RX errors 0 dropped 16 overruns 0 frame 0
TX packets 35434 bytes 7868453 (7.5 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 9 bytes 4172 (4.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 9 bytes 4172 (4.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.250 netmask 255.255.255.0 broadcast 192.168.0.255
ether 00:22:19:68:25:de txqueuelen 0 (Ethernet)
RX packets 22056 bytes 1266640 (1.2 MiB)
RX errors 0 dropped 99 overruns 0 frame 0
TX packets 34413 bytes 7636993 (7.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
И результат из сети по умолчанию с virsh:
[root@centosKVM ~]# virsh net-info default
Name default
UUID ff41aa4b-b4b0-4047-b1af-545e3b8f19cd
Active: yes
Persistent: yes
Autostart: yes
Bridge: virbr0
[root@centosKVM ~]# virsh net-dumpxml default
<network>
<name>default</name>
<uuid>ff41aa4b-b4b0-4047-b1af-545e3b8f19cd</uuid>
<forward mode='nat'>
<nat>
<port start='1024' end='65535'/>
</nat>
</forward>
<bridge name='virbr0' stp='on' delay='0' />
<mac address='00:22:19:68:25:de'/>
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.100' end='192.168.122.254' />
</dhcp>
</ip>
</network>
Я создал гостя с помощью следующей команды:
virt-install --connect qemu:///system -n archlinux --cpu host -r 512 --vcpus=1 --disk path=/mnt/raid5/img/archlinux.raw,bus=virtio --cdrom /mnt/usb/archlinux-2015.02.01-dual.iso --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type linux --accelerate --network model=virtio,bridge=virbr0 --hvm
Я набрал следующие команды, чтобы открыть iptables и убедиться, что он ничего не блокирует:
iptables -F
iptables -X
Если вам нужна дополнительная информация или детали, просто спросите.
Спасибо.