我的 FreeNAS 11.3-U5 盒子上运行着一个 Ubuntu Server 20.04 虚拟机。
我的问题是我的虚拟 Ubuntu 服务器没有分配 IP 地址。
我有一台 Edge Router X,子网为 10.17.16.0/21,网关为 10.17.17.4。DHCP 服务器在 Edge Router X 上运行。
我最近从 NetGear r7000 换成了当前的 Edge Router X (ERX) 路由器,并且只将 r7000 用作 AP,并且关闭了 DHCP。经过多年可靠的 dd-wrt 服务后,它开始出现一些奇怪的问题。自从升级到 ERX 以来,一切都非常稳定,我网络上的所有设备都已由 Edge Router X DHCP 服务器分配 IP,虚拟 VM 除外。
过去,我在 FreeNAS 上的虚拟 Ubuntu 服务器遇到了问题。问题和解决方案是编辑/etc/netplan/00-installer-config.yaml
并更改enp0s5
为enp0s4
此处所示的内容“https://www.truenas.com/community/threads/freenas-11-2-u3-ubuntu-18-04-server-in-vm-has-no-internet-access.75684/”该问题与删除虚拟 CD ROM 接口和网络接口 #/位置更改有关。这不是当前的问题,但可能以某种方式相关。当前,接口已分配给正确的物理端口并正在使用该VIRTIO
接口。
当前/etc/netplan/00-installer-config.yaml
配置:
network:
ethernets:
enp0s4:
dhcp4: true
version: 2
我认为 Ubuntu Server、FreeNAS 和虚拟 NIC 交互的方式有些奇怪。
> ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default glen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default glen 1000
link/ether 00:a0:98:29:a9:c4 brd ff:ff:ff:ff:ff:ff
inet6 fe80,2a0:98ff:fe29:a9c4/64 scope link
valid_lft forever preferred_lft forever
可以看出,虚拟 enp0s4 接口上没有 IPv4 地址。
启动时出现错误信息:
“启动作业正在运行,等待网络配置”。
yaml
搜索此错误会给出建议重新启动网络服务和/或通过添加行来 编辑上述文件: optional: true
。这些都不起作用。
运行ip route
什么也没有返回。
ping google.com
返回ping: google.com: Temporary failure in name resolution
。
ip add 10.17.17.99 dev enp0s4
添加inet 10.17.17.99/32 scope global enp0s4
到 enp0s4 接口。
ip route add 10.17.17.4 dev enp0s4
将路由添加10.17.17.4 dev enp0s4 scope link
到路由表(之前为空白)。
无论是一起还是单独使用都无法解决问题。
如果我尝试使用子网 \21 执行上述命令,它不起作用。
我所做的与此问题一致的一项相关更改是,当我切换路由器时,我将网络从 10.17.17.0 更改为 10.17.16.0,因为要使用子网 \21 增加我的 IP 范围,我必须这样做,否则我的路由器会说这是一个无效子网。也许虚拟机以某种方式修复了网关或子网掩码并且没有更新?
我很想了解如何彻底破坏/禁用/刷新整个网络接口并让服务器从我的路由器请求 IP。
任何帮助都将受到赞赏。