发布于2026-08-21 阅读(0)
扫一扫,手机访问
在Ubuntu系统中配置静态IP,首先要确认网卡名和网络管理机制。可以运行“ip -br a”命令查看网卡信息,“ip route | grep default”命令查看网关,“cat /etc/resolv.conf”命令查看DNS来源。接着,通过“ls /etc/netplan/”或“nmcli”等命令判断后端服务。然后,严格按照YAML格式进行配置,包括缩进空格、addresses列表、gateway4字段、nameservers嵌套addresses,并确保与renderer匹配。最后,执行“netplan apply”命令使配置生效。

硬改配置文件前,必须知道系统用的是哪套网络服务。直接改错地方,netplan apply 或 systemctl restart network 都不会生效。
运行这三条命令看输出:
ip -br a —— 找出真实网卡名(比如 ens33、enp0s3,排除 lo 和带 @ 的虚拟接口)ip route | grep default —— 看默认网关走哪个接口、当前是否 DHCP 获取cat /etc/resolv.conf —— 如果开头有 # Generated by NetworkManager 或 systemd-resolved,说明 DNS 是动态注入的,不能直接改这个文件再查后端服务:
ls /etc/netplan/ 有文件 → Ubuntu 17.10+ / Debian 11+ / CentOS Stream 默认走 Netplannmcli connection show 有输出且 systemctl is-active NetworkManager 是 active → 优先用 nmclils /etc/sysconfig/network-scripts/ifcfg-* 存在 → RHEL/CentOS/Fedora/Alibaba Cloud Linux 风格cat /etc/network/interfaces 有 iface 块 → Debian/Ubuntu Server 传统 ifupdownNetplan 本身不干活,它只是把 YAML 翻译给后端(systemd-networkd 或 NetworkManager)。错配就白忙。
sudo netplan --debug apply 能定位到具体哪行报错addresses: 必须是列表格式:[192.168.1.100/24] 或换行加 -,写成 192.168.1.100/24(无括号/破折号)会静默忽略gateway4: 不能写成 gateway:,后者是无效字段nameservers: 下必须嵌套 addresses:,完整写法是:nameservers: {addresses: [8.8.8.8, 114.114.114.114]},漏掉 addresses: 键,DNS 就不会写入renderer: 值必须和实际运行的服务一致:设了 renderer: networkd 就得 systemctl is-active systemd-networkd 是 active;设了 renderer: NetworkManager 就得关掉 systemd-networkd,否则冲突这是 NetworkManager 场景下最典型的“配置写了但没生效”问题。只改 ipv4.method manual 不设地址,NM 会 fallback 到 DHCP。
ipv4.addresses、ipv4.gateway、ipv4.dns,缺一不可nmcli connection down "连接名称" && nmcli connection up "连接名称"nmcli connection show "连接名称" | grep ipv4.ignore-auto-routes,如果为 yes,需设为 no,否则网关路由不装入内核ip route show 确认是否有对应 default via ... dev ... 条目,没有说明路由没加载成功这类系统靠 network.service 读取 /etc/sysconfig/network-scripts/ifcfg-*,失效点常不在 IP 字段本身。
ONBOOT=yes —— 这是开机自启开关,设成 no 就算重启也不会拉起BOOTPROTO=static(不是 none,部分旧版脚本不识别 none)GATEWAY= 必须写在主接口配置里(如 ifcfg-ens33),不能写在其他文件中DNS1= 和 DNS2= 是有效字段,但若系统启用了 NetworkManager,它可能覆盖这些设置 —— 可临时停用:sudo systemctl stop NetworkManager 再 systemctl restart networksystemctl restart network,建议补一句 ip addr flush dev ens33(换成你的网卡名),清除残留 DHCP 地址避免冲突但真正容易被忽视的是,不同机制间存在着隐式互斥。例如,当systemd-networkd和NetworkManager同时运行时,Netplan的renderer: networkd可能会接管失败;再比如,/etc/resolv.conf若被systemd-resolved通过符号链接管理,即便你手动修改了,下次NM reload或DHCP lease更新时也会被覆盖。所以说,配置静态IP并非仅仅是填写几个字段那么简单,它实际上是对整个网络栈的声明式协商过程。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9