获取接口标志时出现 eth0 错误:没有这样的设备

mog*_*ith 6 networking

我打开了一个终端安装macchanger通过sudo apt-get install -y macchanger,然后输入我的密码。它说这macchanger已经是最新版本,所以我输入clear然后运行:

sudo ifconfig eth0 down
Run Code Online (Sandbox Code Playgroud)

这是出现此错误消息的时间:

eth0 ERROR while getting interface flags: no such device
Run Code Online (Sandbox Code Playgroud)

这是一台笔记本电脑,我通过以太网电缆连接。

我该如何解决这个问题,以便我可以运行macchanger


所以我用过ifconfig -a,我正在寻找,但没有提到 eth0

从上到下显示的界面是:

enp58s0f1
lo
tun0
UNSPEC
wlp59s0
Run Code Online (Sandbox Code Playgroud)

对以太网的唯一参考是 MAC 和 txqueuelen

这是否有助于确定我需要做什么才能对此进行排序?

Cha*_*Rex 10

根据您的ifconfig -a输出,enp58s0f1是您的以太网,而不是eth0.

当 Ubuntu 切换到 systemd(在 Ubuntu 15.04)时,它从旧系统切换eth0到所谓的可预测网络接口名称。以太网接口以en(你的也是enp58s0f1)开头。无线接口以wl.


小智 1

首先,阅读手册。

man ifconfig
Run Code Online (Sandbox Code Playgroud)

然后,您就会了解 ifconfig 的作用。另外,ifconfig 被认为是一个已弃用的工具(但我仍然使用它,它很方便,因为它很熟悉且易于使用)。

ifconfig -a
Run Code Online (Sandbox Code Playgroud)

将显示所有界面。

ip address # will also display similar information.
Run Code Online (Sandbox Code Playgroud)

您可能想用谷歌搜索一些基本的网络命令及其工作原理。TLPD对 Linux 中一些最常用的网络命令进行了快速概述。

我的架构系统配置为提供较旧的接口名称,但较新的名称(由 ubuntu 自动配置)提供较新的(更复杂、更难记住和键入)信息。

$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state DOWN group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.254.3/24 brd 192.168.254.255 scope global dynamic wlan0
       valid_lft 82688sec preferred_lft 82688sec
    inet6 f::f:f:f:f/64 scope link 
       valid_lft forever preferred_lft forever
Run Code Online (Sandbox Code Playgroud)

您可以看到我有 3 个接口,lo(用于环回)、eth0(用于以太网)和wlan0(用于无线)。如果您不使用正确的接口名称,那么它将无法工作。

如果接口已关闭,以下命令将使接口恢复正常。Ubuntu服务器指南提供了一些有关如何完成配置、关闭和备份接口的详细信息。

sudo ip link set eth0 up
Run Code Online (Sandbox Code Playgroud)