ifdown <interface> zgłasza nieznany interfejs, jeśli istnieje!


15

W wersji 16.04 z uruchomionym portem Ethernet Ethernet ifconfig -awyświetlany jest interfejs o nazwie, enx00051ba6daffjednak gdy próbuję go wyłączyć za pomocą:

sudo ifdown enx00051ba6daff

Dostaję:

Unknown interface enx00051ba6daff

Wiem, że to działa, ponieważ piszę ten post z tego połączenia. Mój ifconfig wygląda następująco:

enx00051ba6daff Link encap:Ethernet  HWaddr 00:ff:ff:ff:ff:ff  
          inet addr:192.168.2.105  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::ffff:ffff:ffff:ffff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:86522 errors:0 dropped:0 overruns:0 frame:0
          TX packets:84828 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:56466348 (56.4 MB)  TX bytes:12987882 (12.9 MB)

1
Czy możesz dodać wynik ifconfig enx00051ba6daff?
Nathan Osman

1
lub wyjście ifconfigIve nigdy nie widziałem takiej listy urządzeń.
j0h

To gigE USB + 3 x porty USB3. Ponownie, interfejs Eth działa, po prostu nie podoba mu się nazwa, gdy jest używany z ifdown / ifup, ale zdałem sobie sprawę, że mogę to zrobić za pomocą ifconfig <interface> dół / góra, ale to nie pozwala mi zmieniać vlansów bez restartu.
pingram3541,

Odpowiedzi:



2

sudo ifdown enx00051ba6dafflub sudo ifup enx00051ba6daffnie będzie działać, ponieważ enx00051ba6daff nie jest jawnie zdefiniowany w /etc/network/interfacespliku.

Tak więc ifup | ifdown | ifqueryrodzina funkcji jest całkiem nieświadoma tego, co jest w systemie, chyba że jest to zapisane wewnątrz /etc/network/interfaces, ale mogą być, ponieważ wszystkie zależą wewnętrznie od ippolecenia ¹.

Bezpieczniej jest używać sudo ifconfig enx00051ba6daff downlub sudo ifconfig enx00051ba6daff up.

Uwaga: Istnieje kilka rzeczy, sudo ifconfig enx00051ba6daff downalbo sudo ifconfig enx00051ba6daff upnie zrobi w stosunku do sudo ifdown enx00051ba6daffa sudo ifup enx00051ba6daff. ifupi ifdownutrzyma stan interfejsów wewnątrz, /run/network/ifstatewięc ifstatepolecenie może poinformować cię o stanie interfejsu. I jeszcze jedno, jeśli ty ifuplubifdown interfejs, skrypty wewnątrz /etc/network/if-*.dbędą działać ( if-down.d if-post-down.d if-pre-up.d if-up.d)

¹ Pokaż link ip, pokaże poprawne interfejsy, tak jak ifconfig.


1

Polecenia ifdowni ifupnasłuchuj pliku / etc / network / interfaces. W twoim przypadku nie może znaleźć interfejsów, ponieważ nie są one zdefiniowane w tym pliku.

Możesz to naprawić poprzez:

1.) użyj polecenia sudo nano /etc/network/interfaceslub vi zamiast nano, jeśli wolisz.

2.) Tutaj możesz dodać taki wpis:

auto enx00051ba6daff
iface enx00051ba6daff inet dhcp

3.) Teraz musisz ponownie uruchomić usługi sieciowe, aby zmiana zaczęła obowiązywać. Możesz to zrobić, uruchamiając jedno z następujących poleceń

systemctl restart networking.service

lub

/etc/init.d/networking restart

Wiem, że ta odpowiedź jest zbyt wygórowana, ale wnoszę to jako odniesienie dla innych - mam nadzieję, że to pomoże!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.