我在为我的主机和我的虚拟机设置网桥时遇到了很多问题。
主机(服务器的操作系统)是 Ubuntu 20.04.4 LTS。VM(使用 KVM 和 virt-manager)是 TrueNAS Core (FreeBSD)。我的服务器(主板上)有一个以太网端口,我想同时用于我的操作系统和虚拟机。os 需要获取 192.168.2.15 的 ip,dns 设置为 1.1.1.1,vm 需要获取 192.168.2.16 的 ip。它们都需要从“外部”访问。所以,据我了解,我需要设置一个网桥。
好吧,这一切都出错了。我从这个视频开始,但没有成功。然后我尝试了这个视频,但也没有成功。然后我尝试了本指南,但再次没有成功。然后我转向 SO 并尝试了这些(1、2),但都没有成功。
每次都出事。大多数时候 DNS 不工作,或者 IP 地址混乱(完全不同的子网),或者操作系统具有正确的 IP 但无法 ping 任何其他设备(不是 1.1.1.1,也不是 192.168.2.79,即我的静态 ip-ed win10 计算机)或 /etc/network/interfaces 被忽略(该文件还不存在)。大多数时候人们建议使用sudo /etc/init.d/networking restart
systemd 或类似使用 systemd,但每次我收到networking
不存在的消息时,我觉得这很奇怪,因为其他人都拥有它。
这只是一团糟,我无法让它工作。我真的很感激一些帮助!
该文件/etc/network/interfaces
当前不存在。
ifconfig -a
输出:
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.2.15 netmask 255.255.255.0 broadcast 192.168.2.255
inet6 fe80::8506:f97f:df7c:f66b prefixlen 64 scopeid 0x20<link>
ether 18:c0:4d:9b:3c:12 txqueuelen 1000 (Ethernet)
RX packets 10390 bytes 3524106 (3.5 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2534 bytes 330756 (330.7 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device memory 0xfc600000-fc61ffff
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 1000 (Local Loopback)
RX packets 7172 bytes 712208 (712.2 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7172 bytes 712208 (712.2 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:06:8d:b0 txqueuelen 1000 (Ethernet)
RX packets 142 bytes 12152 (12.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 40 bytes 4136 (4.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0-nic: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 52:54:00:06:8d:b0 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fc54:ff:fee6:a823 prefixlen 64 scopeid 0x20<link>
ether fe:54:00:e6:a8:23 txqueuelen 1000 (Ethernet)
RX packets 142 bytes 14140 (14.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 939 bytes 55015 (55.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
编辑:里面/etc/netplan
,有一个文件:01-network-manager-all.yaml
. 内容:
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
我不关心网络管理员。如果有一些解决方案有效但破坏了网络管理器,我完全可以接受。