大约两周前,我在 Ubuntu 服务器上安装了 QXG-10G1T qnap 以太网卡,然后就一直绞尽脑汁想找出问题所在。关于连接的一些背景信息,服务器现在通过 2 条不同的路由连接到互联网。连接 1 使用内置 1g NIC 直接连接到 192.168.1.0/24 的 ISP 路由器,第二个(目标)是通过新的 10G NIC 连接到我的实验室网络 192.168.3.64/26,我只保留 1G 连接作为故障转移和测试
我仔细阅读了自述文件,尽可能全面地安装了它。在运行安装文件时,我遇到了一些 amdgpu 错误,并且(只是为了消除任何可能的问题)花了一天半的时间查找文件以清除错误,但除此之外,我安装了驱动程序,并将卡识别为“enp39s0”,并将我的板载网卡设置为“enp34s0”:
enp34s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.6 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 2603:6080:7d03:7962:2ef0:5dff:fea2:10f2 prefixlen 64 scopeid 0x0<global>
inet6 2603:6080:7d03:7962:0:2785:3604:4e63 prefixlen 128 scopeid 0x0<global>
inet6 fe80::2ef0:5dff:fea2:10f2 prefixlen 64 scopeid 0x20<link>
ether 2c:f0:5d:a2:10:f2 txqueuelen 1000 (Ethernet)
RX packets 349261 bytes 462730680 (462.7 MB)
RX errors 0 dropped 407 overruns 0 frame 0
TX packets 192797 bytes 24479304 (24.4 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp39s0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.3.126 netmask 255.255.255.192 broadcast 192.168.3.127
ether 24:5e:be:57:f5:8e 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
如您所见,“enp39s0”未传递任何流量。当我检查路由时,NIC 显示“linkdown”。当我为其分配 IP 地址并将其连接到与板载 NIC 相同的系统时,我可以 ping 该 IP 地址,我假设这是服务器通过 34 到 39 路由流量并响应。我尝试检查 dmesg 并发现一些奇怪的文本:
[ 0.992153] r8169 0000:22:00.0 enp34s0: renamed from eth0
[ 1.727005] atlantic 0000:27:00.0 enp39s0: renamed from eth0
[ 14.993139] r8169 0000:22:00.0 enp34s0: Link is Down
[ 17.917521] r8169 0000:22:00.0 enp34s0: Link is Up - 1Gbps/Full - flow control rx/tx
[ 17.917540] IPv6: ADDRCONF(NETDEV_CHANGE): enp34s0: link becomes ready
[ 407.754551] atlantic 0000:27:00.0 enp39s0: renamed from eth0
[ 4327.795974] r8169 0000:22:00.0 enp34s0: Link is Down
[ 4409.452381] r8169 0000:22:00.0 enp34s0: Link is Up - 1Gbps/Full - flow control rx/tx
因此看起来“enp39s0”是从“eth0”重命名而来的,但它应该是第一个端口,并且由“enp34s0”使用,对吗?这两个 NIC 是否都试图通过同一个连接进行管道传输?我完全误解了吗?我完全预料到这是一件愚蠢的简单的事情,它使我的新 NIC 处于链接断开状态,但就像我说的,我已经盯着这个问题看了大约 2 周,我已经没有主意了。
我尝试联系 QNAP,他们告诉我他们无法提供帮助,我需要打电话给 marvell,但他们根本不愿意回复我,所以我来这里寻求帮助。我正在运行 Linux 服务器 20.10 和 Debian 5.8.0。如果需要,我可以提供 atlantic 驱动程序的 modinfo,但我觉得这可能更像是一个“配置不当”的问题
这是 netplan 文件的打印输出:
# This is the network config written by 'subiquity'
network:
ethernets:
enp39s0:
dhcp4: false
addresses: [192.168.3.126/26]
nameservers:
addresses: [1.1.1.1, 208.67.220.220, 8.8.8.8]
gateway4: 192.168.3.65
enp34s0:
dhcp4: false
addresses: [192.168.1.6/24]
nameservers:
addresses: [1.1.1.1, 208.67.220.220, 8.8.8.8]
gateway4: 192.168.1.1
version: 2
和路线:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 enp34s0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 enp34s0
192.168.3.64 0.0.0.0 255.255.255.192 U 0 0 0 enp39s0
答案1
如果链路不通,您如何期望 NIC 路由流量?首先检查无法建立链路的原因。NIC 和链路伙伴的 LED 状态、双方通告的模式等。
答案2
编辑:我可以把它写在我的笔记的每一页上,但每次我开始深入研究问题时就会忘记它:
始终检查第 1 层
问题出在一根质量不好的手工电缆上。这根电缆用了 4 年了,一直没出过问题,但现在不知何故,在转换到新设置时,其中一个针脚坏了。现在一切都恢复正常了。
再次提醒,故障排除时不要忘记基本的东西