我设置了一个 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