我正在使用带有 Ubuntu Server 20.04.2 LTS VM 的 VMware。
我有两个网络接口连接到虚拟机;第一个 ens33 连接到 NAT 并为服务器提供互联网连接。第二个 ens34 是一个网络接口,应该用于将其他机器连接到服务器。
现在,我正在尝试为接口设置静态 IP。我已通过以下方式编辑sudo nano /etc/network/interfaces
并添加了
auto ens33
allow-hotplug ens33
iface ens33 inet static
address 192.168.42.140
netmask 255.255.255.0
gateway 192.168.42.1
auto ens34
allow-hotplug ens34
iface ens34 inet static
address 192.168.241.140
netmask 25.255.255.0
问题是,当重新启动服务器时,它会应用随机 IP 地址,而不是我在文件中选择的 IP 地址。
如果我运行命令sudo ifdown --force ens33
关闭接口,我会收到以下消息
RTNETLINK answers: No such process
RTNETLINK answers: Cannot assign requested address
但是当我运行时,sudo ifup ens33
没有错误,并且ifconfig
我可以看到我的网卡 ens33 具有我在开始时分配的正确 IP
我错过了什么?
PS 为接口分配静态 IP 的目的是我想将另一台虚拟机连接到我的服务器,并与连接的虚拟机共享服务器的互联网连接
答案1
问题是 Ubuntu Server 20.04.2 上的静态 IP 必须使用 Netplan 配置
导航到/etc/netplan
并编辑文件.yaml
或创建自己的文件
network:
version: 2
ethernets:
ens34:
addresses: [192.168.241.132/24]
gateway4: 192.168.241.129
nameservers:
addresses: [8.8.8.8,8.8.4.4]