在 Ubuntu 22.04 中配置静态 IP 的步骤如下:
-
打开终端,并以管理员身份运行。
-
编辑网络配置文件。输入以下命令并按 Enter 键:
sudo nano /etc/netplan/00-installer-config.yaml
-
在打开的文件中,找到与你要设置静态 IP 的网络接口相关的部分。默认情况下,接口名称为
eth0
。 -
在该接口部分添加以下内容来配置静态 IP 地址、子网掩码和网关:
addresses: [192.168.1.100/24] gateway4: 192.168.1.1 nameservers: addresses: [8.8.8.8, 8.8.4.4]
注意:请根据你的网络设置,将上述 IP 地址、网关和 DNS 服务器地址替换为你需要的值。
-
按 Ctrl + O 键保存文件,然后按 Ctrl + X 键关闭编辑器。
-
应用配置更改。运行以下命令:
sudo netplan apply
几点问题的说明
1. dhcp4: false
每张网卡都要加上这个,在 Netplan 中,如果你没有明确设置 dhcp4: false,那么系统可能会默认尝试通过 DHCP 获取 IP 地址。如果 DHCP 服务器不存在,或无法分配 IP,相关网卡可能会处于未配置状态(即没有获得 IP 地址)
2. Netplan 配置文件在重启后恢复默认的问题
这个问题通常是由于系统配置管理工具(如 cloud-init 或其他自动化配置工具)在启动过程中覆盖了你手动编辑的 Netplan 文件。以下是几种可能的原因和解决方法:
原因 1:cloud-init
覆盖 Netplan 配置
Ubuntu 服务器版本通常预装了 cloud-init
,它在启动时自动从外部源(如云服务提供商的元数据)获取网络配置,并生成 Netplan 配置文件。如果 cloud-init
被启用,它可能会在系统重启时覆盖你手动编辑的 Netplan 文件。
解决方法:
-
禁用
cloud-init
的网络管理功能:-
编辑
/etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
文件(如果该文件不存在,创建它):sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
-
在文件中加入以下内容:
network: { config: disabled}
-
保存并退出文件,禁用 cloud-init 对网络的控制。然后重新应用 Netplan 配置:
sudo netplan apply
-
重启系统以确保 cloud-init 不再影响网络配置:
sudo reboot
-