使用 KVM/QEMU 时如何为主机和任务机设置静态 IP

使用 KVM/QEMU 时如何为主机和任务机设置静态 IP

我设置了一个 Ubuntu 服务器 16.04,并在其上安装了 KVM/QEMU。我为主机设置了静态 IP 192.168.1.10,并且我也想在虚拟机上设置一个静态 IP(192.168.1.20),我知道我需要设置一个桥接网络设备,但是我发现的所有指南都对主机使用 DHCP,对主机使用静态/dhcp。

我尝试在主机上进行如下设置:

auto lo 
iface lo inet loopback 
# The primary network interface 
auto eno1
iface eth0 inet static
 address 192.168.1.10
 netmask 255.255.255.0
 network 192.168.1.0
 broadcast 192.168.1.1
 gateway 192.168.1.255
 dns-nameservers 8.8.8.8 8.8.4.4

auto br0 
iface br0 inet static 
 address 192.168.1.20
 network 192.168.1.0 
 netmask 255.255.255.0
 broadcast 192.168.1.255 
 gateway 192.168.1.1 
 dns-nameservers 8.8.8.8 8.8.4.4 
 bridge_ports eno1
 bridge_fd 9 
 bridge_hello 0
 bridge_maxage 0 
 bridge_stp off

在客户机上:

 auto br0 
 iface br0 inet static 
 address 192.168.1.20
 network 192.168.1.0 
 netmask 255.255.255.0
 broadcast 192.168.1.255 
 gateway 192.168.1.1 
 dns-nameservers 8.8.8.8 8.8.4.4 

但这个设置不起作用。事实上,我失去了与两台机器的所有连接。可能是什么问题?

在我添加桥接适配器之前,主机上的连接工作正常。

答案1

答案是,iface eno1 设置为手动,并且 br0 的设置方式与 eno1 的正常设置方式相同,且分配给主机,然后将客户机正常设置为 eno1。

# The primary network interface
auto eno1
iface eno1 inet manual

auto br0
iface br0 inet static
 address 192.168.1.10
 network 192.168.1.0
 netmask 255.255.255.0
 broadcast 192.168.1.255
 gateway 192.168.1.1
 dns-nameservers 8.8.8.8 8.8.4.4
 bridge_ports eno1
 bridge_stp off
 bridge_fd 0
 bridge_maxwait 0

然后在客户机上正常使用默认 NIC:

# The primary network interface
auto ens3
iface ens3 inet static
 address 192.168.1.20
 network 192.168.1.0
 netmask 255.255.255.0
 gateway 192.168.1.1
 broadcast 192.167.1.255
 dns-nameservers 8.8.8.8 8.8.4.4

我一开始没有意识到的是,br0 成为主机上的“新”eno1 接口,并且在那里设置的 IP 将成为主机的 IP

相关内容