自留地

分享自己的技能

0%

树莓派的100种玩法(6)openwrt旁路由

写在前面

本来想写一篇突破蒲公英免费版突破三个设备限制的文章的,结果在最后的完成阶段出了意外:

公司的网络有防火墙策略,可以实现外网访问局域网的设备,反过来局域网内设备访问外网不行,到这就搞不下去了。

到最后只能换个标题把写完这部分分享出来,然后再提供一种另外的解决方式,也能突破设备限制,不过有点麻烦。

树莓派刷openwrt做旁路由

这里用的是这个固件,这个固件功能很强大,具体可以参考作者博客

刷固件也不再详细介绍了,可以参考我之前的文章,这里只说下我用的固件版本

如果作者页面有更新版本,可以使用带update字样的镜像,在网页后台更新

刷好后将树莓派网口接入电脑,通电开机,此时电脑需处于未接入网络状态,等待电脑获取到IP,输入IP地址192.168.1.1账号 root 密码 password 登入openwrt后台(这里也可以通过无线连接,无线SSID是openwrt)。这里需要确认下你的上级路由器LAN地址,我这里是192.168.1.1,这里需要修改树莓派IP为192.168.1.180,这个IP必须是跟主路由是同一网段并且不为.1/.255同时又没有被其它设备占用的地址,确定地址后可以连上主路由ping下

这里推荐使用SSH连接树莓派输入以下命令,这里可以使用PuTTY或者网页端的TTYD终端执行

1
2
3
uci set network.lan.ipaddr=192.168.1.180    #设置openwrt的LAN口IP
uci commit network #保存设置
/etc/init.d/network restart #重启网络服务

通过新IP地址192.168.1.180访问管理界面再网络接口做如下修改

完成以上操作后,把树莓派的网线接入主路由的LAN口,树莓派的旁路有设置就完成了(可能到这已经劝退好多人了吧)。

ps:这里多说一句,不要照抄上面的IP地址,除非你的上级路由同我一样也是192.168.1.1,否则请根据实际情况填写。

安装蒲公英软件

这里用到的是Docker版,通过系统内置的Docker服务安装,这里老规矩,放一下部署命令

1
2
3
4
5
6
7
8
9
10
docker run -d \
--restart=always \
--device=/dev/net/tun \
--net=host \
--cap-add=NET_ADMIN \
--cap-add=SYS_ADMIN \
--env PGY_USERNAME=蒲公英用户名 \
--env PGY_PASSWORD=蒲公英密码 \
--name pgyvpn \
benzbrake/pgyvpn

直接把自己改好的命令填入docker中

运行容器,然后进入容器内部

这里获取的虚拟局域网的IP是172.16.1.43 ,后面要用到。

安装firefox

可能有人会奇怪,安装这个干嘛?后面会讲,这里放下作者的部署命令

1
2
3
4
5
docker run -d \
--restart=always \
--name firefox \
-p 6080:6080 \
lstcml/firefox #默认密码是admin

照着上面蒲公英的部署方式贴入命令

完成容器创建后启动容器,通过访问地址http://172.16.1.43:6080/vnc.html?autoconnect=true 实现打开chrome(此处我使用访问此地址的电脑也是通过蒲公英远程连接的,地址是172.16.2.232)

这里多说两句,我测试了几个浏览器的docker镜像,发现一个问题,在unraid中都正常,但是在这个旁路由中不能正常显示中文,只有这个显示是正常的。

突破限制的一种实现方式

这里简单放下目前我写文章状态下的网络拓扑图

其实写道这有些人已经猜到我的实现方式了,简单的说就是通过树莓派旁路由上安装的chrome访问局域网其它设备,比如UNRAID

另外做一些优化,在笔记本中加入路由,具体操作管理员权限运行CMD ,贴入如下命令

1
route add 192.168.1.0 mask 255.255.255.0 172.16.1.43 -p

然后就可以直接访问了

当然,这里只是这一个设备可以实现,内网的其他设备需要通过装好的Firefox访问。

就到这吧。

如果对您有帮助,可以考虑支持下作者