防止网络管理器控制 RNDIS 接口

防止网络管理器控制 RNDIS 接口

有没有办法阻止网络管理器自动连接到新的 RNDIS 设备?

Android RNDIS 设备无法使用网络管理器进行配置,因为它们使用随机 MAC 地址连接。这意味着下次您插入设备时,它会具有不同的 MAC 和接口名称,并且不再与您之前在网络管理器中设置的任何配置文件相关联。

因此,我使用 udev,如下所示

ACTION=="move", SUBSYSTEM=="net", ATTRS{serial}=="xyz", RUN += "/etc/udev/scripts/myudevscript %k"

剧本如下

/sbin/ifconfig $1 down >> /var/log/udevtest 2>&1
/sbin/ip link set $1 address 02:11:22:33:44:55 >> /var/log/udevtest 2>&1
/sbin/ifconfig $1 192.168.42.10/24 >> /var/log/udevtest 2>&1
echo nameserver 127.0.0.1 > /etc/resolv.conf # I run bind locally
systemctl stop openvpn@direct # Stop the VPN that doesn't use my phone
systemctl start openvpn@clientvpn2 # Start the one that does

一切正常,但只有当 NM 关闭时才有效。如果启用了 NM,我们通常会收到设备繁忙错误,因为有两个东西试图同时配置它。如果可能的话,我希望不必禁用 NM,因为我将它用于其他连接。

正如您所看到的,我的脚本强制使用 MAC 地址,但不幸的是,NM 已经开始基于随机 MAC 工作了。

如果有一个解决方案,其副作用是防止自动连接到以前未见过的 Wifi 网络,那么这将是一个奖励!

相关内容