树莓派zero的USB ethernet gadget配置
树莓派 zero w 是一个非常小巧的树莓派型号,既没有以太网口,也没有 USB-A 口,只有 micro USB 接口 和 Mini HDMI。若没有各种转接线,想要连接树莓派只能靠 配置无线网络。但是,假如需要使用 zero w 的无线网卡做一些嗅探抓包之类的功能,就不太方便了。
Ethernet Gadget 可以使树莓派的 USB 接口成为一个以太网设备,只需要一根 micro USB 的数据线就可以连接电脑,从而 SSH 登录、通过电脑的网络上网。
注意:以下的方法只在 Raspberrypi OS(Raspbian) 下完全有效,其他的基于 Debian 的系统或多或少都有些问题。
开启 USB ethernet gadget
开启该功能需要修改启动参数。将刻录好系统的 SD 卡连接电脑,有两个分区,找到 boot 分区。
编辑 config.txt
在末尾添加
|
|
编辑 cmdline.txt
,在 rootwait
后添加一个空格,然后添加
|
|
创建一个名为 ssh
的空文件,开启树莓派的 sshd 服务
|
|
设置固定的 MAC 地址
默认情况下,每次启动树莓派都会生成一个随机的 MAC 地址,而 Ubuntu 的 Network Manager 根据 Mac 地址生成配置文件。这就造成了每次启动时 Ubuntu 都会生成新的配置文件并要修改配置。设置固定的 MAC 地址可以避免这种情况。
将刻录好系统的 SD 卡连接电脑,找到 rootfs 分区,修改文件 etc/modprobe.d/g_ether.conf
,写入以下内容
|
|
MAC 地址可以随意定义,只要不和已有设备的 MAC 地址冲突。
设置静态 IP
设置静态 IP 可以在网络连接后,方便地从电脑上 SSH 登录到树莓派。由于我们要通过电脑共享网络给树莓派,而 Ubuntu 16.04 中共享网络时,电脑的 IP 固定为 10.42.0.1
,因此我们给树莓派设置 IP 为 10.42.0.2
。
同样找到 rootfs 分区,修改文件 etc/network/interfaces
,添加以下内容
|
|
电脑端配置
以 Ubuntu 16.04 为例,将树莓派通过 micro USB 接入电脑,树莓派启动后,Ubuntu 会自动生成一个网络配置文件,在网络设置中打开该配置文件,将 IPV4 设置中的方法改为 “与其他计算机共享” 即可。
稍等片刻网络设置好后,就可以通过 10.42.0.2
登录树莓派了。