Ubuntu 18.04+必须通过Netplan配置静态IP:先确认网卡名(如ens33)和网关、DNS,备份并清理冲突的.yaml文件(如50-cloud-init.yaml),编辑/etc/netplan/主配置文件,设dhcp4: false、addresses、routes及nameservers,严格遵循YAML缩进规范,最后用sudo netplan try验证后sudo netplan apply生效。

在Ubuntu系统中为网卡分配固定IP地址,避免每次重启后IP变动导致SSH连接中断、服务访问失败或端口映射失效,必须通过Netplan配置静态IP。Ubuntu 18.04及以后版本已弃用/etc/network/interfaces,直接编辑Netplan YAML文件是唯一可靠方式。
确认网卡名称和当前网络参数
执行ip -br a,找到状态为UP的以太网接口(如ens33、enp0s3或eth0),注意不要选lo回环口。
运行ip route | grep default获取当前默认网关地址,例如输出default via 192.168.1.1 dev ens33,说明网关是192.168.1.1,出口网卡是ens33。
查看DNS设置:systemd-resolve --status | grep "DNS Servers",或检查/etc/resolv.conf中nameserver行——但注意该文件由systemd-resolved动态管理,不可直接修改。
定位并备份Netplan配置文件
进入配置目录:cd /etc/netplan。
列出所有YAML文件:ls -l *.yaml,常见文件名有00-installer-config.yaml、50-cloud-init.yaml或01-network-manager-all.yaml。
【必须先备份再操作】执行sudo cp 00-installer-config.yaml 00-installer-config.yaml.bak,防止误改后无法恢复。
若存在*-cloud-init.yaml或*-network-manager*.yaml等非installer生成的文件,【它们会与静态配置冲突,必须删除】:sudo rm 50-cloud-init.yaml 01-network-manager-all.yaml。
编辑YAML配置启用静态IP
用nano打开主配置文件:sudo nano /etc/netplan/00-installer-config.yaml。
将原内容全部替换为以下结构(按实际参数修改):
network: version: 2 renderer: networkd ethernets: ens33: dhcp4: false addresses: [192.168.1.100/24] routes: - to: default via: 192.168.1.1 nameservers: addresses: [223.5.5.5, 114.114.114.114]
⚠️ 注意:YAML对缩进极其敏感,必须用空格(不能用Tab),ethernets和ens33之间是两个空格,addresses前是四个空格,to和via必须对齐;routes和nameservers是同级字段,不能缩进过深或过浅。
应用配置并验证连通性
第一步:检查语法是否合法:sudo netplan try,等待120秒倒计时——期间保持终端活跃,若配置错误会自动回滚。
第二步:确认无误后正式应用:sudo netplan apply。
第三步:立即验证:ip addr show ens33 | grep inet,应看到新配置的inet 192.168.1.100/24;再执行ping -c 3 192.168.1.1测试网关通断,ping -c 3 baidu.com测试DNS与外网连通性。











