树莓派为连接不同Wifi分配固定IP的方法

       由于在家里和外面两种场景下使用树莓派,家里的wifi是192.168.3.1,在外面我用的我的360随身wifi,它的IP固定是192.168.253.1(百度未找到修改它的方法),为了方便连接树莓派,需要给树莓派设置一个固定的IP,通过网线直连,给eth0配置一个固定ip是可以的,但如果不想带网线想通过无线连接怎么办?

       网上大多是通过在/etc/dhcpcd.conf文件中配置多个SSID来实现的,但经过我的反复实验发现不能达到连接不同的wifi,例如配置了如下内容:

SSID MyWiFi
static ip_address=192.168.3.111/24
static routers=192.168.3.1
static domain_name_servers=192.168.3.1

interface eth0
static ip_address=192.168.1.3/24
static routers=192.168.1.1

   这时通过MyWiFi和网线连接都是可以的。但是增加MyWiFi2之后如下:

SSID My360WiF
static ip_address=192.168.153.111/24
static routers=192.168.253.1
static domain_name_servers=192.168.253.1

SSID MyWiFi
static ip_address=192.168.3.111/24
static routers=192.168.3.1
static domain_name_servers=192.168.3.1

interface eth0
static ip_address=192.168.1.3/24
static routers=192.168.1.1

 这时关闭MyWiFi连接到My360WiFi之后虽然界面上wlan0IP地址却是192.168.3.111,但ifconfig可以看到IP还是192.168.153.111,同时看到360WiFi也提示有一个设备连接了,但是却ping不通网关,本机也ping不通树莓派,如下图:

也可能是360WiFi的问题,但是使用另一种方法却是两个WiFi切换正常的。

1.修改/etc/wpa_supplicant/wpa_supplicant.conf文件,给network项增加id_str项如下:

network={
	ssid="MyWiFi"
	psk="xxxxx"
	key_mgmt=WPA-PSK
	id_str="home"
}

network={
	ssid="My360WiFi"
	psk="xxxxxxxxx"
	key_mgmt=WPA-PSK
	id_str="move"
}

2.修改/etc/network/interface文件,增加如下内容:

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface home inet static
address 192.168.3.111
gateway 192.168.3.1
netmask 255.255.255.0

iface move inet static
address 192.168.253.111
gateway 192.168.253.1
netmask 255.255.255.0

最后效果如下图:

虽然界面上显示的IP是192.168.253.5,而且也ping不通网关,但是本机可以ping通树莓派,而且也可以通过ssh和vnc连接上,在没有360WiFi有MyWiFi的时候也能顺利连接到MyWiFi,时间也不早了,打完收工。

注:上面的方法参考了如下网页:

https://forum.level1techs.com/t/multiple-static-ips-for-different-wi-fi-connections-on-linux-is-it-possible/102753/21

networking - How to setup multiple WiFi networks? - Raspberry Pi Stack Exchange

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值