我打开了一个终端,macchanger
通过进行安装sudo apt-get install -y macchanger
,然后输入了我的密码。它显示这macchanger
已经是最新版本,所以我输入clear
并运行:
sudo ifconfig eth0 down
这时出现了以下错误信息:
eth0 ERROR while getting interface flags: no such device
这是一台笔记本电脑,我通过以太网电缆连接。
我该如何解决这个问题以便可以运行macchanger
?
所以我用过ifconfig -a
,但我正在寻找,但没有看到提及
eth0
从上到下显示的接口分别是:
enp58s0f1
lo
tun0
UNSPEC
wlp59s0
唯一与以太网相关的是 MAC 地址,还有txqueuelen
这有助于我弄清楚需要做什么来解决这个问题吗?
答案1
根据您的ifconfig -a
输出,enp58s0f1
是您的以太网,而不是eth0
。
当 Ubuntu 切换到 systemd(在 Ubuntu 15.04 中)时,它从旧系统切换到eth0
所谓的可预测的网络接口名称。以太网接口以 开头en
(所以您的是enp58s0f1
)。无线接口以 开头wl
。
答案2
首先,阅读手册。
man ifconfig
然后,您就会明白 ifconfig 的作用。此外,ifconfig 被认为是一个已弃用的工具(但我仍在使用它,它很方便,因为它熟悉且易于使用)。
ifconfig -a
将显示所有接口。
ip address # will also display similar information.
您可能需要在谷歌上搜索一些基本的网络命令以及它们的工作原理。激光多普勒超声诊断仪对 Linux 中一些最常见的网络命令进行了简要概述。
我的 arch 系统配置为提供较旧的接口名称,但较新的名称(由 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
您可以看到我有 3 个接口,lo
(用于环回)、eth0
(用于以太网)和wlan0
(用于无线)。如果您没有使用正确的接口名称,那么它将无法工作。
如果接口已关闭,则以下命令将启动该接口。Ubuntu 服务器指南有一些关于如何完成配置、关闭接口以及备份的详细信息。
sudo ip link set eth0 up
答案3
网络接口可能有其他名称,因为当从网络设备的名称中部分取出 1-2 位数字pci number
以生成特定名称时,将启用重命名模式。这样做是为了使网络设备的名称不会通过新适配器连接到机器。因此,eth0 可以称为 enp2s1 或 ens1,甚至 eng78e7d1er12ds
要禁用重命名:
sudo nano /etc/default/grub
替换以下行:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
内容如下:
GRUB_CMDLINE_LINUX_DEFAULT="net.ifnames=0"
然后使用以下命令更新 GRUB:
sudo update-grub && sudo reboot
检查您当前的设置:
ifconfig
结果,我得到(取决于您安装的网卡数量):
eth0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 00:w0:4c:u6:97:11 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::c93e:6718:72e9:4423 prefixlen 64 scopeid 0x20<link>
ether 00:0a:5r:c2:21:70 txqueuelen 1000 (Ethernet)
RX packets 376 bytes 467372 (467.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 398 bytes 41048 (41.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 137 bytes 11110 (11.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 137 bytes 11110 (11.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0