跳至内容

Linux 的网络路径故障排除

网络连接可能非常棘手。将一堆设备连接到其他设备很容易,但实际上,要让正确的数据从正确的计算机跨越互联网,最终到达正确的目的地,指向正确的开放端口并监听流量,这很快就会变得非常复杂。以Equinix提供的互连速度,您可能会遇到一些不熟悉的网络行为。

本指南将为您提供 Linux 网络故障排除的坚实基础。虽然这通常适用于在服务器之间发送数据的任何用户,但本指南的重点将放在排除您(或您的数据中心)与Equinix之间的连接故障。即使这不能解决您的问题,您也可以向我们的客户成功团队提供所需的所有信息,以帮助您完成后续步骤。

先决条件

  • 拥有访问相关机器权限的Equinix Metal账户
  • 本地 Linux 系统(某些工具可能需要 root/sudo 访问权限)
  • (可选)使用 Metal CLI 工具

IPv4和IPv6

既然我们讨论的是网络,那么就不得不提到 IP 地址。您可能在日常使用中已经熟悉这些数字,但深入了解一下有助于找出问题所在。在大多数情况下,我们讨论的所有内容都使用历史悠久的 IPv4 格式。

IPv4

在 IPv4 中,任何联网设备都会被分配一个唯一的标识符,通常称为 IP 地址。IP 代表“互联网协议”,指的是网络连接中使用的标准协议。IP 地址由 32 位组成,通常以点分十进制表示法表示为四个八位字节(xxx.xxx.xxx.xxx)。任何给定的 IP 地址都可以分为两部分,第一部分是地址的“网络”部分,第二部分表示“主机”部分。这可以用 CIDR(无类别域间路由)表示法或使用子网掩码来表示,前者只是列出了后者使用的位数。例如,假设您有一个来自 Equinix 的 IP 地址 55.82.200.45/29。您可以反向推算出正确的子网掩码以及该地址块中可用的其他 IP 地址。网络分配了 29 位(/29),这意味着有 3 位主机位,因此子网掩码为 255.255.255.248(二进制表示为 11111111.11111111.11111111.111111000)。经过一些二进制转换,我们可以得出 8 个可用的 IP 地址,范围是 55.82.200.40 到 55.82.200.48。其中,第一个主机位(全为 0)通常保留给“网络”地址,最后一个主机位(全为 1)保留给网络“广播”地址。这可能比本指南需要讲解的内容要深入一些。

分析 55.82.200.45/29 地址的主要结论是,拥有该 IP 地址的设备会将 55.82.200.40 到 .48 之间的所有地址视为其本地地址,仅将来自该网络之外的请求转发到其默认网关或路由器。那么,网关究竟是什么呢?

人们通常将互联网视为“一个大型网络”,但这种说法并不完全准确。实际上,互联网更像是由无数个小型网络连接而成。每个与互联网上其他网络相连的网络段都会被分配一个自治系统编号(ASN)。路由器使用ASN向互联网上的所有其他路由器通告它们负责的IP地址范围。当网络A上的计算机需要与网络B上的计算机(或任何不属于其自身本地网络的计算机)通信时,它会将请求转发给本地配置的路由器,通常也称为网关或默认网关。网关会将数据包转发给已公开声明其负责目标主机IP地址所属网络的路由器。

数据包从源地址到达目标地址所经过的路径通常被称为路由。你的系统通常只知道到达默认网关的路由,之后的路由主要基于全球路由表动态进行。这使得互联网上任何子网中的任何主机通常都可以与其他任何主机通信。(为了简单起见,我们省略了防火墙等特殊情况。)

因此,如果您在从 55.82.200.45 向 55.82.200.46 发送数据时遇到问题,您可能需要检查它们是否正确连接到同一网络,或者检查它们的子网掩码,以确保每台计算机都能正确了解其网络连接。如果这些测试通过,下一步就是检查网关连接是否存在问题。

IPv6

你可能知道,如果用一个 32 位的数字来表示互联网上的所有设备,那么我们只能容纳大约 43 亿台联网设备,如果考虑到本地网络预留 IP 的数量,这个数字就更少了。虽然 30 亿看起来似乎很大,但考虑到世界人口以及我们每天拥有和使用的联网设备的数量,这个数字就显得微不足道了。此外,由于 IP 地址块可以细分和移动,路由表很快就会变得拥挤不堪。事实上,自 2015 年以来,大多数地区管理机构的 IP 地址块已经用完了 /8(约 1600 万个)的最后一个地址块。

