Freebsd cambia il percorso predefinito del canale Internet


10

Ho due canali Internet e Gateway su freebsd. Quando cambio canale con il comando route change default chan2, il comando netstat -nrmostra il percorso predefinito modificato. Ma traceroutemostra che i pacchetti passano attraverso il vecchio percorso chan1.

Esempio:

$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

MA

$ 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

Tutto funziona se eseguo la seguente combinazione:

$ sudo route del default

$ sleep 10

$ sudo route aggiungi default xxx.xxx.144.125


Quale versione stai eseguendo ( uname -adovrebbe mostrare)?
Chris S,

FreeBSD 8.2-RELEASE FreeBSD 8.2-RELEASE # 0: ven 15 apr 12:45:40 MSD 2011 root@grs.ru: / usr / src / sys / amd64 / compile / IXI_8_2_PF_x64 amd64
Taron

Il gateway nella tua prima tabella di routing e il primo hop nel traceroute non sono gli stessi (.53 vs .54): hai copiato e incollato o digitato nuovamente questo? Puoi anche pubblicare l'intero output di netstat -rnf inet?
James O'Gorman,

traceroute in esecuzione dal mio GW (.54), .53 è il dispositivo IP del primo provider.
Taron,

5
Svuotare la cache ARP arp -d -ae / o le tabelle di routing route flushprima di aggiungere la nuova route predefinita. Forse lo spazio kernel / utente sta consultando dati non aggiornati.
Inetplumber

Risposte:


0

Se si utilizza il route changecomando, è necessario riavviare il servizio di rete per applicare le modifiche, ad esempio:

$ sudo /etc/rc.d/netif restart

0

È possibile che tu abbia un percorso memorizzato nella cache a 8.8.8.8? L'output completo di netstat -nrlo dimostrerebbe. In tal caso, dovresti rimuoverlo prima di testare la tua modifica: o quella rotta in modo specifico o potresti route flushe quindi aggiungere invece di cambiare il gateway predefinito (ma tieni presente che questo interromperà il traffico non locale mentre tra i due comandi se lo fai modo).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.