„Odpowiedzi RTNETLINK: plik istnieje” / etc / network / interfaces Nie zawiera 2 bram, więc co jest nie tak?

14

To jest /etc/network/interfaceszawartość mojego pliku

Jedynym sposobem, aby to zadziałało, jest ponowne uruchomienie systemu.

Próbuję to zrobić ręcznie. Moje próby poniżej.

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

Najpierw próbował uciec sudo ifup eth0

i otrzymuję

RTNETLINK answers: File exists
Failed to bring up eth0.

/etc/network/interfacesGdy tylko praca i ponownie uruchomić system

Poza tym próbowałem

sudo /etc/init.d/networking restart

sudo service network-manager restart

sudo service networking restart

Ale żaden z nich nie wywoła zmian w interfacespliku

Moją jedyną opcją było sudo ifup eth0i to daje powyższy błąd.

co jest nie tak?

Wolfgang
źródło

Odpowiedzi:

8

Edytuj plik konfiguracyjny, aby usunąć spacje przed ifacezwrotką, aby wyglądało to tak,

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

Otrzymany komunikat wskazuje, że interfejs jest już włączony, więc musisz to zrobić ifdownprzedtem ifup. Należy jednak zachować ostrożność, jeśli łączysz się przez ssh - możesz się zablokować. Oto sposób na to:

sudo ifdown eth0 && sudo ifup eth0

Zauważ, jak te dwa polecenia są wykonywane w tym samym wierszu. I tylko środek ostrożności, upewnij się, że możesz uzyskać dostęp do konsoli serwera lub zrestartować serwer, jeśli coś pójdzie nie tak.

dtoubelis
źródło
3
bieganie sudo ifdown eth0daje ifdown: interface eth0 not configuredi bieganie sudo ifdown eth0 && ifup eth0 daje to samo
Wolfgang
1
@wolfgang, spróbuj usunąć spacje przed ifacezwrotką w swoim /etc/network/interfacespliku i zrób to ifdown/ifupponownie.
dtoubelis,
To zadziałało! nie spodziewałam się, że spacje ifacestworzą tak wielką sprawę. czy możesz to zmienić w swojej odpowiedzi, aby komuś pomóc? i musi być sudowcześniej ifup-> sudo ifdown eth0 && sudo ifup eth0inaczej mam permission deniedbłąd
wolfgang
1

Spróbuj poszukać / run / network / ifstate i zmodyfikuj go, dodając eth (n) = eth (0), jeśli nie widzisz tam pożądanego eth.

Dawny:

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

Następnie użyj polecenia sudo ifdown eth (n), a następnie sudo ifup eth (n).

alex
źródło
1

Każdemu innemu, kto tu trafił, musiałem zatrzymać wszystkie interfejsy i mosty, a następnie zwolnić moduły, zanim błąd RTNETLINK zniknie.

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

lub po prostu uruchom ponownie.

Kurt
źródło
0

Właśnie natrafiłem na ten problem i żadne z powyższych rozwiązań nie zadziałało. Nie mogłem zmienić, /run/network/ifstateponieważ został natychmiast zresetowany do poprzedniego stanu. Też sudo ifdown eth0 && sudo ifup eth0nie działał.

Następnie odkryłem następujące polecenie:

sudo ip addr flush dev eth0

które rozwiązało problem.

digijay
źródło