IPv6 的引入旨在缓解这一问题,它采用 128 位地址,提供 2^128 或 3.4 x 10^32 个可用 IP 地址,或者说“在可预见的未来应该足够用了”。与可变子网掩码不同,IPv6 使用固定的 64 位来表示地址的主机和网络部分。IPv6 的设计初衷是为了适应互联网最初的端到端特性,因此其路由方式与 IPv4 略有不同,对路由器本身的要求也略有降低,而终端节点则需要完成更多的工作。两种协议版本之间还有其他区别,但就本指南而言,主要区别在于地址表示法。

IPv4 写成 4 个十进制八位字节(8 位或字节组),以点或句点分隔;而 IPv6 写成 8 个十六进制十六位字节(16 位组或句点),以冒号分隔。为了方便和清晰起见,IPv6 还包含一些缩写规则:每个十六位字节中所有前导 0 都可以删除,连续全 0 的十六位字节可以用两个冒号 (::) 代替。后一种情况在一个地址中只能使用一次,因为多次使用会导致地址含义模糊不清。

例如,你可能得到的 IPv6 地址是 2001:0db8:0000:0000:0000:ff00:0042:8329。删除前导 0 后,剩下 2001:db8:0:0:0:ff00:42:8329;压缩连续的 0 十六进制数后,剩下 2001:db8::ff00:42:8329。对于本指南而言,识别、扩展和缩写 IPv6 地址,以及记住 64 位网络地址和 64 位主机地址,是 IPv6 故障排除的关键所在。

查找机器的 IP 地址

您可以从Equinix Metal控制台或 CLI 找到服务器的 IP 地址。

使用Equinix Metal Web UI

控制台中,打开组织 项目 服务器 服务器主机名(IPv4/6 地址)。

使用Equinix Metal CLI

如果您使用的是Metal CLI:

获取所有分配的 IP 地址:

metal devices get -o json | jq '.[0].ip_addresses'

要获取分配给特定设备的 IP 地址,请使用:

metal devices get -i $device_id -o json | jq '.ip_addresses'

验证系统的 Web UI / CLI 信息

通过Equinix Metal控制台或 CLI 获取 IP 地址很有用,但有时您可能希望直接访问源地址。这些技术可以让您在机器本身上检索网络信息。

以下大多数工具在标准 Linux 安装中均可用。如果没有,您可以通过发行版的包管理工具(apt、snap、rpm)获取所有工具。

从机器命令行查找您的 IP 地址

要从命令行查找 IP 地址,请使用以下变体之一的 ip 命令:

ip a ip add ip addr ip -br -c a 简讯 + 颜色

例如,要生成所有接口和分配地址的简明概述,请使用:

# ip -br -c a
lo UNKNOWN 127.0.0.1/8 ::1/128
enp1s0f0 UP
enp1s0f1 UP
bond0 UP 139.178.69.191/31 10.88.19.129/31 2604:1380:1000:c00::1/127 fe80::ec4:7aff:feb2:98dc/64

有关使用 ip 命令的更多信息,请参阅众多在线指南

确定哪些端口正在监听

要获取有关可用端口的信息,请使用 ss 命令(套接字统计信息):

ss -l ss -lp(显示过程) lsof -i

例如,要查看当前计算机上所有监听端口的列表,请使用:

# ss -lp
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 127.0.0.53%lo:domain 0.0.0.0:* users:(("systemd-resolve",pid=888,fd=12))
tcp LISTEN 0 4096 127.0.0.53%lo:domain 0.0.0.0:* users:(("systemd-resolve",pid=888,fd=13))
tcp LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:* users:(("sshd",pid=1476,fd=3))
tcp LISTEN 0 4096 *:5201 *:* users:(("iperf3",pid=14162,fd=3))
tcp LISTEN 0 128 [::]:ssh [::]:* users:(("sshd",pid=1476,fd=4))

要获取所有当前打开的文件描述符的列表,请使用:

# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd-r 888 systemd-resolve 12u IPv4 20923 0t0 UDP localhost:domain
systemd-r 888 systemd-resolve 13u IPv4 20924 0t0 TCP localhost:domain (LISTEN)
sshd 1476 root 3u IPv4 27081 0t0 TCP *:ssh (LISTEN)
sshd 1476 root 4u IPv6 27083 0t0 TCP *:ssh (LISTEN)
sshd 1969 root 4u IPv4 27199 0t0 TCP metal-guide-00:ssh->123-123-100-10.sbcglobal.net:51434 (ESTABLISHED)

有关 ss 命令的更多信息,请参阅本指南

确定远程机器是否可访问

要了解某台机器在网络上是否可用,请使用 ping 命令:

ping [address]

除了确定机器是否存在之外,您可能还想知道连接到该机器需要多长时间,也就是延迟。ping 的输出也会告诉您这一点。

以下示例显示了远程主机 packet.com 的可达性,延迟约为 1 毫秒:

# ping packet.com
PING packet.com (104.18.26.66) 56(84) bytes of data.
64 bytes from 104.18.26.66 (104.18.26.66): icmp_seq=1 ttl=58 time=1.02 ms
64 bytes from 104.18.26.66 (104.18.26.66): icmp_seq=2 ttl=58 time=1.04 ms
64 bytes from 104.18.26.66 (104.18.26.66): icmp_seq=3 ttl=58 time=0.881 ms
64 bytes from 104.18.26.66 (104.18.26.66): icmp_seq=4 ttl=58 time=1.03 ms

有关 ping 的更多信息,请参阅本指南

检查特定远程端口是否可访问

要检查 IP 地址,ping 是个很棒的工具。要检查另一台机器上的特定端口,请使用 ncnetcat,如下所示:

nc -vz [address] [port]

要确定您的计算机是否可以访问 equinix.com 的 443 端口,请使用:

# nc -vz equinix.com 443
Connection to equinix.com 443 port [tcp/https] succeeded!

有关 nc 命令的更多信息,请参阅本指南

检查特定远程端口是否可访问并提供更多信息

如果要了解有关端口状态的更详细信息,请使用 nmap

nmap -p [port] [address]

使用 nmap 工具执行相同的任务:

