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)
pingram3541
źródło
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:

15

Próbować

sudo ifconfig enx00051ba6daff down

Miałem dokładnie ten sam problem i to zadziałało. Oto link, którego użyłem. https://ubuntuforums.org/showthread.php?t=1323646

Rahul Gandharva
źródło
Dla osób, które ifconfigjuż nie mają, spróbujip link set enx00051ba6daff down
wrzask
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.

prosti
źródło
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!

WYDRA
źródło