> Linux教程 > Linux学习 >

Linux 中如何启用和禁用网卡

你可能会根据你的需要执行以下命令。我会在这里列举一些你会用到这些命令的例子。

当你添加一个网卡或者从一个物理网卡创建出一个虚拟网卡的时候,你可能需要使用这些命令将新网卡启用起来。另外,如果你对网卡做了某些修改或者网卡本身没有启用,那么你也需要使用以下的某个命令将网卡启用起来。

启用、禁用网卡有很多种方法。在这篇文章里,我们会介绍我们使用过的最好的 5 种方法。

启用禁用网卡可以使用以下 5 个方法来完成:

  • ifconfig 命令:用于配置网卡。它可以提供网卡的很多信息。
  • ifdown/up 命令:ifdown 命令用于禁用网卡,ifup 命令用于启用网卡。
  • ip 命令:用于管理网卡,用于替代老旧的、不推荐使用的 ifconfig 命令。它和 ifconfig 命令很相似,但是提供了很多 ifconfig 命令所不具有的强大的特性。
  • nmcli 命令:是一个控制 NetworkManager 并报告网络状态的命令行工具。
  • nmtui 命令:是一个与 NetworkManager 交互的、基于 curses 图形库的终端 UI 应用。

以下显示的是我的 Linux 系统中可用网卡的信息。


  1. # ip a
  2. 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
  3. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  4. inet 127.0.0.1/8 scope host lo
  5. valid_lft forever preferred_lft forever
  6. inet6 ::1/128 scope host
  7. valid_lft forever preferred_lft forever
  8. 2: enp0s3: mtu 1500 qdisc fq_codel state UP group default qlen 1000
  9. link/ether 08:00:27:c2:e4:e8 brd ff:ff:ff:ff:ff:ff
  10. inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s3
  11. valid_lft 86049sec preferred_lft 86049sec
  12. inet6 fe80::3899:270f:ae38:b433/64 scope link noprefixroute
  13. valid_lft forever preferred_lft forever
  14. 3: enp0s8: mtu 1500 qdisc fq_codel state UP group default qlen 1000
  15. link/ether 08:00:27:30:5d:52 brd ff:ff:ff:ff:ff:ff
  16. inet 192.168.1.3/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s8
  17. valid_lft 86049sec preferred_lft 86049sec
  18. inet6 fe80::32b7:8727:bdf2:2f3/64 scope link noprefixroute
  19. valid_lft forever preferred_lft forever

1、如何使用 ifconfig 命令启用禁用网卡?

ifconfig 命令用于配置网卡。

在系统启动过程中如果需要启用网卡,调用的命令就是 ifconfig。ifconfig 可以提供很多网卡的信息。不管我们想修改网卡的什么配置,都可以使用该命令。

ifconfig 的常用语法:


  1. # ifconfig [NIC_NAME] Down/Up

执行以下命令禁用 enp0s3 网卡。注意,这里你需要输入你自己的网卡名字。


  1. # ifconfig enp0s3 down

从以下输出结果可以看到网卡已经被禁用了。


  1. # ip a | grep -A 1 "enp0s3:"
  2. 2: enp0s3: mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
  3. link/ether 08:00:27:c2:e4:e8 brd ff:ff:ff:ff:ff:ff

执行以下命令启用 enp0s3 网卡。


  1. # ifconfig enp0s3 up

从以下输出结果可以看到网卡已经启用了。


  1. # ip a | grep -A 5 "enp0s3:"
  2. 2: enp0s3: mtu 1500 qdisc fq_codel state UP group default qlen 1000
  3. link/ether 08:00:27:c2:e4:e8 brd ff:ff:ff:ff:ff:ff
  4. inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s3
  5. valid_lft 86294sec preferred_lft 86294sec
  6. inet6 fe80::3899:270f:ae38:b433/64 scope link noprefixroute
  7. valid_lft forever preferred_lft forever

2、如何使用 ifdown/up 命令启用禁用网卡?

ifdown 命令用于禁用网卡,ifup 命令用于启用网卡。

注意:这两个命令不支持以 enpXXX 命名的新的网络设备。

ifdown/ifup 的常用语法:


  1. # ifdown [NIC_NAME]
  2. # ifup [NIC_NAME]

执行以下命令禁用 eth1 网卡。


  1. # ifdown eth1

从以下输出结果可以看到网卡已经被禁用了。


  1. # ip a | grep -A 3 "eth1:"
  2. 3: eth1: mtu 1500 qdisc pfifo_fast state DOWN qlen 1000
  3. link/ether 08:00:27:d5:a0:18 brd ff:ff:ff:ff:ff:ff

执行以下命令启用 eth1 网卡。


  1. # ifup eth1

