dnsmasq
Libvirt에는 DHCP/DNS 서버 역할을 하는 정의된 네트워크가 있습니다 . 그러나 이는 dnsmasq
별도의 인스턴스( 에서 구성됨 /var/lib/libvirt/dnsmasq/default.conf
)이며 추가 프로세스를 생성합니다 dnsmasq
. 나는 한동안 내 전역/시스템 인스턴스를 사용해 왔으며 dnsmasq
이를 libvirt 가상 머신과 함께 사용하고 싶습니다. 하지만 이는 달성하기 쉬운 일은 아닌 것 같습니다.
이제 virsh net-edit default
다음()을 제거하여 기본 네트워크에 대해 DNS 및 DHCP를 비활성화했습니다.
<dhcp>
<range start='192.168.122.2' end='192.168.122.254'/>
</dhcp>
그리고 다음을 추가하세요:
<dns enable="no"/>
물론 이렇게 하면 libvrt가 추가 dnsmasq 프로세스를 생성하는 것이 중지되지만 /etc/dnsmasq.conf
가상 머신이 DHCP를 통해 IP 주소를 얻고 DNS 이름을 사용하여 네트워크에 액세스할 수 있도록 시스템 구성 파일에 무엇을 추가해야 할까요?
답변1
나는 그것을 해결했습니다.
기본적으로 문제는 기본 네트워크에 있습니다. 사용하지 않거나 변경해야 합니다. 방금 /etc/libvirt/qemu/networks/host-bridge.xml
다음 내용으로 다른 네트워크( )를 만들었습니다 .
<network>
<name>host-bridge</name>
<forward mode="bridge"/>
<bridge name="virbr0"/>
</network>
그런 다음 가상 머신에서 사용하던 네트워크를 새로 생성된 네트워크로 변경했습니다.
브리지는 virbr0
다음 파일을 사용하여 생성됩니다 /etc/network/interfaces
.
auto virbr0
iface virbr0 inet static
bridge_bridgeprio 20
address 192.168.122.1
netmask 255.255.255.0
bridge_ports none
bridge_stp on
bridge_waitport 5
dns-nameservers 127.0.0.1
dns-search libvirt
꽤 잘 작동하는 것 같지만, 실제로 내가 원하는 대로 작동하는지 확인하려면 좀 더 사용해 봐야 할 것 같습니다.