运行带有 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 enx00051ba6daff
sudo ifup enx00051ba6daff
ifup
ifdown
/run/network/ifstate
ifstate
ifup
ifdown
/etc/network/if-*.d
if-down.d if-post-down.d if-pre-up.d if-up.d
¹ ip link show 将会像 ifconfig 一样显示正确的接口。
答案3
命令ifdown
和ifup
监听文件/etc/network/interfaces
。在你的情况下,它无法找到接口,因为它们没有在这个文件中定义。
您可以通过以下方式修复此问题:
使用命令
sudo nano /etc/network/interfaces
或者,如果您愿意,可以使用 vi 代替 nano。
您可以在此处添加如下条目:
auto enx00051ba6daff iface enx00051ba6daff inet dhcp
现在您必须重新启动网络服务以使更改生效。您可以通过运行以下命令之一来执行此操作
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
有效!!!