# nmap -p 443 equinix.com
Starting Nmap 7.80 ( https://nmap.org ) at 2022-03-01 03:51 UTC
Nmap scan report for equinix.com (40.91.78.229)
Host is up (0.023s latency).

PORT STATE SERVICE
443/tcp open https

Nmap done: 1 IP address (1 host up) scanned in 0.53 seconds

有关使用 nmap 的更多信息,请参阅本指南

确定到指定地址的路由

如前所述,路由是动态的,因此您需要使用 mtr 命令来确定到达特定目的地的确切路由:

mtr [address] mtr -r -c 10 [address] (-cycles)

mtr 命令还可以告诉你给定路由中包含多少跳,以及其中是否有跳数低于可接受的限速。

下面是一个主机使用 IPv6 IP 尝试访问另一个主机的示例输出。

metal-guide-00 (2604:1380:1000:c00::1) 2022-03-01T03:56:07+0000
Keys: Help Display mode Restart statistics Order of fields quit
Packets Pings
Host Loss% Snt Last Avg Best Wrst StDev
1. _gateway 0.0% 28 7.8 3.0 1.0 8.6 2.5
2. 0.ae147.dsr1.r00c02.sjc1.packet.net 0.0% 28 9.4 23.0 1.5 401.7 75.8
3. 0.ae11.bsr1.sjc1.packet.net 0.0% 28 17.5 2.4 0.7 21.2 4.8
4. 0.et-0-0-11.bsr1.sv5.packet.net 0.0% 28 1.5 4.4 1.3 40.5 9.2
5. 2001:4860:1:1::1d7f 0.0% 27 1.4 1.4 1.2 1.8 0.1
6. 2607:f8b0:82c2::1 48.1% 27 2.2 2.4 2.2 2.7 0.2
7. any-in-2001-4860-4802-36--15.1e100.net 0.0% 27 1.5 1.4 1.2 1.5 0.1

有关 mtr 的更多信息,请参阅本指南

测试连接速度

有时您需要直接测试网络连接速度。为此,您需要安装 speedtest 工具:

apt install speedtest-cli

然后您可以使用以下命令运行测试:

speedtest

要在 CLI 上执行速度测试,请使用:

# speedtest
Retrieving speedtest.net configuration...
Testing from Packet Host (139.178.69.191)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Ayera Technologies, Inc. (Modesto, CA) [97.79 km]: 7.473 ms
Testing download speed................................................................................
Download: 1142.73 Mbit/s
Testing upload speed......................................................................................................
Upload: 1656.41 Mbit/s

有关 Speedtest CLI 工具的更多信息,请参阅官方文档

测量两台机器之间的传输速度

您可以使用 iPerf 工具测试两台机器之间的传输速度。您需要在本地机器和远程机器上都安装 iperf

apt install iperf3

在远程服务器上,要开始监听,请使用: iperf3 -s

在本地系统上使用: iperf3 -c [target address] iperf3 -c [target address] -R(反向,远程 -> 本地)

输出可能如下所示:

# iperf3 -c 139.178.69.191
Connecting to host 139.178.69.191, port 5201
[ 5] local 192.168.0.233 port 52106 connected to 139.178.69.191 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 35.2 MBytes 295 Mbits/sec
[ 5] 1.00-2.00 sec 53.8 MBytes 451 Mbits/sec
[ 5] 2.00-3.00 sec 27.0 MBytes 227 Mbits/sec
[ 5] 3.00-4.00 sec 51.8 MBytes 435 Mbits/sec
[ 5] 4.00-5.00 sec 43.6 MBytes 366 Mbits/sec
[ 5] 5.00-6.00 sec 38.7 MBytes 324 Mbits/sec
[ 5] 6.00-7.00 sec 41.5 MBytes 348 Mbits/sec
[ 5] 7.00-8.00 sec 43.7 MBytes 367 Mbits/sec
[ 5] 8.00-9.00 sec 44.5 MBytes 373 Mbits/sec
[ 5] 9.00-10.00 sec 46.1 MBytes 386 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate
[ 5] 0.00-10.00 sec 426 MBytes 357 Mbits/sec sender
[ 5] 0.00-10.06 sec 424 MBytes 354 Mbits/sec receiver

iperf Done.

有关 iPerf 的更多信息,请参阅官方文档

按设备查看网络负载

要更全面地了解每台设备的网络负载,请使用 nload 工具:

nload

使用箭头键循环浏览可用设备,然后按 q 退出。

以下是来自 nload 的一些示例输出:

Device bond0 [139.178.69.191] (1/5):
===========================================================================================
Incoming:
#####################
#####################
.#####################
######################
######################
######################
######################
######################
###################### Curr: 2.91 kBit/s
###################### Avg: 125.98 MBit/s
###################### Min: 2.90 kBit/s
###################### Max: 317.84 MBit/s
###################### Ttl: 1.20 GByte
Outgoing:









Curr: 30.23 kBit/s
. .. Avg: 1.01 MBit/s
################## Min: 7.57 kBit/s
###################| Max: 2.42 MBit/s
.#################### Ttl: 159.86 MByte

有关 nload 的更多信息,请参阅本指南

确定域的所有者

当您拥有一个远程地址,并且想要确认所有者和其他注册商信息时,请使用 whois 命令:

whois [address]

以下示例显示了 equinix.com 域的 whois 信息:

# whois equinix.com
Domain Name: EQUINIX.COM
Registry Domain ID: 2603897_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.corporatedomains.com
Registrar URL: http://cscdbs.com
Updated Date: 2021-08-22T05:11:35Z
Creation Date: 1998-08-27T04:00:00Z
Registry Expiry Date: 2022-08-26T04:00:00Z
Registrar: CSC Corporate Domains, Inc.
Registrar IANA ID: 299
Registrar Abuse Contact Email: domainabuse@cscglobal.com
Registrar Abuse Contact Phone: 8887802723
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: serverDeleteProhibited https://icann.org/epp#serverDeleteProhibited
Domain Status: serverTransferProhibited https://icann.org/epp#serverTransferProhibited
Domain Status: serverUpdateProhibited https://icann.org/epp#serverUpdateProhibited
Name Server: DNS1.P07.NSONE.NET
Name Server: DNS2.P07.NSONE.NET
Name Server: DNS3.P07.NSONE.NET
Name Server: DNS4.P07.NSONE.NET
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form: https://www.icann.org/wicf/
>>> Last update of whois database: 2022-03-01T04:03:24Z <<<

有关 whois 的更多信息,请使用本指南

确定域名地址

whois 命令非常适合了解域名信息,但有时您可能想知道域名解析到的具体地址。为此,您可以使用 nslookup 命令;或者,要获得更详细的答案,请使用 dig 命令:

nslookup [address] dig +trace [address]

使用 nslookup 的示例:

# nslookup equinix.com
Server: 127.0.0.53
Address: 127.0.0.53#53

Non-authoritative answer:
Name: equinix.com
Address: 40.91.78.229

使用 dig 的相同示例:

# dig +trace equinix.com

; <<>> DiG 9.16.1-Ubuntu <<>> +trace equinix.com
;; global options: +cmd
. 79825 IN NS e.root-servers.net.
. 79825 IN NS d.root-servers.net.
. 79825 IN NS g.root-servers.net.
. 79825 IN NS a.root-servers.net.
. 79825 IN NS k.root-servers.net.
. 79825 IN NS b.root-servers.net.
. 79825 IN NS i.root-servers.net.
. 79825 IN NS m.root-servers.net.
. 79825 IN NS l.root-servers.net.
. 79825 IN NS h.root-servers.net.
. 79825 IN NS j.root-servers.net.
. 79825 IN NS c.root-servers.net.
. 79825 IN NS f.root-servers.net.
;; Received 262 bytes from 127.0.0.53#53(127.0.0.53) in 0 ms

com. 172800 IN NS c.gtld-servers.net.
com. 172800 IN NS m.gtld-servers.net.
com. 172800 IN NS k.gtld-servers.net.
com. 172800 IN NS b.gtld-servers.net.
com. 172800 IN NS g.gtld-servers.net.
com. 172800 IN NS d.gtld-servers.net.
com. 172800 IN NS e.gtld-servers.net.
com. 172800 IN NS f.gtld-servers.net.
com. 172800 IN NS h.gtld-servers.net.
com. 172800 IN NS i.gtld-servers.net.
com. 172800 IN NS j.gtld-servers.net.
com. 172800 IN NS a.gtld-servers.net.
com. 172800 IN NS l.gtld-servers.net.
com. 86400 IN DS 30909 8 2 E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF C41A5766
com. 86400 IN RRSIG DS 8 1 86400 20220313210000 20220228200000 9799 . l/Qi4jz9Mm/17YNIjJM8Z9vBxY2LNM4EwJykZsFLMXg8AnbJDxaAGB3h 47gGMj8mzTpTpgRrmD6ohAh/HOpbzR74YlQze6rVp+fn5oBZGzxKlVvW jVhm0L2vVCBwoilPJJ13sWdVYxBYJC4E1H23vT4khtzEUtjHdNnSbTbl GrFk3DDb6oIR5AhPQZII+zbYWPgLxJS7MJ20ch9ZXpby44IQ/0L+cgly Il/y84Ix/jq4qpfMexbxjTBWa9cK3S+vBIpWnxv4372lEFTiN6SPFYfF YCQVafKCnNZxWq3DIdwDNJcgcZS4ezCkm08Y4PZ/phfHBWHoFaqNMMpw BSY0cg==
;; Received 1199 bytes from 192.112.36.4#53(g.root-servers.net) in 44 ms

equinix.com. 172800 IN NS dns1.p07.nsone.net.
equinix.com. 172800 IN NS dns2.p07.nsone.net.
equinix.com. 172800 IN NS dns3.p07.nsone.net.
equinix.com. 172800 IN NS dns4.p07.nsone.net.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20220304052328 20220225041328 38535 com. QBEVp5RQYWO4WbeNlRYtAg+ob5TeMdT9lidq3zTL5xoEWS8N9xGXMhjx JEnRCkf8+yirdIyLZvIqzKqKtvzr2WXVLpEDdoUsfpj3xdG1VDPXNbva 9bSOgIcOnfv0IUXJJXHhsp80NDWeFYbwR+wJMeEwgrHWQfyccyUejjpU JKK+uBrBP3D7wvHpnNIh1XnFk4f49bhdJCj5/ITzZyjR0Q==
2S6MCLRVGJJO7EJTAFM73G5O7INU7C84.com. 86400 IN NSEC3 1 1 0 - 2S6NAQI4JCBDB8UF5NFPLETQ9GTHE3P6 NS DS RRSIG
2S6MCLRVGJJO7EJTAFM73G5O7INU7C84.com. 86400 IN RRSIG NSEC3 8 2 86400 20220307055325 20220228044325 38535 com. RlR6BsuGKh937/apIR6FtvvQZ47Gv3CXUx0XotbbCGD3EtwsJfxY5bxa Yv3b2HnU+DqL1SChUD2MBAKr0SzNeTSa726Ymy6P75QDM7iGA9ObRRPP 6FEtkfcNxDqXx52pBQpiIQfVhRklW+VoRGD4V54vyC6jSq/PaOSoWCFE tD71VC4mvCbaox5KKUHPn2F8WH5rLFPqoRmHcFuAV01POw==
;; Received 678 bytes from 192.41.162.30#53(l.gtld-servers.net) in 24 ms

equinix.com. 300 IN A 40.91.78.229
;; Received 56 bytes from 2a00:edc0:6259:7:7::4#53(dns4.p07.nsone.net) in 0 ms

有关 nslookup 命令的更多信息,请参阅本指南

有关 dig 命令的更多信息,请参阅本指南

确定本地硬件配置

要检索系统中硬件的详细信息,请使用 lshw(列出硬件)命令:

lshw lshw -class network lshw -class network -short

以下是 lshw 的输出示例,其结果通常看起来拥挤且混乱:

# lshw -class network
*-network:0
description: Ethernet interface
product: I350 Gigabit Network Connection
vendor: Intel Corporation
physical id: 0
bus info: pci@0000:01:00.0
logical name: enp1s0f0
version: 01
serial: 0c:c4:7a:b2:98:dc
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.6.0-k duplex=full firmware=1.52, 0x800007ae latency=0 link=yes multicast=yes port=twisted pair slave=yes speed=1Gbit/s
resources: irq:16 memory:88400000-8847ffff ioport:e020(size=32) memory:88580000-88583fff memory:88500000-8853ffff memory:88584000-885a3fff memory:885a4000-885c3fff
*-network:1
description: Ethernet interface
product: I350 Gigabit Network Connection
vendor: Intel Corporation
physical id: 0.1
bus info: pci@0000:01:00.1
logical name: enp1s0f1
version: 01
serial: 0c:c4:7a:b2:98:dc
size: 1Gbit/s
capacity: 1Gbit/s
width: 32 bits
clock: 33MHz
capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=igb driverversion=5.6.0-k duplex=full firmware=1.52, 0x800007ae latency=0 link=yes multicast=yes port=twisted pair slave=yes speed=1Gbit/s
resources: irq:17 memory:88480000-884fffff ioport:e000(size=32) memory:885c4000-885c7fff memory:88540000-8857ffff memory:885c8000-885e7fff memory:885e8000-88607fff
*-network
description: Ethernet interface
physical id: 3
logical name: bond0
serial: 0c:c4:7a:b2:98:dc
capabilities: ethernet physical
configuration: autonegotiation=off broadcast=yes driver=bonding driverversion=3.7.1 duplex=full firmware=2 ip=139.178.69.191 link=yes master=yes multicast=yes

有关 lshw 命令的更多信息,请参阅本指南

获取特定网卡信息

要确定有关特定计算机中使用的网卡和驱动程序的更具体信息,请使用 ethtool

ethtool [DEVICE NAME] ethtool -i [DEVICE NAME]

有关 ethtool 的更多信息,请参阅本指南

弄清楚防火墙规则

许多 Linux 发行版预部署了防火墙规则或服务(例如 firewalld)以提供基本的系统安全保障。这些规则或服务可能会在您设置网络时造成干扰。在 Linux 系统中,数据包过滤器通常使用 iptablesnftables 来实现,其中 nftables 是较新的版本,但它与 iptables 具有兼容接口。以下是如何获取所有已应用规则的列表:

iptables -S

请记住,iptablesnftables 都遵循“首条规则匹配”原则。这意味着传入的数据包将根据第一条匹配的规则进行处理。

弃用的工具

您可能熟悉一些较早的网络实用程序,例如 arpifconfigroute。这些工具现已弃用,并由 ip 取代。netstat 工具已被 ss 取代。

总结

本文概述了 Linux 系统上可用于排除网络问题的各种工具。虽然这些工具可能无法解决所有网络问题,但了解从哪里获取正确的信息总是有益的。即使没有其他选择,随时掌握这些信息也能加快支持电话的响应速度。

此页面有帮助吗?