Modifica del gateway predefinito


28

Sto usando 3 interfacce Ethernet su Ubuntu ma quando riavvio, il gateway predefinito sta cambiando in un'altra interfaccia. Ogni volta che avvio devo cambiare il gateway predefinito in eth1 eliminando il gateway predefinito e aggiungendolo nuovamente con eth1. Come posso risolvere questo problema?


L'hai configurato manualmente usando il /etc/network/interfacesfile o con un software come Network Manager o WICD?
Lekensteyn,

1
"Gateway" non è uguale a "route". Un gateway è specifico di un'interfaccia in cui una route indica quale interfaccia deve essere utilizzata.
Lekensteyn,

Il gateway è in genere un'interfaccia su un dispositivo remoto su cui il nodo locale si basa per le decisioni di routing. Una stessa istruzione di route può fare riferimento a un'interfaccia locale o meno, ma la destinazione del routing deve essere rilevabile da una ricerca ricorsiva, da un'interfaccia connessa o da una route predefinita. Una route o gateway predefinito è il "gateway dell'ultima risorsa", che verrà utilizzato in assenza di una route più specifica disponibile.
belacqua,

Puoi fornire la tabella di routing, l'elenco delle interfacce e qualsiasi altra configurazione di rete pertinente che hai fatto?
belacqua,

Risposte:


33

Per modificare temporaneamente il percorso predefinito è possibile utilizzare un comando ip come questo:

$ sudo ip route change default via 192.168.1.1 dev eth0

Se hai una configurazione ip statica /etc/network/interfacespuoi aggiungere un'istruzione gateway per renderla permanente.

iface eth0 inet static
    gateway 192.168.1.1
    […]

Utilizzando DHCP per configurare la rete devi invece modificare un altro file. Aggiungi l'istruzione sostituisci in /etc/dhcp/dhclient.conf.

supersede routers 192.168.1.1;

1
Versione tramite script (dovrebbe essere uno spazio tra le virgolette):echo supersede routers $(ip route | grep default | cut -f3 -d" ")\; | sudo tee --append /etc/dhcp/dhclient.conf
colan

Cosa succede se ho più interfacce? Non dovrebbero avere tutti un "gateway" per ogni interfaccia? Ma cosa influenza l'esempio '' default tramite 192.168.3.1 dev eth6 "output del comando ip route? Elenca un'interfaccia specifica, giusto?
JohnyTex,

7

Apri il file /etc/network/interfaces

trova l'interfaccia desiderata e aggiungi quanto segue:

gateway 192.x.x.x

Riavvia la rete:

sudo /etc/init.d/networking restart

16
Cosa succede se l'interfaccia desiderata è configurata tramite DHCP e non conosco l'indirizzo gateway che assegnerà?
devmiles.com

0

Ho avuto lo stesso problema per la mia interfaccia wifi wlp3s0su Ubuntu 18.04. Stava influenzando la mia capacità di connettermi al tethering Android e al router fuori casa. Il modo per risolvere il problema per me è stato quello di commentare in file /etc/dhcpcd.confquanto segue:

interface wlp3s0
        static ip_address=192.168.0.16/24
        static routers=192.168.0.1
        static domain_name_servers=127.0.0.1

per ottenere quanto segue

#interface wlp3s0
#        static ip_address=192.168.0.16/24
#        static routers=192.168.0.1
#        static domain_name_servers=127.0.0.1

Quindi, mi sono disconnesso dalla mia rete attuale e ricollegato un tentativo route -no nmcliper vedere le modifiche

Puoi anche rimuovere le stesse linee quando sei sicuro che funzioni per te.

A causa di queste linee, NetworkManager aggiungeva sempre una route predefinita con un gateway errato, in particolare quando non ero sulla mia rete domestica. Stavo diventando "Host di destinazione irraggiungibile" quando stavo facendo un ping 8.8.8.8. La codifica hardware di un gateway /etc/network/interfacesnon è stata una soluzione praticabile in quanto mi collego molto a wifis pubbliche (quindi, mai lo stesso router o gateway wifi) e normalmente DHCP dovrebbe funzionare IMHO "out of the box".

PS: non ho mai modificato manualmente, /etc/dhcpcd.confquindi non so perché il file /etc/dhcpcd.confcontenga queste righe.

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.