从以下输出结果可以看到网卡已经启用了。


  1. # ip a | grep -A 5 "eth1:"
  2. 3: eth1: mtu 1500 qdisc pfifo_fast state UP qlen 1000
  3. link/ether 08:00:27:d5:a0:18 brd ff:ff:ff:ff:ff:ff
  4. inet 192.168.1.7/24 brd 192.168.1.255 scope global eth1
  5. inet6 fe80::a00:27ff:fed5:a018/64 scope link tentative dadfailed
  6. valid_lft forever preferred_lft forever

ifup 和 ifdown 不支持以 enpXXX 命名的网卡。当执行该命令时得到的结果如下:


  1. # ifdown enp0s8
  2. Unknown interface enp0s8

3、如何使用 ip 命令启用禁用网卡?

ip 命令用于管理网卡,用于替代老旧的、不推荐使用的 ifconfig 命令。

它和 ifconfig 命令很相似,但是提供了很多 ifconfig 命令不具有的强大的特性。

ip 的常用语法:


  1. # ip link set Down/Up

执行以下命令禁用 enp0s3 网卡。


  1. # ip link set enp0s3 down

从以下输出结果可以看到网卡已经被禁用了。


  1. # ip a | grep -A 1 "enp0s3:"
  2. 2: enp0s3: mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
  3. link/ether 08:00:27:c2:e4:e8 brd ff:ff:ff:ff:ff:ff

执行以下命令启用 enp0s3 网卡。


  1. # ip link set enp0s3 up

从以下输出结果可以看到网卡已经启用了。


  1. # ip a | grep -A 5 "enp0s3:"
  2. 2: enp0s3: mtu 1500 qdisc fq_codel state UP group default qlen 1000
  3. link/ether 08:00:27:c2:e4:e8 brd ff:ff:ff:ff:ff:ff
  4. inet 192.168.1.4/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s3
  5. valid_lft 86294sec preferred_lft 86294sec
  6. inet6 fe80::3899:270f:ae38:b433/64 scope link noprefixroute
  7. valid_lft forever preferred_lft forever

4、如何使用 nmcli 命令启用禁用网卡?

nmcli 是一个控制 NetworkManager 并报告网络状态的命令行工具。

nmcli 可以用做 nm-applet 或者其他图形化客户端的替代品。它可以用于展示、创建、修改、删除、启用和停用网络连接。除此之后,它还可以用来管理和展示网络设备状态。

nmcli 命令大部分情况下都是使用“配置名称”工作而不是“设备名称”。所以,执行以下命令,获取网卡对应的配置名称。(LCTT 译注:在使用 nmtui 或者 nmcli 管理网络连接的时候,可以为网络连接配置一个名称,就是这里提到的配置名称Profile name`)


  1. # nmcli con show
  2. NAME UUID TYPE DEVICE
  3. Wired connection 1 3d5afa0a-419a-3d1a-93e6-889ce9c6a18c ethernet enp0s3
  4. Wired connection 2 a22154b7-4cc4-3756-9d8d-da5a4318e146 ethernet enp0s8

nmcli 的常用语法:


  1. # nmcli con Down/Up

执行以下命令禁用 enp0s3 网卡。在禁用网卡的时候,你需要使用配置名称而不是设备名称。


  1. # nmcli con down 'Wired connection 1'
  2. Connection 'Wired connection 1' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)

从以下输出结果可以看到网卡已经禁用了。


  1. # nmcli dev status
  2. DEVICE TYPE STATE CONNECTION
  3. enp0s8 ethernet connected Wired connection 2
  4. enp0s3 ethernet disconnected --
  5. lo loopback unmanaged --

执行以下命令启用 enp0s3 网卡。同样的,这里你需要使用配置名称而不是设备名称。


  1. # nmcli con up 'Wired connection 1'
  2. Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)

从以下输出结果可以看到网卡已经启用了。


  1. # nmcli dev status
  2. DEVICE TYPE STATE CONNECTION
  3. enp0s8 ethernet connected Wired connection 2
  4. enp0s3 ethernet connected Wired connection 1
  5. lo loopback unmanaged --

5、如何使用 nmtui 命令启用禁用网卡?

nmtui 是一个与 NetworkManager 交互的、基于 curses 图形库的终端 UI 应用。

在启用 nmtui 的时候,如果第一个参数没有特别指定,它会引导用户选择对应的操作去执行。

执行以下命令打开 mntui 界面。选择 “Active a connection” 然后点击 “OK”。


  1. # nmtui

选择你要禁用的网卡,然后点击 “Deactivate” 按钮,就可以将网卡禁用。

如果要启用网卡,使用上述同样的步骤即可。

via: https://www.2daygeek.com/enable-disable-up-down-nic-network-interface-port-linux-using-ifconfig-ifdown-ifup-ip-nmcli-nmtui/



(责任编辑:IT)