Debian
Linux 中的 MTU (IPv4) 測試
我注意到我有幾個網路,所有 ICMP 消息都在防火牆級別被阻止,除了 ICMP 回顯和回复。
我知道至少需要允許 IPv4 中的 ICMP 消息類型 3 才能進行 MTU 協商。
可以使用以下命令嗅探數據包:
sudo tcpdump icmp
但是,如何在一個遠端點生成 ICMP 數據包類型 3 以進行全域測試?
您需要 ICMP 類型 3“目標不可達”數據包來提供健康的IP 連接。
生成用於測試的 ICMP 數據包類型 3 的最簡單方法是使用該
nping
程序。該
nping
程序是nmap
軟體包的一部分,因此需要安裝它。為此,您必須這樣做:sudo apt install nmap
安裝後,測試遠端 Linux 系統,開始在遠端端執行,監聽 ICMP 類型 3 和 4 數據包:
sudo tcpdump 'icmp[0] = 3'
或者
sudo tcpdump '(icmp[0] = 3) and (host ip_or_dns_of_nping_sender)'
然後讓另一個系統/端發送 ICMP 類型 3 數據包:
sudo nping --icmp-type 3 ip_or_dns_of_remote
一定要在兩個方向上測試它們。
例如,使用 loopback 介面在本地機器上顯示測試:
在第一個終端 - 偵聽 ICMP 類型 3 消息:
$sudo tcpdump -i lo 'icmp[0] = 3' tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on lo, link-type EN10MB (Ethernet), capture size 262144 bytes 21:37:44.089420 IP localhost > localhost: [|icmp] 21:37:45.090092 IP localhost > localhost: [|icmp] 21:37:46.091289 IP localhost > localhost: [|icmp] 21:37:47.093095 IP localhost > localhost: [|icmp] 21:37:48.095019 IP localhost > localhost: [|icmp] ^C 5 packets captured 10 packets received by filter 0 packets dropped by kernel
在第二個終端 - 發送 ICMP 類型 3 消息:
$sudo nping --icmp-type 3 localhost Starting Nping 0.6.47 ( http://nmap.org/nping ) at 2017-03-06 21:37 WET SENT (0.0221s) ICMP 127.0.0.1 > 127.0.0.1 Destination unreachable (type=3/code=0) ttl=64 id=40477 iplen=28 RCVD (0.2088s) ICMP 127.0.0.1 > 127.0.0.1 Destination unreachable (type=3/code=0) ttl=64 id=40477 iplen=28 SENT (1.0228s) ICMP 127.0.0.1 > 127.0.0.1 Destination unreachable (type=3/code=0) ttl=64 id=40477 iplen=28 RCVD (1.2088s) ICMP 127.0.0.1 > 127.0.0.1 Destination unreachable (type=3/code=0) ttl=64 id=40477 iplen=28 SENT (2.0240s) ICMP 127.0.0.1 > 127.0.0.1 Destination unreachable (type=3/code=0) ttl=64 id=40477 iplen=28 RCVD (2.2088s) ICMP 127.0.0.1 > 127.0.0.1 Destination unreachable (type=3/code=0) ttl=64 id=40477 iplen=28 SENT (3.0258s) ICMP 127.0.0.1 > 127.0.0.1 Destination unreachable (type=3/code=0) ttl=64 id=40477 iplen=28 RCVD (3.2088s) ICMP 127.0.0.1 > 127.0.0.1 Destination unreachable (type=3/code=0) ttl=64 id=40477 iplen=28 SENT (4.0277s) ICMP 127.0.0.1 > 127.0.0.1 Destination unreachable (type=3/code=0) ttl=64 id=40477 iplen=28 RCVD (4.2088s) ICMP 127.0.0.1 > 127.0.0.1 Destination unreachable (type=3/code=0) ttl=64 id=40477 iplen=28 Max rtt: 186.715ms | Min rtt: 181.081ms | Avg rtt: 184.307ms Raw packets sent: 5 (140B) | Rcvd: 5 (140B) | Lost: 0 (0.00%) Nping done: 1 IP address pinged in 4.24 seconds