向下当存在未知接口时报告!

向下当存在未知接口时报告!

运行带有 USB 以太网的 16.04 版时,ifconfig -a会列出名为的接口,enx00051ba6daff但是当我尝试使用以下命令关闭该接口时:

sudo ifdown enx00051ba6daff

我得到:

Unknown interface enx00051ba6daff

我知道它已启动,因为我正在通过此连接撰写此帖子。我的 ifconfig 如下:

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

尝试

sudo ifconfig enx00051ba6daff down

我遇到了完全相同的问题,这个方法有效。这是我使用的链接。 https://ubuntuforums.org/showthread.php?t=1323646

答案2

sudo ifdown enx00051ba6daff或者sudo ifup enx00051ba6daff,将不起作用,因为 enx00051ba6daff 在/etc/network/interfaces文件中没有明确定义。

因此,ifup | ifdown | ifquery除非这是在内部写的,否则函数系列根本不知道系统内部有什么/etc/network/interfaces,但它们可能是这样的,因为它们内部都依赖于ip¹命令。

使用sudo ifconfig enx00051ba6daff down或更安全sudo ifconfig enx00051ba6daff up

注意:与和相比sudo ifconfig enx00051ba6daff down, 或有几件事sudo ifconfig enx00051ba6daff up不能做。和将保留内部接口的状态,因此命令可以告诉您接口的状态。 还有一件事,如果您或接口,内部脚本将运行()sudo ifdown enx00051ba6daffsudo ifup enx00051ba6daffifupifdown/run/network/ifstateifstateifupifdown/etc/network/if-*.dif-down.d if-post-down.d if-pre-up.d if-up.d

¹ ip link show 将会像 ifconfig 一样显示正确的接口。

答案3

命令ifdownifup监听文件/etc/network/interfaces。在你的情况下,它无法找到接口,因为它们没有在这个文件中定义。

您可以通过以下方式修复此问题:

  1. 使用命令

    sudo nano /etc/network/interfaces
    

    或者,如果您愿意,可以使用 vi 代替 nano。

  2. 您可以在此处添加如下条目:

    auto enx00051ba6daff
    iface enx00051ba6daff inet dhcp
    
  3. 现在您必须重新启动网络服务以使更改生效。您可以通过运行以下命令之一来执行此操作

    systemctl restart networking.service
    

    或者

    /etc/init.d/networking restart
    

我知道这个回复已经迟了,但我还是想分享一下,作为其他人的参考。
希望这对你有帮助!

答案4

就我而言:

/etc/network/interfaces.d/

我没有找到安装文件。

我创建了一个

nano /etc/network/interfaces.d/setup 

内容如下:

auto lo
iface lo inet loopback

auto wlp2s0
iface wlp2s0 inet dhcp

然后重新启动服务。

/etc/init.d/networking restart

然后尝试 ifdown:

ifdown wlp2s0

有效!!!

相关内容