一、apt update 執(zhí)行失敗
問題描述
Docker安裝后,里面沒有ping、ifconfig等命令,執(zhí)行apt update時,網(wǎng)絡(luò)錯誤。
解決思路
- 排除網(wǎng)絡(luò)鏈路,工具:tcpdump -i 指定端口 -vv。
分析包數(shù)據(jù):發(fā)現(xiàn)能夠正常進(jìn)行114DNS的解析,但后續(xù)包接續(xù)不上。
- Docker內(nèi)設(shè)置的MTU值太大,導(dǎo)致網(wǎng)絡(luò)鏈路中丟棄。
解決方法
修改MTU值,原來是1500,改為1450,便可以執(zhí)行apt update命令了。
二、小知識
- MTU
MTU(Maximum Transmission Unit,最大傳輸單元),是網(wǎng)絡(luò)鏈路節(jié)點(diǎn)的管控值。大于該值的數(shù)據(jù)幀,或分片,或丟棄。
例如:VM -- 物理服務(wù)器 -- 路由器 -- 服務(wù)器
VM的MTU設(shè)置如果為1700,鏈路其他設(shè)備都設(shè)置為1500。路由器接收后,會對其分包或者直接丟棄,判斷的依據(jù)是IP包DF標(biāo)志位,為1則不允許分包。
- tcpdump抓包指令
tcpdump是一種網(wǎng)絡(luò)分析工具,可以將數(shù)據(jù)包的“頭”截獲。
常用的命令:
tcpdump -i 指定端口 -vv
-i,指定網(wǎng)絡(luò)端口,如eth0, ens,lo
-vv 輸出詳細(xì)的報文信息
示例:
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
+關(guān)注
關(guān)注
0文章
69瀏覽量
15954 -
APT
+關(guān)注
關(guān)注
0文章
38瀏覽量
10785 -
Docker
+關(guān)注
關(guān)注
0文章
454瀏覽量
11814
發(fā)布評論請先 登錄
相關(guān)推薦
評論