发布于2026-08-18 阅读(0)
扫一扫,手机访问
在Ubuntu 17.10及以上版本中,必须借助netplan来配置静态IP。首先,通过ip a和ip route命令来确认网卡名、网关以及DNS。接着,对/etc/netplan/目录下的YAML文件进行编辑,将dhcp4设置为false,addresses设定为CIDR格式的列表,使用routes替代gateway4,nameservers设置为地址列表。请注意,这里的空格缩进要严格遵守规范。完成这些操作后,执行sudo netplan apply命令来应用配置,若想更安全一些,也可以执行sudo netplan try命令。

别直接抄示例里的 ens33 或 eth0,先用 ip a 看真实网卡名——找状态是 UP 且有 IPv4 地址的那条(比如 enp0s3、ens33、eno1)。再跑 ip route | grep default 拿网关(via 后面那个 IP),DNS 可填 8.8.8.8 或本地路由器地址。
从Ubuntu 17.10这个版本开始,网络配置统一采用netplan,其配置文件存放在/etc/netplan/目录下,常见的文件名有00-installer-config.yaml或者50-cloud-init.yaml。在进行编辑操作之前,务必先做好备份工作,具体命令为:sudo cp /etc/netplan/xxx.yaml /etc/netplan/xxx.yaml.bak。
关键点:
dhcp4: false 必须设为 false,否则静态配置不生效addresses 写成列表格式,如 [192.168.1.50/24],斜杠后是 CIDR 掩码(不是 255.255.255.0)gateway4 已被弃用,必须用 routes:写成 - to: default via: 192.168.1.1nameservers 下的 addresses 也必须是列表,哪怕只填一个 DNS:[8.8.8.8]sudo netplan apply 是最终生效命令,但出错会直接断网。更稳妥的是先用 sudo netplan try:它会应用配置并等待 120 秒,期间没手动确认就自动回滚。
验证步骤:
ip a show 你的网卡名,看 inet 行是否变成你设的地址ip route,确认有 default via xxx 项ping -c 3 192.168.1.1(网关),再 ping -c 3 8.8.8.8(绕过 DNS),最后 ping -c 3 google.com如果你用的是 Ubuntu 16.04 或更老版本(或某些最小化安装未启用 netplan),配置文件是 /etc/network/interfaces。
典型写法:
auto eth0 iface eth0 inet static address 192.168.1.50 netmask 255.255.255.0 gateway 192.168.1.1 dns-nameservers 8.8.8.8
改完后必须重启网络服务:sudo systemctl restart networking(不是 /etc/init.d/networking restart,后者在新版 systemd 下已失效)。
注意:这种写法和 netplan 互斥,共存会导致冲突;若系统同时装了 NetworkManager,还得禁用它对对应网卡的管理,否则会抢配置权。
最常被忽略的是 routes 写法和缩进错误,YAML 里多一个空格或少一个都报错;另外,虚拟机用户容易忘调 NAT 模式下的子网匹配——静态 IP 必须和宿主机 VMware/VirtualBox 的 DHCP 范围错开,否则可能分配冲突。
上一篇:Linux怎么查看所有用户的列表
下一篇:Linux怎么设置文件夹的粘滞位
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9