核心概念
ifup/ifdown: 这是最传统、最直接的命令,用于手动启用或禁用指定的网络接口,这是最基本也是最可靠的方法之一。nmcli: 这是NetworkManager的命令行工具。NetworkManager是 CentOS 7 及以后版本中默认的网络管理服务,功能强大,推荐使用。nmtui: 这是一个基于文本的用户界面(TUI),为不熟悉命令行的用户提供了图形化的操作方式,非常友好。systemctl: 用于管理系统服务,重启网络服务会重新加载所有配置并重启所有网卡。
使用 ifup 和 ifdown (最通用、最基础)
这是最经典的方法,在所有版本的 CentOS 中都适用,它直接作用于指定的网络接口。

查看当前网络接口名称
您需要知道您要重启的网卡名称,通常是以 ens, eno, eth 开头,ens33。
ip a # 或者 ifconfig
从输出中找到您要操作的接口名,ens33。
停止并启动网卡

重要提示: 请先在另一台电脑上通过 IP 地址或 SSH 连接到这台服务器,或者在本地打开一个额外的终端窗口,因为如果您的 SSH 连接依赖于这个网卡,执行 ifdown 后您可能会立即断开连接。
# 假设网卡名为 ens33 # 1. 先关闭网卡 sudo ifdown ens33 # 2. 再启动网卡 sudo ifup ens33
您也可以将两步合并为一行执行:
sudo ifdown ens33 && sudo ifup ens33
使用 nmcli (推荐,功能强大)
nmcli 是现代 CentOS (7, 8, Stream) 的首选方式,因为它能更好地处理复杂的网络配置和连接。
查看网络连接名称

nmcli 中的“连接”名称可能与接口名不同,它是一个逻辑名称。
nmcli connection show
您会看到一个列表,找到您要重启的那个连接的名称,System ens33。
重启网络连接
# 假设连接名为 "System ens33" # 方法 A: 完全禁用再启用连接 sudo nmcli connection down "System ens33" sudo nmcli connection up "System ens33" # 方法 B: 更简单的一行命令(推荐) sudo nmcli connection down "System ens33" && sudo nmcli connection up "System ens33" # 方法 C: 使用 reload 命令(它会重新应用所有连接的配置,效果类似重启) sudo nmcli connection reload
使用 nmtui (图形化,适合新手)
如果您对命令行感到不熟悉,nmtui 是一个非常棒的选择。
启动 nmtui
sudo nmtui
操作步骤
- 在弹出的文本菜单中,使用方向键选择 "Activate a connection" (激活一个连接),然后按回车。
- 您会看到所有可用的网络连接列表,找到您要重启的那个连接,选中它,然后按回车。
- 连接状态会切换,如果原来是勾选的(已激活),取消勾选就是禁用;如果原来是未勾选的(未激活),勾选就是启用。
- 完成后,按
Tab键将光标移到 "OK" 上,按回车确认。 - 返回主菜单,选择 "Quit" 退出。
通过“禁用”再“启用”的步骤,就完成了网卡的重启。
使用 systemctl (重启整个网络服务)
这种方法会重启整个 network 或 NetworkManager 服务,导致系统上所有网卡都重新加载配置,如果您只想重启单个网卡,不推荐此方法,但如果您不确定问题出在哪里,或者想全局刷新网络设置,这是一个有效的选择。
对于 CentOS 7 及更高版本 (使用 NetworkManager):
# 重启 NetworkManager 服务,这会重启所有网络连接 sudo systemctl restart NetworkManager
对于非常老的 CentOS 6 (使用 network 服务):
# 重启 network 服务 sudo systemctl restart network # 或者 sudo service network restart
总结与对比
| 方法 | 命令 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|---|
ifup/ifdown |
sudo ifdown eth0 && sudo ifup eth0 |
简单、直接、通用,不依赖服务 | 需要知道接口名,操作略显原始 | 快速重启单个网卡,基础系统维护 |
nmcli |
sudo nmcli connection down "con-name" && up |
推荐,功能强大,可管理复杂配置,可操作逻辑连接名 | 需要理解“连接”概念 | 现代 CentOS 系统的首选,推荐日常使用 |
nmtui |
sudo nmtui |
图形化界面,直观易用,无需记忆命令 | 需要交互式操作,不适合脚本 | 不熟悉命令行的用户,快速配置 |
systemctl |
sudo systemctl restart NetworkManager |
一键解决全局网络问题 | 会影响所有网卡,范围过大 | 所有网络配置失效,或不确定问题根源时 |
推荐实践
- 日常使用/脚本自动化:优先使用
nmcli。 - 快速手动操作:如果记得接口名,用
ifup/ifdown最快。 - 不熟悉命令行:使用
nmtui。 - 疑难杂症:如果以上方法都无效,尝试重启
NetworkManager服务。
