ifup/ifdown是基于配置文件启停网卡的命令,读取/etc/sysconfig/network-scripts/ifcfg-*等文件加载IP、路由等完整配置,适合生产环境;ip link set则直接操作内核状态,仅开关链路层,不涉及配置文件,轻量即时,推荐用于调试。

禁用和启用网络接口在 Linux 中有多种方法,核心区别在于:是否依赖配置文件、是否持久生效、是否需要 root 权限。最常用且推荐的方式是使用 ifdown/ifup(基于配置文件)或 ip link set(直接操作内核状态)。
用 ifdown 和 ifup 管理接口(推荐用于生产环境)
这对命令会读取系统网络配置文件(如 /etc/sysconfig/network-scripts/ifcfg-eth0 或 /etc/network/interfaces),按配置加载 IP、路由、DNS 等,适合需要完整网络栈恢复的场景。
- 禁用接口:
ifdown eth0—— 停用 eth0 并释放其所有配置(IP、路由等) - 启用接口:
ifup eth0—— 按配置文件重新激活 eth0,自动分配地址和路由 - 注意:接口名必须与配置文件名匹配(如 ifcfg-ens33 对应
ifdown ens33) - 若提示
command not found,说明未安装 net-tools(RHEL/CentOS)或 ifupdown(Debian/Ubuntu),需先安装对应包
用 ip link set 快速开关接口(轻量、即时生效)
这是现代 Linux 推荐的底层方式,不依赖任何配置文件,直接控制内核网络设备状态,适合调试或临时操作。
- 禁用接口:
ip link set eth0 down - 启用接口:
ip link set eth0 up - 执行后可用
ip link show eth0查看状态(UP/DOWN 字样) - 该操作只改变接口“物理”状态,不会修改 IP 地址;已有 IP 仍保留在接口上,但无法收发数据
用 ifconfig 兼容旧脚本(已逐步弃用)
ifconfig 是传统工具,在较新发行版中可能默认未安装。它直接操作内核,不读配置文件,重启后失效。
- 禁用:
ifconfig eth0 down - 启用:
ifconfig eth0 up - 可同时配地址:
ifconfig eth0 192.168.1.100/24 up - 缺点:不处理网关、DNS、别名接口等高级配置,运维中已不建议作为主用手段
操作前确认接口名和当前状态
避免输错接口名导致误操作。常用查看命令:
-
ip -br link—— 简洁列出所有接口及 UP/DOWN 状态 -
ip addr show或ip a—— 查看各接口 IP 和详细状态 -
ls /sys/class/net/—— 列出系统识别的所有网络设备名(含 lo、docker0 等)


















