linux开机不自动联网的关键是配置网卡启动开关:centos/rhel系设onboot=no且nm_controlled=no;ubuntu/debian系netplan中保持optional:true或删除optional:false,并避免dhcp4: true等触发字段;networkmanager接管时需禁用autoconnect。

Linux开机不自动联网,本质是让网卡在系统启动时不激活、不获取IP、不触发路由或DNS配置。这不是“禁用网络”,而是精准控制接口的启动时机——关键在 ONBOOT 或 optional 这类开关参数,而非停服务或删配置。
network-scripts 下把 ONBOOT=no 设对就生效
适用于 CentOS/RHEL 7/8、Rocky/AlmaLinux、部分定制 Debian(如 EC25 模块未启用 NetworkManager 的场景)。
-
ONBOOT=yes是默认自动联网的开关,改成ONBOOT=no即可阻止开机启动 - 务必同时确认
NM_CONTROLLED=no,否则 NetworkManager 可能绕过该设置主动拉起接口 - 接口名要准确:
ifcfg-usb0不等于ifcfg-usbnet0,查设备用ip link show,再对应配置文件名 - 改完必须重启
network服务(不是NetworkManager):sudo systemctl restart network
netplan 配置里 optional: false 必须反向设为 true
Ubuntu 18.04+、Debian 11+ 默认走 netplan,它默认把没声明依赖的接口当“可选”,但想手动启动,得显式关闭这个“可选”行为——等等,不对:你要的是“不自动连”,那恰恰要保留或设 optional: true。
- netplan 默认行为是:若未写
optional,且该接口无其他依赖(比如没配routes或nameservers),则视为optional: true→ 开机跳过激活 - 所以最简做法:删掉配置里的
optional: false,或干脆不写这一行;确保没配dhcp4: true或addresses:等触发自动获取的字段 - 如果已存在
optional: false,直接删掉或改为optional: true,然后运行sudo netplan apply - 注意:改完别忘了检查
systemctl is-enabled systemd-networkd,若启用,它可能覆盖 netplan 行为;必要时sudo systemctl disable systemd-networkd
NetworkManager 接管时,得关掉 autoconnect
只要 systemctl status NetworkManager 是 active,且你用过图形界面或 nmcli 连过网,那它大概率正在后台接管所有接口。
- 查当前连接是否设了自动启动:
nmcli connection show→ 看AUTOCONNECT列是否为yes - 关掉自动连接:
nmcli connection modify "Wired connection 1" autoconnect no(把引号内换成你的连接名) - 断开当前连接:
nmcli connection down "Wired connection 1",此时ip addr show应看不到该接口有 IP - 验证:重启后
nmcli device status显示该接口为unmanaged或disconnected,而非connected
别碰 service enable/disable,那是干扰项
有人想通过 systemctl disable NetworkManager 或 systemctl disable networking 来阻止联网,这反而容易引发连锁问题。
-
NetworkManager被禁用后,nmcli失效,桌面环境可能无法联网,甚至登录界面卡住 -
networking服务在 Ubuntu/Debian 上早已被弃用,禁用它对 netplan 无影响,还可能让/etc/network/interfaces配置失效 - 真正该动的只有三处:配置文件里的启动开关(
ONBOOT/optional)、NetworkManager 连接的autoconnect属性、以及确认没有其他服务(如quectel-CM)在后台抢启接口
最容易被忽略的一点:改完配置后,别只看 ip addr 是否有 IP,还要跑 systemctl status network 或 systemctl status NetworkManager 确认服务没报错;如果有 “conflict”、“failed to load” 类日志,八成是多个管理工具在争同一个接口,得先明确停掉其中一个。











