【备忘】用树莓派3做无线路由器
By 苏剑林 | 2016-04-12 | 65509位读者 |3月初发布的树莓派3自带了WiFi和蓝牙,再加上它本来就有一个网口,因此俨然就是一台无线路由器了。我也忍不住入手了一个,打算用来做路由器和NAS。树莓派做路由器的教程已经有很多了,当然,基本都是基于树莓派2的,3之前的版本都没有自带WiFi,因此需要自己配无线网卡,而3自带了无线网卡,配置就方便多了。参考了两篇外文教程,成功配置,在这里记录一下。
参考教程:
https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/
https://gist.github.com/Lewiscowles1986/fecd4de0b45b2029c390#file-rpi3-ap-setup-sh
配置无线热点 #
主要用到的软件有hostapd、dnsmasq:
sudo apt-get install hostapd dnsmasq
然后在/etc/dnsmasq.conf末加入(自己修改IP和网段,这个文件是已存在的,很详细的配置文件,但是所有行都加入了#号注释掉)
interface=wlan0
dhcp-range=10.0.0.2,10.0.0.5,255.255.255.0,12h
然后新建/etc/hostapd/hostapd.conf,加入
interface=wlan0
hw_mode=g
channel=10
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
wpa_passphrase=wifi密码
ssid=wifi名字
接着修改/etc/sysctl.conf,更改(如果有这一行,把#号去掉就行)
net.ipv4.ip_forward=1
最后,将下面脚本加入到/etc/rc.local的exit 0前:
ifconfig wlan0 down
ifconfig wlan0 10.0.0.1 netmask 255.255.255.0 up
iwconfig wlan0 power off
service dnsmasq restart
hostapd -B /etc/hostapd/hostapd.conf & > /dev/null 2>&1
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
重启,就可以看到热点了,简单好多~树莓派的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运行了也没用~~
这些都是跳了一整天的坑啊。
转载到请包括本文地址:https://www.kexue.fm/archives/3728
更详细的转载事宜请参考:《科学空间FAQ》
如果您还有什么疑惑或建议,欢迎在下方评论区继续讨论。
如果您觉得本文还不错,欢迎分享/打赏本文。打赏并非要从中获得收益,而是希望知道科学空间获得了多少读者的真心关注。当然,如果你无视它,也不会影响你的阅读。再次表示欢迎和感谢!
如果您需要引用本文,请参考:
苏剑林. (Apr. 12, 2016). 《【备忘】用树莓派3做无线路由器 》[Blog post]. Retrieved from https://www.kexue.fm/archives/3728
@online{kexuefm-3728,
title={【备忘】用树莓派3做无线路由器},
author={苏剑林},
year={2016},
month={Apr},
url={\url{https://www.kexue.fm/archives/3728}},
}
May 11th, 2016
按照你的方式 我手机并没有搜到信号....可能中间有误吧 = =
= = 我可能操作失误了 晚上再试一下
November 21st, 2016
[...]来源: http://kexue.fm/archives/3728/[...]
December 2nd, 2016
你对Linux的熟悉程度真是感人。
February 5th, 2017
咋找不到WiFi热点呢
February 28th, 2017
照着做了,找不到热点
我记得我前不久试了一下都还可以的~
March 12th, 2017
[...]不知怎么的,在学校就是不想上路由器,恰巧树莓派3自带wifi,并且可以使用原版hostapd,作为热点使用也是极为方便的。网上也有现成的教程:用树莓派3做无线路由器。但是呢作为一个不折腾就难受的人…一折腾就挂…总是重装也是够麻烦的,干脆写了个安装脚本。[...]