"RTNETLINK risponde: il file esiste" / etc / network / interfaces Non contiene 2 gateway, quindi cosa c'è che non va?


14

Questo è il /etc/network/interfacescontenuto del mio file

L'unico modo in cui questo ha effetto è quando il sistema si riavvia.

Sto cercando di farlo manualmente. I miei tentativi di seguito.

auto eth0
    iface eth0 inet static
           address 192.168.1.57
           netmask 255.255.255.0
           gateway 192.168.1.1
           up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
           down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
           up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
           down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20

Prima ho provato a correre sudo ifup eth0

e ricevo

RTNETLINK answers: File exists
Failed to bring up eth0.

L' /etc/network/interfacesunico lavoro quando riavvio il sistema

Diverso da quello che ho provato

sudo /etc/init.d/networking restart

sudo service network-manager restart

sudo service networking restart

Ma nessuno di loro farà apparire le modifiche nel interfacesfile

La mia unica opzione era sudo ifup eth0e questo dà l'errore sopra.

che c'è?

Risposte:


8

Modifica il tuo file di configurazione per rimuovere gli spazi prima della ifacestanza in modo che appaia così,

auto eth0
iface eth0 inet static
   address 192.168.1.57
   netmask 255.255.255.0
   gateway 192.168.1.1
   up ip addr add 192.168.0.57/24 dev eth0 label eth0:1
   down ip addr del 192.168.0.57/24 dev eth0 label eth0:1
   up ip route add 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20
   down ip route del 192.168.0.0/24 via 192.168.0.1 dev eth0:1 metric 20

Il messaggio che ricevi indica solo che l'interfaccia è già attiva, quindi devi farlo ifdownprima di farlo ifup. Tuttavia, devi stare attento se ti stai connettendo tramite ssh - potresti bloccarti. Questo è un modo per farlo:

sudo ifdown eth0 && sudo ifup eth0

Nota, come questi due comandi vengono eseguiti sulla stessa riga. E solo per precauzione, assicurati di poter accedere alla console del server o riavviare il server se qualcosa va storto.


3
running sudo ifdown eth0ifdown: interface eth0 not configurede running sudo ifdown eth0 && ifup eth0 dà lo stesso
wolfgang

1
@wolfgang, prova a rimuovere gli spazi prima della ifacestrofa nel tuo /etc/network/interfacesfile e fai di ifdown/ifupnuovo.
dtoubelis,

Questo ha funzionato! non si aspettava che spazi prima ifaceavrebbero creato un grosso problema. potresti per favore modificarlo nella tua risposta in modo che possa aiutare qualcuno? e ci deve essere un sudoprima ifup-> sudo ifdown eth0 && sudo ifup eth0altrimenti ricevo un permission deniederrore
wolfgang il

1

Prova a cercare / run / network / ifstate e modificalo aggiungendo eth (n) = eth (0) se non vedi lì l'eth desiderato.

Ex:

$ cat /run/network/ifstate 
eth0=eth0
lo=lo
eth3=eth3
eth1=eth1

Dopodiché usa il comando sudo ifdown eth (n) e poi sudo ifup eth (n).


1

Per chiunque altro sia finito qui, ho dovuto interrompere tutte le interfacce e i bridge e quindi scaricare i moduli prima che l'errore RTNETLINK scomparisse.

ifconfig eth0 down
ifconfig br0 down
rmmod e1000e              # or whatever module your nic uses
modprobe e1000e
service networking start

o semplicemente riavviare.


0

Ho appena incontrato questo problema e nessuna delle soluzioni sopra ha funzionato per me. Non ho potuto cambiare /run/network/ifstateperché è stato ripristinato immediatamente allo stato precedente. Inoltre sudo ifdown eth0 && sudo ifup eth0non ha funzionato.

Ho quindi scoperto il seguente comando:

sudo ip addr flush dev eth0

che ha risolto il problema.

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.