每次我使用以太网通过 USB 连接时,我都需要更改接口的 MAC 地址才能实现连接
macchanger-r enp0s20f0u1
更改后,连接会自动进行,但如果我断开连接并再次连接,则需要再次更改 MAC 地址。
技术细节
- 操作系统:Debian buster (10.3) 内核:4.19.0-8-amd64 #1 SMP Debian 4.19.98-1 (2020-01-26) x86_64 GNU/Linux
- 网络管理器:1.14.6
- KDE:5.14.5
答案1
我正在运行 buster 10.4,可能需要注意的是我正在运行 NetworkManager。
为了让以太网通过 USB 正常工作,我添加了
g_ether
并/etc/modules
重新启动通过 USB 电缆连接的设备。
令我惊讶的是,当我输入时
ifconfig -a
现在有两个以太网接口 - 原来的以太网接口
enp0s25
和第二个以太网接口。
enx00e02277cd85
MAC 地址为00:e0:22:77:cd:85
.
我只是将第二个接口添加到/etc/network/interfaces
as
iface enx00e02277cd85 inet static
address 192.168.2.11
netmask 255.255.255.0
network 192.168.2.0
gateway 192.168.2.1
其中网关地址是我需要使用 USB 电缆访问并重新启动的设备的 IP 地址。
为了方便起见,并使用名称 pluto 将 IP 地址添加到 /etc/hosts 中。
此外,如果您ifconfig
在插入 USB 设备后立即键入,新设备将以 eth0 开头,但会重命名为enx00e02277cd85
.
我唯一的要求是能够通过 ssh 进入 ADALM-PLUTO SDR 设备 - 一种全双工 RF 设备。
答案2
使用 udev 规则和一个小脚本,可以在建立 USB 网络共享时分配固定的 Mac 地址,如下所示Mon Bloc 笔记解释说。
找到你的设备的序列号(在文章中它是usb0,如果我没记错的话,你的是eth0)。
udevadm info -a -p /sys/class/net/eth0
创建或添加新规则到 /etc/udev/rules.d/90-local.rules
ACTION=="add", DRIVERS=="usb", ATTRS{serial}=="xxxx", RUN+="/etc/udev/scripts/android"
创建可执行脚本 /etc/udev/scripts/android
#!/bin/bash
ifconfig eth0 down
ifconfig eth0 hw ether 02:11:22:33:44:55
ifconfig eth0 192.168.42.1
ifconfig eth0 up
最后,防止网络管理员管理该设备(请参阅链接)。