基本信息:
我有一个在 ArchLinux 上运行的 KVM-libvirt/qemu;
3.18.2-2-ARCH
ls | egrep -i 'libvirt|qemu'
libvirt-1.2.11-1-x86_64.pkg.tar.xz
libvirt-glib-0.2.0-1-x86_64.pkg.tar.xz
libvirt-python-1.2.11-1-x86_64.pkg.tar.xz
qemu-2.2.0-1-x86_64.pkg.tar.xz
问题:
我正在运行不同的防火墙(具有多个接口/区域),并且对于处理特定配置时的 DHCP 问题,我想更改:
[root@localhost networks]# pwd
/etc/libvirt/qemu/networks
[root@localhost networks]# cat default.xml | grep address
<mac address='52:54:00:66:9c:8c'/>
<ip address='192.168.150.1' netmask='255.255.255.0'>
这是我的网络的“网关”,并用作 vrbrX 接口的 IP192.168.150.1 以外的其他名称,例如如果防火墙后面的某个主机采用第一个可用的 IP,它将具有相同的 IP,因此会产生网络冲突(发生这种情况是因为防火墙接口是桥梁并且主机位于它们后面),并且我不想每次都通过关闭 DHCP(或其他调整)将网络更改为静态 IP。
我尝试过的:
好吧,我尝试手动编辑 qemu/networks 的 xml,然后启动接口,但是尽管 xml 上的内容是:
然而,界面
25: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
inet 192.168.150.1/24 brd 192.168.150.255 scope global virbr0
答案1
没想到解决办法这么简单,
基本上,它应该用 virsh net-edit 进行编辑,它会提示您进入 vi,然后更改也会应用到界面。
奇怪的是,我编辑了 xml,并且它也应用到自动启动目录中,然后启动了接口,因此看起来 virsh 也可以执行其他操作。