Como aceitar redirecionamentos ICMP?

3

tcpdump mostrou que há algum redirecionamento de ICMP na minha rede (máquinas virtuais KVM, rede em ponte). Eu decidi dar uma olhada neles e como meu sistema se comporta e como se parece. Eu achei que não funciona como deveria:

Digamos que eu esteja em 1.1.1.1 e eu ping 2.2.2.2 :

# ping 2.2.2.2
PING 2.2.2.2 (2.2.2.2) 56(84) bytes of data.
64 bytes from 2.2.2.2: icmp_seq=1 ttl=63 time=0.569 ms
From 4.4.4.4: icmp_seq=2 Redirect Host(New nexthop: 3.3.3.3)
64 bytes from 2.2.2.2: icmp_seq=2 ttl=63 time=0.690 ms
From 4.4.4.4: icmp_seq=3 Redirect Host(New nexthop: 3.3.3.3)

como você pode ver, eu recebo vários redirecionamentos para o 3.3.3.3 que parece bem, mas por algum motivo meu host ( 1.1.1.1 ) o ignora.

# sysctl -a|grep accept_redirects
net.ipv4.conf.all.accept_redirects = 1
net.ipv4.conf.default.accept_redirects = 1
net.ipv4.conf.eth0.accept_redirects = 1
net.ipv4.conf.lo.accept_redirects = 1

e não há entrada para essa nova rota em ip route list e ip route list cache está vazia.

A versão do kernel é:

# uname -a
Linux foo.bar 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) x86_64 GNU/Linux

A alteração de /proc/sys/net/ipv4/conf/*/accept_redirects values 0|1 , networking restart ou mesmo reboot não funcionou.

Desejo aceitar redirecionamentos do ICMP - alguma idéia?

ATUALIZAÇÃO:

# ip -d route

unicast default via 4.4.4.4 dev eth0  proto boot  scope global 
unicast 1.1.1.0/24 dev eth0  proto kernel  scope link  src 1.1.1.1
unicast 4.4.4.4 dev eth0  proto boot  scope link 
    
por pawel7318 08.03.2016 / 16:58

2 respostas

3

Os redirecionamentos ICMP são enviados para definir uma rota / gateway melhor para um destino.

Como você precisa ter um endereço IP na mesma rede que o gateway / saída de uma rota, a rota só será inserida na tabela de roteamento se todas as condições a seguir forem verdadeiras:

  • accept_redirects está definido como 1
  • a máquina em questão tem uma interface com um endereço que pertence à rede do gateway
  • não possui um endereço IP na mesma rede que a rota de destino.

caso contrário, a rota será descartada.

Eu não aceitaria redirecionamentos cegos, pois há implicações de segurança conhecidas com redirecionamentos falsificados de ICMP. Os redirecionamentos de ICMP também podem mascarar mal funcionamento temporário da rede ou erros de design de rede.

O que são redirecionamentos ICMP e devem ser bloqueados? / a>

    
por 08.03.2016 / 18:45
3

Para adicionar à resposta de Rui F Ribeiro:

Você também pode ter que desativar secure_redirects, já que o padrão é 1 agora e rejeita os destinos de redirecionamento que ainda não são um dos gateways existentes.

Como alternativa, se você puder adicionar o IP de destino como um segundo gateway padrão para a mesma interface, talvez com uma métrica mais baixa, isso também deve funcionar. Se alguém souber como fazer isso, por favor comente.

    
por 05.09.2018 / 18:46

Tags