- 学习记录
问题描述
最近在使用树莓派的有线网络接口链接另外一块开发板,用来请求数据,这个开发板不提供网络;然后使用手机WiFi给树莓派提供网络;然后不能ping通外网
设置静态地址的文件为
sudo nano /etc/dhcpcd.conf
树莓派网络设置为,注意,此时的子网掩码为24位,即255.255.255.0 有线网卡的网关为192.168.1.1
interface eth0
static ip_address=192.168.1.11/24
static ip6_address=fd51:42f8:caae:d92e::ff/64
#static routers=192.168.1.1 192.168.96.176
static domain_name_servers=8.8.8.8 192.168.1.1
开发板的IP地址为192.168.1.254 网关和树莓派一致,即192.168.1.1
,255.255.255.0 这个时候查看网关发现WiFi的网关为192.168.74.185 子网掩码为255.255.255.0
问题所在就是有线网卡的网关范围小于无线网卡的网关,有线网络的网关默认会覆盖掉无线网卡的网关所以在访问外网的时候是经过有线网络的网关,不经过无线网卡的网关,但是无线网卡的网关是随机的,所以需要将有线网卡的网关包含无线网卡的网关
解决办法
将有线网卡的子网掩码改为16位
interface eth0
static ip_address=192.168.1.11/16
static ip6_address=fd51:42f8:caae:d92e::ff/64
#static routers=192.168.1.1 192.168.96.176
static domain_name_servers=8.8.8.8 192.168.1.1
这样一般都能同时访问有线网和外网
仅供参考