文章目录
- 1、虚拟网卡配置
- 2、Windows PC 连接测试
- 3、静态ip配置
- 4、dhcp服务
树莓派cm4 iobard,可经过配置将树莓派当作一个usb网卡设备,使用usb即可与树莓派进行网络通信。
1、虚拟网卡配置
修改配置文件,将树莓派usb slave配置为网卡设备linux ethernet gadget 。
- config.txt 中末行添加
dtoverlay=dwc2
- cmdline.txt 文件中的 rootwait 后添加
modules-load=dwc2,g_ether
重启树莓派生效,会增加一个 usb0
的网络设备,此时没有ip地址分配。
2、Windows PC 连接测试
使用 micro usb连接开发板和win电脑,会提示有一个RNDIS设备(部分win10可能识别为com设备,安装驱动即可 链接1, 链接2, 也可如下方式安装:右键更新驱动程序-手动查找和安装-“从计算机的可用驱动程序列表中选取”-“网络适配器”-厂商Microsoft-“远程NDIS兼容设备”),设备管理和网络适配器中显示如下图
连接成功后,查看树莓派的usb0设备会分配一个ip地址 169.254.x.x(每次开机都可能不同)
此时,window下也能查看到分配到相同网段的ip
到这里,树莓派网卡虚拟配置已经成功,两者能够彼此ping成功。
3、静态ip配置
上一章中,树莓派作为usb网卡插入电脑后,树莓派本机会分配为169.254.x.x网段的随机ip。如果通过PC连接访问树莓派,就会存在问题。因此,期望固定树莓派的ip地址。
在 /etc/network/interfaces.d
中新增文件 usb0
,内容如下
auto usb0
allow-hotplug usb0
iface usb0 inet static
address 192.168.112.100
netmask 255.255.255.0
重启后,树莓派和pc端看到ip如下,树莓派静态ip配置成功,但是pc端仍然为169.254.x.x/16网段。
此时,windows pc端无法ping通树莓派。接着,在windows pc上配置网卡IP为树莓派相同网段,例如 ip为192.168.112.101,掩码为255.255.255.0,再次ping即可成功,如图
4、dhcp服务
在前一章的基础上,希望树莓派作为网卡接入pc时,pc能自动分配一个相同网段的ip。因此,配置一个dhcp服务。
- 保留
/etc/network/interfaces
中 usb0 的静态 ip 配置 - 安装 dnsmasq 服务
sudo apt-get install dnsmasq
- 在
/etc//etc/dnsmasq.conf
文件增加以下内容listen-address=192.168.112.100 interface=usb0 bind-interfaces dhcp-range=192.168.112.101,192.168.112.200, 255.255.255.0, 2h dhcp-option=3 dhcp-option=6 dhcp-authoritative
配置完成后,pc将自动分配 ip池 192.168.112.101~200的地址,网关为192.168.112.100,网关为192.168.112.100,掩码为 255.255.255.0。
重启树莓派,连接到pc上之后,pc自动获取了ip为192.168.112.101。