如何在Linux上找到可用的网络接口
安装Linux系统后我们执行的常用任务之一是网络配置。
当然,我们可以在安装时间配置网络接口。
但是,我们中的一些人可能更愿意在安装或者更改现有设置后执行此操作。
如我们所知,我们必须先知道系统上有多少个接口,以便从命令行配置网络设置。
本简要教程解决了在Linux和UNIX操作系统上找到可用网络接口的所有可能方法。
在Linux上找到可用的网络接口
我们有很多种方法可以找到可用的网卡。
方法1使用"ifconfig"命令:
找到网络接口详细信息的最常用方法使用"ifconfig"命令。
我相信一些Linux用户仍然可以使用它。
$ifconfig -a
示例输出:
enp5s0: flags=4098<BROADCAST,MULTICAST> mtu 1500 ether 24:b6:fd:37:8b:29 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 171420 bytes 303980988 (289.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 171420 bytes 303980988 (289.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp9s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.225.37 netmask 255.255.255.0 broadcast 192.168.225.255 inet6 2409:4072:6183:c604:c218:85ff:fe50:474f prefixlen 64 scopeid 0x0<global> inet6 fe80::c218:85ff:fe50:474f prefixlen 64 scopeid 0x20<link> ether c0:18:85:50:47:4f txqueuelen 1000 (Ethernet) RX packets 564574 bytes 628671925 (599.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 299706 bytes 60535732 (57.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
如上所述,我有两个网络接口即enp5s0(在电路板上有线以太网适配器上)和Linux盒上的WLP9S0(无线网络适配器)。
其中LO是环回接口,用于本地访问所有网络服务。
它具有127.0.0.1的IP地址。
我们还可以在许多UNIX变体中使用相同的"ifconfig"命令,例如freebsd,列出可用的网卡。
方法2使用'ip'命令:
"Ifconfig"命令已在最新的Linux版本中弃用。
因此,我们可以使用'ip'命令显示网络接口,如下所示。
$ip link show
示例输出:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp5s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 24:b6:fd:37:8b:29 brd ff:ff:ff:ff:ff:ff 3: wlp9s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 link/ether c0:18:85:50:47:4f brd ff:ff:ff:ff:ff:ff
我们也可以使用以下命令。
$ip addr
$ip -s link
我们是否注意到这些命令也显示了网络接口的连接状态?
如果我们密切关注上述输出,我们会注意到我的以太网卡未与网络电缆连接(请参阅上述输出中的"向下"字样)。
连接无线网卡(请参阅"UP"字样)。
有关更多详细信息,请检查我们以前的教程,以查找Linux上的网络接口的连接状态。
这两个命令(Ifconfig和IP)足以在Linux系统上找到可用的网卡。
但是,很少有其他方法可用于列出Linux上的网络接口。
干得好。
方法3:
Linux内核将网络接口详细信息保存在/sys/class/net目录中。
我们可以通过查看此目录来验证可用接口列表。
$ls /sys/class/net
输出:
enp5s0 lo wlp9s0
方法4:
在Linux操作系统中,/proc/net/dev文件包含有关网络接口的统计信息。
要查看可用的网卡,请使用命令查看其内容:
$cat /proc/net/dev
输出:
Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed wlp9s0: 629189631 566078 0 0 0 0 0 0 60822472 300922 0 0 0 0 0 0 enp5s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 lo: 303980988 171420 0 0 0 0 0 0 303980988 171420 0 0 0 0 0 0
方法5:使用'netstat'命令
NetStat命令显示各种详细信息,例如网络连接,路由表,界面统计数据,伪装连接和多播成员资格。
$netstat -i
示例输出:
Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg lo 65536 171420 0 0 0 171420 0 0 0 LRU wlp9s0 1500 565625 0 0 0 300543 0 0 0 BMRU
请注意NetStat已经过时了。
"netstat -i"的更换是"IP -S链接"。
另请注意,此方法仅列出活动接口,而不是所有可用接口。
方法6:使用'nmcli'命令
NMCLI是NMCLI是用于控制NetworkManager和报告网络状态的命令行工具。
它用于创建,显示,编辑,删除,激活和停用网络连接和显示网络状态。
如果安装了Linux系统,则安装了Network Manager,可以使用以下命令使用NMCLI工具列出可用的网络接口:
$nmcli device status
或者,
$nmcli connection show