linux如何禁用网卡

在Linux系统中,禁用网卡是常见的网络管理操作,通常用于故障排查、安全隔离、节能降耗等场景,不同Linux发行版和网卡管理工具下,禁用网卡的方法略有差异,本文将详细介绍多种常用方法,涵盖临时禁用和永久禁用的操作步骤,并分析各方法的适用场景及注意事项。

linux如何禁用网卡

使用ifconfig命令禁用网卡

ifconfig是传统的Linux网络配置工具,虽在新版系统中逐渐被ip命令替代,但在部分传统发行版(如CentOS 6、Debian 7等)中仍广泛使用。

临时禁用

通过ifconfig命令将网卡状态设置为down,即可立即禁用网卡,效果即时生效,重启网络服务或系统后失效。
操作步骤

  • 查看当前网卡名称:执行ifconfig -aip a,获取目标网卡名(如eth0ens33等)。
  • 执行禁用命令:
    sudo ifconfig <网卡名> down

    示例:禁用eth0网卡

    sudo ifconfig eth0 down

永久禁用

需修改网卡的配置文件,使禁用设置在系统重启后依然生效。

  • Debian/Ubuntu系统:编辑/etc/network/interfaces文件,在目标网卡配置段添加up ifconfig <网卡名> down或直接注释掉原配置,设置iface <网卡名> inet manual(手动模式,不自动启用)。
    示例(禁用eth0):

    sudo nano /etc/network/interfaces

    在文件中修改或添加:

    auto eth0
    iface eth0 inet manual
    up ifconfig eth0 down

    保存后执行sudo /etc/init.d/networking restart重启网络服务。

  • CentOS/RHEL 6系统:编辑/etc/sysconfig/network-scripts/ifcfg-<网卡名>文件,设置ONBOOT=no(开机不启用该网卡)。
    示例:

    sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
    ONBOOT=no

    保存后执行sudo service network restart重启网络服务。

使用ip命令禁用网卡

ipiproute2工具包中的命令,是现代Linux系统(如Ubuntu 18+、CentOS 7+)推荐的网络管理工具,功能比ifconfig更强大。

临时禁用

通过ip link set命令修改网卡状态,操作简单且即时生效。
操作步骤

linux如何禁用网卡

  • 查看网卡名:ip a
  • 执行禁用命令:
    sudo ip link set <网卡名> down

    示例:禁用ens33

    sudo ip link set ens33 down

永久禁用

需结合systemd网络配置或发行版特定的网络配置文件。

  • systemd-networkd管理网络(如Arch Linux、CoreOS)
    禁用对应网卡的.network配置文件(如/etc/systemd/network/ens33.network),或修改文件内容设置[Link]段的RequiredForOnline=no(非必需在线),然后重启systemd-networkd服务。
    示例(禁用配置文件):

    sudo mv /etc/systemd/network/ens33.network /etc/systemd/network/ens33.network.bak
    sudo systemctl restart systemd-networkd
  • CentOS/RHEL 7+系统:若使用NetworkManager,可通过nmcli修改(见下文);若使用传统网络服务,修改/etc/sysconfig/network-scripts/ifcfg-<网卡名>,设置ONBOOT=no,然后执行sudo systemctl restart network

使用nmcli命令禁用网卡

nmcli是NetworkManager的命令行工具,适用于采用NetworkManager管理网络的发行版(如Ubuntu、Fedora、RHEL 7+等),支持动态管理网卡连接。

临时禁用

通过断开连接或设置网卡为“未管理”状态实现禁用。
操作步骤

  • 查看网卡及连接名:nmcli connection show

  • 方法1:断开连接(推荐)

    sudo nmcli connection down "<连接名>"

    示例:断开eth0连接

    sudo nmcli connection down "eth0"
  • 方法2:设置网卡为未管理(需重启NetworkManager)

    sudo nmcli device set <网卡名> managed no
    sudo systemctl restart NetworkManager

永久禁用

通过修改连接配置,禁用自动连接或删除连接。

linux如何禁用网卡

  • 禁用自动连接:保留连接配置但阻止开机自动启用。

    sudo nmcli connection modify "<连接名>" connection.autoconnect no

    示例:禁用eth0的自动连接

    sudo nmcli connection modify "eth0" connection.autoconnect no
  • 删除连接:彻底移除连接配置(需重新添加才能使用)。

    sudo nmcli connection delete "<连接名>"

    示例:删除eth0连接

    sudo nmcli connection delete "eth0"

修改网络配置文件永久禁用(发行版特定)

不同发行版的网络配置文件结构不同,直接修改文件可实现永久禁用。

Ubuntu/Debian(Netplan)

Ubuntu 18+及后续版本使用Netplan配置网络,配置文件位于/etc/netplan/目录下(如01-network-manager-all.yaml)。
操作步骤

  • 编辑配置文件:
    sudo nano /etc/netplan/01-network-manager-all.yaml
  • 在目标网卡配置中添加disabled: true或删除该网卡配置。
    示例:

    network:
      version: 2
      ethernets:
        eth0:
          dhcp4: no
          disabled: true  # 禁用网卡
  • 应用配置:
    sudo netplan apply

CentOS/RHEL 8+(NetworkManager)

