Linux环境下排除网络故障常用命令

1. 网络模型回顾

先来回顾一下OSI和TCP/IP网络模型,TCP/IP网络模型更符合现实中的网络。TCP/IP网络模型依次为:

  • 第五层:应用层(Application)
  • 第四层:传输层(Transport)
  • 第三层:网络层(Network/Internet)
  • 第二层:数据链路层(Data Link)
  • 第一层:物理层(Physical)

下面我们依次来看看在各层,有什么方法可以检测网络故障。

TCPIP_OSI_0.png

2. 物理层

2.1 查看网卡状态

# 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: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:0c:b9:17 brd ff:ff:ff:ff:ff:ff

2.2 简化输出信息

# ip -br link show

lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP> 
enp0s3           UP             08:00:27:0c:b9:17 <BROADCAST,MULTICAST,UP,LOWER_UP> 

2.3 启用/禁用网卡

# ip link set enp0s3 up/down

2.4 打印网卡的统计信息,查看是否有丢包情况

# ip -s link show enp0s3

2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 08:00:27:0c:b9:17 brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast   
    13546687   9535     0       0       0       22      
    TX: bytes  packets  errors  dropped carrier collsns 
    625270     7339     0       0       0       0

2.5 检测网卡速率是否正确配置

# ethtool enp0s3

Settings for enp0s3:
    Supported ports: [ TP ]
    Supported link modes:   10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Supported pause frame use: No
    Supports auto-negotiation: Yes
    Supported FEC modes: Not reported
    Advertised link modes:  10baseT/Half 10baseT/Full 
                            100baseT/Half 100baseT/Full 
                            1000baseT/Full 
    Advertised pause frame use: No
    Advertised auto-negotiation: Yes
    Advertised FEC modes: Not reported
    Speed: 1000Mb/s
    Duplex: Full
    Port: Twisted Pair
    PHYAD: 0
    Transceiver: internal
    Auto-negotiation: on
    MDI-X: off (auto)
Cannot get wake-on-lan settings: Operation not permitted
    Current message level: 0x00000007 (7)
                   drv probe link
    Link detected: yes

3. 数据链路层

ARP(Address Resolution Protocol)在数据链路层工作,用于三层IP地址到二层MAC地址的映射。

3.1 查看本地ARP表

# ip neighbor show

192.168.1.109 dev enp0s3 lladdr 20:54:fa:c4:66:2b STALE
192.168.1.1 dev enp0s3 lladdr d4:ee:07:45:a7:1a STALE
192.168.1.232 dev enp0s3 lladdr 9c:5c:8e:78:85:76 REACHABLE

3.2 修改本地ARP表

ARP表会在本地缓存一段时间,缓存到期,ARP会重新发现建立新的ARP表。

在一些极端情况,比如Keepalived的虚拟IP地址漂移,需要让缓存立即失效,重新建立虚拟IP到新MAC地址的映射。这时可以删除ARP表中的映射项,ARP会立即开始重建。

# ip neighbor delete 192.168.1.1 dev enp0s3

4. 网络层

IP协议和ICMP协议(Internet Control Message Protocol)工作在这一层。

4.1 查看IP地址

# ip -br address show

lo               UNKNOWN        127.0.0.1/8 ::1/128 
enp0s3           UP             192.168.1.175/24 fe80::a00:27ff:fe0c:b917/64

4.2 检测网络联通

# ping -c 3 www.baidu.com 

PING www.a.shifen.com (180.101.49.12) 56(84) bytes of data.
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=1 ttl=48 time=8.02 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=2 ttl=48 time=8.08 ms
64 bytes from 180.101.49.12 (180.101.49.12): icmp_seq=3 ttl=48 time=8.06 ms

--- www.a.shifen.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 8.024/8.056/8.082/0.077 ms

4.3 利用TTL查询网络路径

# windows 用 tracert
# tracert www.baidu.com

通过最多 30 个跃点跟踪
到 www.a.shifen.com [112.80.248.75] 的路由:

  1    <1 毫秒   <1 毫秒   <1 毫秒 Hiwifi.lan [192.168.1.1]
  2     2 ms     1 ms     1 ms  100.64.224.1
  3     2 ms     1 ms     2 ms  139.226.230.113
  4     2 ms     2 ms     2 ms  139.226.210.97
  5    18 ms     4 ms     4 ms  219.158.11.2
  6    11 ms    11 ms    11 ms  221.6.1.250
  7     7 ms     9 ms     7 ms  112.86.192.154
  8     *        *        *     请求超时。
  9     9 ms     8 ms     8 ms  112.80.248.75

跟踪完成。

# linux 最好加上 -I
# traceroute -I www.baidu.com

traceroute to www.baidu.com (180.101.49.12), 30 hops max, 60 byte packets
 1  * * *
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  180.101.49.12 (180.101.49.12)  8.110 ms  8.157 ms  8.158 ms

4.4 查看IP路由表

# ip route show

default via 192.168.1.1 dev enp0s3 proto static 
192.168.1.0/24 dev enp0s3 proto kernel scope link src 192.168.1.175 

4.5 检测DNS

# nslook www.google.com

Server:     127.0.0.53
Address:    127.0.0.53#53

Non-authoritative answer:
Name:   www.google.com
Address: 31.13.83.16

5. 传输层

TCP协议和UDP协议工作在这一层。

5.1 查看本地连接

# ss -tunlp4

Netid  State    Recv-Q   Send-Q       Local Address:Port       Peer Address:Port   
udp    UNCONN   0        0            127.0.0.53%lo:53              0.0.0.0:*      
tcp    LISTEN   0        128          127.0.0.53%lo:53              0.0.0.0:*      
tcp    LISTEN   0        128                0.0.0.0:22              0.0.0.0:*      
tcp    LISTEN   0        128              127.0.0.1:6010            0.0.0.0:*  

ss命令可以传递的参数:

  • -t - 显示TCP端口
  • -u - 显示UDP端口
  • -n - 不解析主机名
  • -l - 显示监听端口
  • -p - 显示进程
  • -4 - 仅显示IPv4的socket连接

5.2 测试TCP连接

# telnet 192.168.1.100 3306

5.3 测试UDP连接

# nc 192.168.122.1 -u 80
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342