一键安装脚本:pi-setup-wifi.sh
背景
3月初发布的树莓派3自带了WiFi和蓝牙,再加上它本来就有一个网口,因此俨然就是一台无线路由器了。我也忍不住入手了一个,打算用来做路由器和NAS。树莓派做路由器的教程已经有很多了,当然,基本都是基于树莓派2的,3之前的版本都没有自带WiFi,因此需要自己配无线网卡,而3自带了无线网卡,配置就方便多了。参考了两篇外文教程,成功配置,在这里记录一下。
参考教程:
using your raspberry pi3 as a wifi access point with hostapd/
rPi3-ap-setup.sh
过程
主要用到的软件有hostapd、dnsmasq:
安装 hostapd, dnsmasq
1 | sudo apt-get install hostapd dnsmasq |
修改 dnsmasq 配置文件
然后在/etc/dnsmasq.conf
末加入(自己修改IP和网段,这个文件是已存在的,很详细的配置文件,但是所有行都加入了#号注释掉)
1 | interface=wlan0 |
配置 hostapd
然后新建/etc/hostapd/hostapd.conf
,加入
1 | interface=wlan0 |
允许转发
接着修改/etc/sysctl.conf
,更改(如果有这一行,把#号去掉就行)
1 | net.ipv4.ip_forward=1 |
配置开机启动
最后,将下面脚本加入到/etc/rc.local
的exit 0
前:
1 | ifconfig wlan0 down |
重启
重启,就可以看到热点了,简单好多~树莓派的wifi信号强度跟当初著名的路由玩具wr703n差不多。
跳坑与填坑
顺便还配置了离线下载、NAS、自动云同步什么的。由于对linux不熟悉,跳了好多坑。要提醒大家,树莓派上很多命令都需要sudo开头,而树莓派的sudo并不需要密码。但是有sudo和没sudo完全是两个环境(两个用户),比如sudo screen -S sync后,在screen -ls是看不到的,必须要sudo screen -ls才能看到。另外,如果你把命令加入/etc/rc.local中运行,默认它是sudo执行的(不管你有没有加sudo),结果我将一个screen任务加入到了这里,启动后用screen -ls死活看不到,原来要sudo screen -ls,我晕…还有,我运行autossh进行内网穿透,autossh之前一定要加个sleep 5的命令,要不然autossh运行了也没用~~
这些都是跳了一整天的坑啊。
原文:用树莓派3做无线路由器