MTU (IPv4) testa no Linux

7

Notei que tenho várias redes com todas as mensagens ICMP bloqueadas no nível do firewall, exceto para eco e resposta do ICMP.

Eu sei que há uma necessidade pelo menos de mensagens ICMP tipo 3 no IPv4 terem que ser permitidas para que a negociação de MTU ocorra.

Os pacotes podem ser ouvidos com o comando:

sudo tcpdump icmp

No entanto, como eu gero pacotes ICMP tipo 3 em um ponto remoto para fazer testes globais?

    
por Rui F Ribeiro 06.03.2017 / 22:22

1 resposta

10

Você precisa de pacotes ICMP tipo 3 "destino inacessível" para fornecer conexões IP saudáveis .

A maneira mais fácil de gerar pacotes ICMP tipo 3 para testes é usando o programa nping .

O programa nping faz parte do pacote nmap e, como tal, deve ser instalado. Para isso você tem que fazer:

sudo apt install nmap

Após tê-lo instalado, para testar um sistema Linux remoto, começando a correr no lado remoto, para ouvir os pacotes ICMP tipo 3 e 4:

sudo tcpdump  'icmp[0] = 3'

ou

sudo tcpdump  '(icmp[0] = 3) and (host ip_or_dns_of_nping_sender)'     

e, em seguida, faça o outro sistema / lado para enviar os pacotes ICMP tipo 3:

sudo nping --icmp-type 3 ip_or_dns_of_remote

Não deixe de testá-los nas duas direções.

Como exemplo, usando a interface de loopback para mostrar o teste na máquina local:

No primeiro terminal - escutando mensagens ICMP tipo 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

No segundo terminal - enviando mensagens ICMP tipo 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

    
por 06.03.2017 / 22:22