Freebsd altera a rota do canal da Internet padrão

10

Eu tenho dois canais da Internet e o Gateway no freebsd. Quando eu alterno o canal com o comando route change default chan2 , o comando netstat -nr mostra a rota padrão alterada. Mas traceroute mostra que os pacotes passam pela rota antiga chan1.

Exemplo:

$netstat -nr 
Routing tables Internet: Destination Gateway  Flags    Refs   Use  Netif Expire
                         default     xxx.xxx.183.54 US 0 8432    em3

$sudo route change default xxx.xxx.144.125 
change net default: gateway> xxx.xxx.144.125

$netstat -nr
Routing tables Internet: Destination Gateway Flags Refs Use  Netif Expire
                         default     xxx.xxx.144.125   US  2  16450  em3

MAS

$ traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 64 hops max, 52 byte packets
 1  xxx.xxx.183.53 (xxx.xxx.183.53)  0.527 ms  0.415 ms  0.483ms

Tudo funciona se eu executar a seguinte combinação:

$sudo route del default

$sleep 10

$sudo route add default xxx.xxx.144.125

    
por Taron 09.07.2013 / 16:34

2 respostas

0

Se você usar o comando route change , precisará reiniciar o serviço de rede para aplicar as alterações, por exemplo:

$ sudo /etc/rc.d/netif restart
    
por 08.10.2015 / 13:20
0

É possível que você tenha uma rota em cache para o 8.8.8.8? A saída completa de netstat -nr mostraria isso. Em caso afirmativo, você precisaria removê-lo antes de testar sua alteração - essa rota especificamente ou você poderia route flush e, em seguida, adicionar em vez de alterar o gateway padrão (mas tenha em mente que isso interromperá o tráfego não local enquanto entre os dois comandos se você vai desse jeito).

    
por 29.11.2016 / 17:21