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服务器如何重启

    命令sudo reboot或`sudo shutdown -r now

    2025年8月16日
    10100
  • Linux安装驱动程序的具体步骤和方法有哪些?

    Linux作为开源操作系统,其驱动安装方式与Windows存在显著差异,Windows通常依赖厂商提供的封闭式安装程序,而Linux更强调模块化与开源生态,驱动安装需结合硬件类型、驱动性质(开源/闭源)及发行版特性选择方案,本文将系统介绍Linux驱动的四种主流安装方法,帮助用户高效完成驱动部署,Linux驱动……

    2025年8月30日
    10200
  • 硬盘安装linux如何分区

    安装Linux分区需根据用途划分,一般分/boot、/、/home等,可用

    2025年8月16日
    9700
  • Linux服务安装的具体操作步骤和方法是什么?

    Linux作为开源操作系统,其服务管理是系统运维的核心环节,服务的安装、配置与直接关系到系统功能的稳定运行,本文将详细讲解Linux服务的安装方法,涵盖包管理器安装、源码编译安装及服务配置管理,帮助用户高效完成服务部署,服务安装前需做好准备工作:首先更新系统软件包列表,确保基础环境最新,如在Ubuntu/Deb……

    2025年10月5日
    6600
  • Linux怎样监听网口?需root权限吗?

    监听网口的核心工具tcpdump(命令行抓包)安装(如未预装):sudo apt install tcpdump # Debian/Ubuntusudo yum install tcpdump # RHEL/CentOS基础用法:sudo tcpdump -i eth0 # 监听eth0网口的所有流量常用参数……

    2025年7月28日
    13700

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信