若使用NetworkManager,可通过修改ifcfg文件并设置NM_CONTROLLED=no(禁止NetworkManager管理),再重启服务。
示例:

sudo nano /etc/sysconfig/network-scripts/ifcfg-ens33
DEVICE=ens33
ONBOOT=no
NM_CONTROLLED=no

保存后执行sudo systemctl restart NetworkManager

不同方法对比及注意事项

方法对比

方法 临时禁用 永久禁用 适用场景 优点 缺点
ifconfig 支持 支持 传统系统,简单操作 命令简单,直观 新系统默认未安装,功能有限
ip 支持 支持 现代Linux,推荐 功能强大,官方推荐 需熟悉ip命令语法
nmcli 支持 支持 NetworkManager管理系统 图形化工具支持,管理灵活 依赖NetworkManager,学习成本
配置文件 不支持 支持 需长期禁用,无服务干预 开机即生效,稳定 需熟悉配置文件结构,易出错

注意事项

  1. 确认网卡名:操作前务必通过ip aifconfig -a确认网卡名称,避免误禁用其他网卡(如管理网卡的SSH连接)。
  2. 权限问题:所有命令均需root权限或sudo执行,普通用户无法直接修改网络配置。
  3. 发行版差异:不同发行版的网络管理工具(如NetworkManager、systemd-networkd、传统网络服务)不同,需选择对应方法。
  4. 测试环境:生产环境操作前建议在测试机验证,避免因误操作导致网络中断。

相关问答FAQs

问题1:Linux禁用网卡后如何重新启用?
解答:根据禁用方法选择对应启用命令:

  • 临时禁用(ifconfig/ip):执行sudo ifconfig <网卡名> upsudo ip link set <网卡名> up
  • nmcli临时断开:执行sudo nmcli connection up "<连接名>"
  • 永久禁用(配置文件):恢复配置文件设置(如ONBOOT=yesautoconnect: yes、删除disabled: true),然后重启网络服务(sudo systemctl restart networksudo netplan apply)。
    示例:CentOS中恢复ONBOOT=yes后,执行sudo systemctl restart network;Ubuntu中Netplan配置删除disabled: true后,执行sudo netplan apply

问题2:为什么使用nmcli禁用网卡后重启系统,网卡又自动启用了?
解答:可能是未正确设置NetworkManager的连接属性。nmcli connection down是临时断开连接,但连接配置中的autoconnect默认为yes,系统重启后NetworkManager会自动尝试连接,需执行sudo nmcli connection modify "<连接名>" connection.autoconnect no,禁用自动连接,然后重启系统即可,验证命令:nmcli connection show "<连接名>" | grep autoconnect,应显示autoconnect: no

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/21406.html

(0)
酷番叔酷番叔
上一篇 2025年9月8日 10:33
下一篇 2025年9月8日 10:52

相关推荐

  • Linux查看log日志文件的常用命令有哪些?

    在Linux系统中,日志文件是记录系统运行状态、应用程序行为、错误信息及安全事件的核心数据,通过查看日志可以快速定位故障、分析性能问题、追踪安全威胁,常见的日志文件存储在/var/log/目录下,如syslog(系统日志)、auth.log(认证日志)、kern.log(内核日志),以及各服务的专用日志(如ng……

    2025年10月3日
    3200
  • Linux测网速慢如何检测?排查方法有哪些?

    在Linux系统中排查网速慢问题时,需结合网络连通性测试、带宽性能分析及系统资源检查等多维度方法定位原因,以下从基础排查到专业工具使用,详细说明具体操作步骤和工具选择,基础网络连通性排查首先需确认是否为真实网速问题,而非网络中断或配置错误,基础命令可快速判断网络状态:ping测试:检测目标服务器延迟和丢包率,例……

    2025年10月9日
    3500
  • Linux系统中如何实现UTF-8编码转换为GBK编码?

    在Linux系统中,将UTF-8编码转换为GBK编码是常见的文本处理需求,尤其是在与Windows系统或旧版中文软件交互时,因为GBK是中文Windows环境下广泛使用的编码格式,以下是几种常用的转换方法,涵盖命令行工具、编程语言及批量处理场景,帮助用户高效完成编码转换任务,使用iconv命令行工具iconv是……

    2025年9月28日
    3900
  • Linux中kill命令执行后无法退出,如何处理?

    在Linux系统中,kill命令是用于向进程发送信号的核心工具,其名称中的“kill”常被误解为仅用于“终止进程”,但实际上它本质上是“向进程发送信号”,而“终止”只是信号的一种结果(如默认的SIGTERM信号),用户提到的“linux如何退出kill”,可能涉及多种场景:误输入kill命令后如何取消执行、ki……

    2025年10月3日
    2400
  • Linux如何运行Windows的bat文件?有哪些具体实现方法?

    在Linux系统中直接运行Windows的批处理文件(.bat)是不可行的,因为两者操作系统内核、命令解释器(Windows使用CMD,Linux使用Shell)和命令语法存在根本差异,.bat文件是Windows平台下的脚本文件,包含基于CMD的命令(如dir、copy、del等),而Linux系统默认不识别……

    2025年9月25日
    4600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信