Steins;Lab

某团的自留研究所

[趴会儿project]No.005 用一种“新思路”打造树莓派软无线路由器

由于某些原因,用了一种新思路打造 Raspberry Pi 无线路由器。先将树莓派和一个usb有线网卡配置成有线路由器,再使用现成的无线路由(Router)提供无线信号。如果你的Raspberry Pi自带的无线网卡经常无法工作,可以试试这个思路。

关键词: Raspberry Pi , 无线路由

本项目隶属于趴会儿Project项目组,详见[企划]趴会儿Project–宿舍床上趴到底&解放双腿计划

项目编号005,分类为信息。

thumb

 

 

0.引言

之前做了这个:

基于树莓派的ipv6+OpenVPN校园网免流量无线热点/路由器 — https://steinslab.io/archives/1103

[趴会儿project]No.003 基于树莓派的ipv6+OpenVPN校园网免流量无线热点/路由器

 

结合一直以来应用出现的一些问题说一说我为什么要这么做。

0.1我为什么不用树莓派3自带的板载wifi?

因为某些未知的原因,我的树莓派(Raspberry Pi3 B)wifi经常断掉,切无法重启,必须切断电源才行。

结合系统的log,我尝试搜索了解决方案。在中文社区中没有发现报告wifi突然无效的帖子。不过在GitHub上发现了一个issue。

 

issue

wlan freezes in raspberry pi 3

https://github.com/raspberrypi/linux/issues/1342

issue中,有大量的人报告存在wifi模块突然失灵,无法重启服务,只能使用切断电源重启。大家的方法我都试了,发现并没有用。

原wifi AP大概5个小时就会中断死掉。这给我带来了极大问题。这样的话我的设备并不能持续稳定的工作,文件分享、openvpn相关等都突然无法使用。

所以,我选择使用另一个小路由器作为wifi源。

 

 

 

0.2 为什么要用另一个无线路由器作为wifiAP?不是多此一举吗?

是的,很有可能,在你的所在环境或者需求中,用另外一个无线路由器(Router)既增加成本又麻烦。

但是对于下列情况,使用一个额外的路由器可能是很好的选择。

 

  1. 树莓派3b(Raspberry Pi 3B)自带的wifi模块工作不稳定时。
  2. 树莓派1,2等不自带wifi模块,但是由讨厌配置usb无线网卡驱动相关。
  3. 板载网卡和usb网卡信号过弱。
  4. 需要在树莓派上爬梯子、ipv6免流等等,单纯地分享网络(理解成360wifi模式),不想买openwrt等智能路由器的

等等。使用的无线路由器不必太过昂贵。比如我就是在tb弄到的20块钱的洋垃圾。这可能都要比tb买一块兼容的usb无线网卡都要便宜,而且不用考虑驱动和供电问题。

 

 

 

 


1 清单与连接

需要这些东西:

1.树莓派 * 1  

约 ¥200。

2.usb有线网卡 * 1

约 ¥25。

建议:usb2.0即可,usb3.0对于树莓派意义不大。我之前有这个,试了试能直接兼容。

3.网线若干

约 ¥20。

CAT6意义不大,买速度稍微合适的就行。

4.无线路由器 * 1

约 ¥20。

买洋垃圾,二手即可。

 

附:我的路由器是在tb上找的一个洋垃圾,应该是日本AU电信过来的家庭送的路由。自带ipv6穿透。挺好用,有机会说说搞得这个玩意。

另外对速度显示感兴趣的可以看下这个

[趴会儿Project]No.004 洞察秋毫的观测者 – 服务器监控助手(基于PHP探针和Raspberry Pi)

 

连接大概是这个拓扑图:

 

 

Internet——(自带网卡,eth0)Raspberry Pi ——–(usb网卡,eth1)Wireless Router

 

我是在上一篇文章直接改造的。因此我还有一个wlan0,不提了。可以按照本文直接添加eth1,不冲突。

 


 

2 配置

我是在上一篇文章,有无线AP情况下追加配置的。直接按照本章全新配置也可以。

基于树莓派的ipv6+OpenVPN校园网免流量无线热点/路由器 — https://steinslab.io/archives/1103

 

2.1 编辑网络配置

插入的usb有限网卡是eth1,进行静态地址配置。

保存重启,或使用

使eth1的静态地址立即生效。

这步请一定要做,重启或者使其立即生效,否则配置dhcp时将报错。

 

2.2 安装isc-dhcp-server

需要安装dhcp服务以分配地址

安装isc-dhcp-server

配置文件

注释掉所有所有文字,输入(或者追加)

注意,网段如 192.168.9.X,应和上端配置的eth1静态地址一致。

以上内容建议手打并检查拼写和格式

开启服务

 

一般情况下,之前的安装的服务,不需要在配置,已经可以开机自启动了。

2.3 开启转发、配置路由表

目的是让路由器以nat形式接入树莓派网络。

开启内核转发

修改

保存,用下列命令使命令生效

返回 net.ipv4.ip_forward=1

配置路由表

此路由表的配置参考了

树莓派笔记(1) —— 无线路由器 – http://brieflyx.me/2015/raspberrypi/rpinote1-wifi/

以上规则配置openvpn后仍然有效。

可以加在/etc/rc.local 中,开机自动添加路由规则

!注意!:请一定在exit 0之前添加

现在,用网线连接usb网卡和无线路由器的wan口,设置路由器为动态ip。

 

至此,无线路由器作为一个子设备连接到树莓派上。无线设备作为子设备连接在无线路由器上。

 

2.4 排查问题

遇到任何问题,包括之前的服务配置,都可以使用

调到最后一行查看,分析原因

 

 

 

 


3.完成

总结一下,思路就是先将树莓派配置成有线路由器,然后再将无线路由器接入。避免使用不稳定的无线网络。

此时,树莓派上的smb服务等,在路由器的子网络中仍然可以直接使用。

我在ovpn绕了地球一圈之后,无线网络大概还有20Mbps的速度,要是本地会更快了。就树莓派这个吞吐能力,我觉得这个速度可以接受。

 

 

 

12
说点什么

avatar
6 Comment threads
6 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
5 Comment authors
eeeprintempwSPtuanSPtuannl Recent comment authors
  Subscribe  
最新 最旧 得票最多
提醒
eee
游客
eee

大佬好,我在按照这个方法配置完成后,发现这个树莓派本身无法连接互联网了,没办法安装别的软件,OPEN是挂着的,宿舍里别的设备连接路由器可以上网;请问应该怎么解决

trackback

[…] [趴会儿project]No.005 用一种“新思路”打造树莓派软无线路由器 […]

trackback

[…] [趴会儿project]No.005 用一种“新思路”打造树莓派软无线路由器 […]

nl
游客
nl

想问下,你树莓pi是拨号就有ipv6是么,需要特别的配置么。
我openwrt从16年就连不上ipv6了

LiarOnce
游客

我有个树莓派2,现在都吃灰了,都不知道拿来干嘛 :lol:

printempw
游客

不错诶,正好毕业了,我也想买个 Raspberry Pi 和 Arduino 回来玩 XD

看到你也在用粗粮家的台灯,我打算弄点有趣的东西来操控它(不想远程关个灯还要用那个米家 APP,也没有 HomeKit,很吃瘪):idea: