Come posso cambiare il gateway predefinito?


19

Attualmente sto eseguendo un FreeBSD 9.1 e il gateway predefinito è già configurato in rc.conf.

rc.conf:

defaultrouter = "10.0.0.1"

Ma ora voglio cambiare il gateway predefinito senza riavviare il sistema, è possibile?

Risposte:


21
route del default
route add default 1.2.3.4

Dov'è 1.2.3.4il nuovo gateway. Puoi anche concatenarli sulla stessa linea con a;

Modifica: questo è FreeBSD, non Linux. Il comando è diverso. Non modificare questa risposta se non hai letto la domanda con sufficiente attenzione per determinare il sistema operativo in uso.


4
Nota: farlo in console, non su ssh. Se devi farlo tramite ssh (o altro metodo di rete), invia entrambi i comandi contemporaneamente, con ;o con&&
Dalibor Filus

4
Oppure, utilizzare il metodo sicuro generico: 1) Accedere a una shell, arrestare / riavviare in 15 minuti a meno che non venga annullato 2) Fare cose non sicure. 3) Annulla l'arresto / riavvio.
Hennes,

2
Su Linux i comandi ip route del defaulte ip route add default via 1.2.3.4funzionano. Quindi il comando è ancora rilevante anche per gli utenti Linux in quanto ha un po 'di somiglianza.
Paul Stelian,

16

È possibile aggiungere una nuova route predefinita e rimuovere quella precedente utilizzando il comando ipo route. I comandi seguenti sostituiranno il gateway con 192.0.2.1. Entrambe le coppie di comandi fanno la stessa cosa. FreeBSD e altri sistemi operativi dovrebbero avere uno o entrambi i programmi, possibilmente con formati leggermente diversi. (FreeBSD ha il routecomando ed esclude la gwparola chiave usata in altre implementazioni.) I comandi man ipe / o man routedovrebbero fornirti la documentazione sulla tua specifica implementazione.

route add default 192.0.2.1
route del default 10.0.0.1

ip route add default via 192.0.2.1
ip route del default via 10.0.0.1 

Esistono più implementazioni di questi comandi, quindi quanto sopra potrebbe non corrispondere all'implementazione. L'implementazione dovrebbe avere una manpagina con esempi per casi d'uso comuni come l'aggiunta e la rimozione di gateway predefiniti. Prova man routee man ipper vedere come funziona l'implementazione.

Cambia 192.0.2.1 sul gateway predefinito desiderato. Il gateway predefinito deve trovarsi su una delle reti a cui hai una connessione diretta. Puoi modificare il tuo indirizzo IP in modo simile. ipè uno strumento più recente che farà quasi tutto il necessario per visualizzare e gestire gli indirizzi IP e il routing su reti IPv4 e IPv6. ifconfigè uno strumento precedente per la configurazione di indirizzi IP su una rete IPv4.

Per rendere permanente la modifica, aggiornare i file di configurazione della rete in /etc. I file variano in base alla distribuzione che si sta utilizzando.

Almeno uno di questi comandi dovrebbe essere disponibile su qualsiasi O / S derivata da Unix. Versioni diverse potrebbero funzionare in modo leggermente diverso. Controlla la manpagina per i dettagli sul tuo O / S.


4
-1 Siamo spiacenti, ma questi sono comandi Linux e non funzionano su FreeBSD .
Chris S,

2
@ChrisS aggiornato per fare riferimento alle modifiche per FreeBSD. routeha più implementazioni con modifiche minori alla sintassi.
BillThor,

1
vota per i comandi "ip route".
Sérgio,

9

Ecco un one-liner:

ip route replace default via 1.2.3.4

Dov'è 1.2.3.4il nuovo IP gateway

credito


2
-1 Siamo spiacenti, ma questi sono comandi Linux e non funzionano su FreeBSD .
Chris S,

3

sì, basta cambiare il percorso e riavviare la rete.

/etc/rc.d/netif restart

2
Funziona, anche se riavvia un sacco di cose ... e potrebbe rompere le applicazioni legate alle interfacce.
Chris S,

1

Puoi provare:

route add default gw 192.168.1.254 eth0

-1 Siamo spiacenti, ma questi sono comandi Linux e non funzionano su FreeBSD .
Chris S,

Route addfa parte della mia installazione di FreeBSD 8.4 però. Ma sì, molte persone qui rispondono per il sistema operativo sbagliato.
Hennes,

1
@Hennes la route addparte funziona bene. GNU / Linux ha aggiunto la gwparte, che non funziona su nessun altro * nix. Senza i gwlavori su tutti i BSD, Solaris, OSX, HPUX, AIX, ecc.
Chris S

1

È molto semplice, devi solo digitare i comandi seguenti:

$ route del 0/0
$ route add 0/0 192.168.0.1

Dovrai sostituire "192.168.0.1" con l'IP di tua scelta.

E per verificare le modifiche puoi usare 'netstat':

$ netstat -r

Questo comando mostra la tabella di routing del sistema.


Che cos'è "0/0"?
WWW,

1
@WWW '0/0' è l'abbreviazione del blocco di rete '0.0.0.0/0', che è lo stesso di 'default', ma preferisco '0/0' (suppongo di essere più della vecchia scuola ).
ifm

0

Utilizzate sempre prima netstat -nrper controllare il gateway che cosa avete e quali dettagli ha ... vedete 0.0.0.0. quando è di default e dovresti prima pensare al perché sto cambiando questo gateway che usare questo comando:

route add default gw your ip eth0

-1 Siamo spiacenti, ma questi sono comandi Linux e non funzionano su FreeBSD .
Chris S,
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.