Definição de 'send_redirect' no contexto IPv4 do Linux

4

Encontrei essas duas linhas em um script:

echo "1" > /proc/sys/net/ipv4/ip_forward/
echo "0" > /proc/sys/net/ipv4/conf/eth0/send_redirects

A primeira linha ativa o encaminhamento de ip, o que faz minha máquina funcionar como um roteador.

Eu gostaria de entender exatamente o que a segunda linha faz. Ele desativa send_redirects na interface eth0 , mas o que isso significa? O que é send_redirect neste contexto?

    
por user2018084 29.10.2014 / 00:54

2 respostas

3

'ip_forward' é ativar o encaminhamento de pacotes para o IPv4.

'Enviar redirecionamentos' é ativado somente se o nó atuar como um roteador. Ou seja, um host não deve enviar uma mensagem de redirecionamento ICMP. Ele é usado pelos roteadores para notificar o host sobre um melhor caminho de roteamento disponível para um destino específico. Em seguida, o host atualiza a entrada do cache de rota e encaminha os pacotes subseqüentes diretamente pelo caminho / rota ideal sugerido por meio da mensagem de redirecionamento do ICMP.

No entanto, esse mecanismo de atualização de informações de roteamento é arriscado e é uma preocupação para a comunidade de segurança, já que os redirecionamentos de ICMP podem ser adulterados / falsificados por um invasor / software mal-intencionado para redirecionamento para o caminho desejado.

Consulte a RFC 1122 (Sec. 3.3.1 e apêndice A) para mais detalhes e cláusulas como 'A Redirect message DEVE ser descartada silenciosamente se o novo endereço de gateway especificado não estiver na mesma (sub) rede conectada através de que o Redirect chegou ou se a origem do Redirect não é o gateway de primeiro salto atual para o destino especificado '

    
por 29.10.2014 / 11:09
4

Os redirecionamentos ocorrem quando você tem vários roteadores na mesma LAN. Por exemplo, digamos que temos uma rede com um host e dois roteadores. O host pode enviar um pacote para o roteador A e o roteador A pode, então, precisar enviar esse pacote pela mesma LAN ao roteador B, porque a tabela de roteamento informa a ele. O roteador A pode enviar uma mensagem de redirecionamento ao host para informar que seria mais eficiente enviar um pacote para esse destino específico diretamente ao roteador B.

Quando você desativar send_redirect , seu roteador não enviará essas mensagens de redirecionamento.

    
por 29.10.2014 / 11:01