一、apt update 执行失败
问题描述
Docker安装后,里面没有ping、ifconfig等命令,执行apt update时,网络错误。
解决思路
- 排除网络链路,工具:tcpdump -i 指定端口 -vv。
分析包数据:发现能够正常进行114DNS的解析,但后续包接续不上。
- Docker内设置的MTU值太大,导致网络链路中丢弃。
解决方法
修改MTU值,原来是1500,改为1450,便可以执行apt update命令了。
二、小知识
- MTU
MTU(Maximum Transmission Unit,最大传输单元),是网络链路节点的管控值。大于该值的数据帧,或分片,或丢弃。
例如:VM -- 物理服务器 -- 路由器 -- 服务器
VM的MTU设置如果为1700,链路其他设备都设置为1500。路由器接收后,会对其分包或者直接丢弃,判断的依据是IP包DF标志位,为1则不允许分包。
- tcpdump抓包指令
tcpdump是一种网络分析工具,可以将数据包的“头”截获。
常用的命令:
tcpdump -i 指定端口 -vv
-i,指定网络端口,如eth0, ens,lo
-vv 输出详细的报文信息
示例:
12:12:09.782698 IP (tos 0x0, ttl 62, id 39791, offset 0, flags [DF], proto TCP (6), length 52)
10.168.16.15.42204 > .5901: Flags [.], cksum 0x700f (correct), seq 774, ack 10624633, win 13508, options [nop,nop,TS val 2029593093 ecr 1866739405], length 0
12:12:09.782803 IP (tos 0x0, ttl 62, id 39792, offset 0, flags [DF], proto TCP (6), length 52)
10.168.16.15.42204 > .5901: Flags [.], cksum 0x5472 (correct), seq 774, ack 10631623, win 13587, options [nop,nop,TS val 2029593093 ecr 1866739405], length 0
12:12:09.782853 IP (tos 0x0, ttl 62, id 39793, offset 0, flags [DF], proto TCP (6), length 52)
10.168.16.15.42204 > .5901: Flags [.], cksum 0x394c (correct), seq 774, ack 10638613, win 13547, options [nop,nop,TS val 2029593093 ecr 1866739405], length 0
12:12:09.782904 IP (tos 0x0, ttl 62, id 39794, offset 0, flags [DF], proto TCP (6), length 52)
10.168.16.15.42204 > .5901: Flags [.], cksum 0x1daf (correct), seq 774, ack 10645603, win 13626, options [nop,nop,TS val 2029593093 ecr 1866739405], length 0
-
Ping
+关注
关注
0文章
70浏览量
16494 -
APT
+关注
关注
1文章
39浏览量
11149 -
Docker
+关注
关注
0文章
517浏览量
13118
发布评论请先 登录
如何设置mtu值才可以让网速达到最快
端子线不通电的原因是什么?
如何利用Ping命令测试本地最佳MTU值的方法

【笔记】ping不通的原因有那些?

电子元件烧坏原因是什么?导致元器件烧蚀的原因
路由器MTU是什么意思?路由器mtu最佳值
局域网ping不通的原因有哪些
mtu与网络性能的关系 mtu调整对网络的影响
mtu在不同网络协议中的应用
mtu和网络安全的关系
mtu大小对云服务的影响
NCS更改MTU大小

评论