该系统基本上是从另一个系统克隆的,因此它具有其网络属性,因此网络根本无法工作。我将以太网电缆连接到其中一个以太网端口并运行 ifconfig。我认为输出给了我以前系统的详细信息。我根本无法连接到互联网,也无法 ping 通同一网络上的其他系统。我跑了
$lspci | egrep -i --color 'network|ethernet'
输出给了我我相信的两个以太网端口
00:1f:6 Ethernet controller: Intel Corporation Device 0e7c
00:00:0 Ethernet controller: Intel Corporation Device 13g7 (rev 02)
所以以太网端口被检测到。如何确定以太网电缆正在连接哪个端口?我不确定 virbr0 是否实际上是以太网端口之一,或者它是否来自以前的原始系统。
编辑
我刚刚运行了 lshw 级网络,它列出了 2 个网络,我确信它们都是,因为其中一个网络的总线信息以 pci@0000:00:1f.6 结尾,这是以太网控制器之一从lspci 命令是“00.1f.6”。它将两个网络都列为“未声明”,而另外两个网络 virbr0-NIC 则列为“禁用”和 virbr0,所以我的问题是这两个网络现在尚未声明。
编辑2
这就是在 USB 棒上使用 ubuntu 检测以太网端口时 lshw 级网络的样子
root@ubuntu:/home/ubuntu# lshw -class network
*-network
description: Ethernet interface
product: Intel Corporation
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:06:00.0
logical name: eno2
version: 02
serial: **:**:**:**:**:**
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igc driverversion=0.0.1-k latency=0 link=no multicast=yes port=twisted pair
resources: irq:17 memory:a4200000-a42fffff memory:a4300000-a4303fff memory:a4100000-a41fffff
*-network
description: Ethernet interface
product: Ethernet Connection (11) I219-LM
vendor: Intel Corporation
physical id: 1f.6
bus info: pci@0000:00:1f.6
logical name: eno1
version: 00
serial: **:**:**:**:**:**
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k duplex=full firmware=0.4-4 ip=10.134.33.118 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
resources: irq:130 memory:a4600000-a461ffff
回答
好吧,问题是我没有安装正确的驱动程序,这就是为什么当我在 Centos 操作系统上运行 lshw -class 网络命令时,以太网控制器被列为“未声明”。
在找到以太网控制器的型号后,我在这里得到了这些驱动程序,我忘记了我使用什么命令来查找确切的型号,因为运行 lspci 并没有真正提供正确的详细信息,但基本上我只是转到此处的此链接并下载了适当的文件
e1000e 驱动程序为我解决了这个问题,一旦我加载了 e1000e 模块,我终于看到了“eno1”设备,并为其创建了一个网络配置文件并重新启动了网络管理器。
答案1
你可以ethtool
这样使用:
ethtool --identify enp0s31f6
enp0s31f6
命令显示的我的网卡之一在哪里ip a
。此命令启用端口物理连接上的 LED。
答案2
ethtool
顾名思义,仅适用于以太网接口,不适用于virbr0
等等。另外,无法区分接口是否为DOWN状态和没有连接的接口,因此还需要检查接口的配置状态,例如ip link
。
另一种选择是cat /sys/class/net/enp0s31f6/carrier
。如果为 1,则存在连接。如果为0,则没有。如果返回错误,则设备已关闭。