Redirecionamento ICMP: como testá-lo com o icmpush

3

Eu quero ver como a tabela de roteamento muda em um sistema Linux, quando um redirecionamento ICMP é recebido. Para isso eu uso

icmpush -v red -sp current-gateway -gw new-gateway -dest google.com -c host -prot tcp my-eth1-ip-address

(que retorna sucesso), mas o resultado de

route -n 

permanece o mesmo. Claro que verifiquei a saída de

cat /proc/sys/net/ipv4/conf/eth1/accept_redirects

que é 1. Esta é uma máquina Ubuntu 12, com a última versão estável do kernel, sem firewall instalado.

Então a pergunta: o que poderia estar errado?

    
por user192828 25.01.2013 / 19:05

2 respostas

1

De acordo com Documentação / rede / ip-sysctl.txt , por padrão redireciona são aceitos apenas para os gateways que já estão listados na tabela de roteamento.

secure_redirects - BOOLEAN
    Accept ICMP redirect messages only for gateways,
    listed in default gateway list.
    secure_redirects for the interface will be enabled if at least one of
    conf/{all,interface}/secure_redirects is set to TRUE,
    it will be disabled otherwise
    default TRUE
    
por 25.01.2013 / 19:44
0

Uma suposição: a chamada de icmpush não usa a interface externa eth1 , mas sim o localhost um lo para que o kernel não reconheça que é um redirecionamento correto do gateway. Além disso, em versões muito antigas do kernel do Linux, essas rotas não eram exibidas na resposta de route -n . Como observei, a resposta de route -nC poderia ser a maneira correta de incluir também a rota de redirecionamento temporário.

@grawity, sobre aceitar redirecionamentos que foram enviados em resposta a outro pacote: você leu isso em algum lugar? porque eu estaria realmente interessado nisso.

    
por 26.01.2013 / 01:03