基于树莓派2代的DIY无线路由器
最近手上多了一个树莓派2代,于是折腾就这么开始了。
因为总是得要个显示屏或者路由器或者插根网线才能玩,有点麻烦,所以有了此文。
设备清单:
树莓派2代
EDUP EP-N8508GS无线网卡(USB)
普通网线一根
最终实现的效果是树莓派的有线网卡用来作为wan口,无线网卡建立热点
笔记本可以通过连接wifi连接上树莓派进行操作
下面说说过程:
首先我参考了
http://elinux.org/RPI-Wireless-Hotspot
这篇文章中的方法,但是并没有成功。后来看到文章的末尾才知道,是驱动对不上号,文章末尾明确标明默认的hostapd程序不支持rtl8188系列网卡,而我的usb网卡就是rtl8188cus系列。
所以在开始之前,建议先用lsusb命令看一下网卡的型号再考虑进行下一步。
如果你的网卡不是rtl8188系列那你可以参考上面文章中的方法来配置,如果是那么可以参考我的方法。
根据那篇文章最后给出的连接,找到了这个驱动:
https://github.com/lostincynicism/hostapd-rtl8188
然而当编译好驱动重新运行之后仍然是不行,还是不支持。
最后还是参考了这篇文章:
http://wangye.org/blog/archives/845/?_t_t_t=0.7382462719884554
原因可能就是因为我这个系列网卡比较特殊。但是最后在这个文章中发现了编译好的第三方驱动,虽然有点不满意,但还是凑合着用了。
http://www.daveconroy.com/turn-your-raspberry-pi-into-a-wifi-hotspot-with-edimax-nano-usb-ew-7811un-rtl8188cus-chipset/
具体步骤:
先切换为root用户,可以省去很多不必要的麻烦。
所以以下操作都是以root用户:
1.安装hostapd和udhcpd服务并且更换hostapd程序
apt-get install udhcpd hostapd
wget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zip
unzip hostapd.zip
mv /usr/sbin/hostapd /usr/sbin/hostapd.bak
mv hostapd /usr/sbin/hostapd.edimax
ln -sf /usr/sbin/hostapd.edimax /usr/sbin/hostapd
chown root.root /usr/sbin/hostapd
chmod 755 /usr/sbin/hostapd
2.编辑/etc/udhcpd.conf文件,配置dhcp服务:
确保文件当中有下列内容
start 192.168.1.2
end 192.168.1.254
interface wlan0
remaining yes
opt dns 223.5.5.5 223.6.6.6
opt subnet 255.255.255.0
opt router 192.168.1.1
opt lease 864000 #
相信一般都能看懂,其中的interface需要根据情况来写。
3.编辑/etc/default/udhcpd 文件,将下面这行注释掉。
DHCPD_ENABLED="no"
4.将无线网卡wlan0的ip设为192.168.1.1
ifconfig wlan0 192.168.42.1
5.修改/etc/network/interfaces文件,添加下面的内容
iface wlan0 inet staticaddress 192.168.1.1netmask 255.255.255.0
并且将下面这两条注释掉
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet manual
6.接着就正式开始配置无线相关的选项了,编辑/etc/hostapd/hostapd.conf,如果没有这个文件就自行创建它。
interface=wlan0
driver=rtl871xdrv
ssid=无线名称
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=无线密码
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
7.在/etc/default/hostapd文件中指定hostapd服务的配置文件,内容如下
DAEMON_CONF="/etc/hostapd/hostapd.conf"
8.更改系统的转发规则和iptables规则,依次运行下列命令:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
iptables-save > /etc/iptables.nat
service hostapd start
service udhcpd start
update-rc.d hostapd enable
update-rc.d udhcpd enable
9.最后一点点收尾工作:
编辑/etc/network/interfaces文件,在末尾加上着一条:
up iptables-restore < /etc/iptables.nat
以及/etc/sysctl.conf文件,确保下面的选项存在
net.ipv4.ip_forward=1
到此为止就全部完成了,用手机,电脑等无线设备都可以连接上树莓派了。
为后续的折腾打下基础。
折腾的整个过程还挺复杂的,需要修改多处文件,而且每一处修改都会微妙的影响到最后路由器的运行,小小的改变都有可能造成瘫痪或者影响性能。由此可见,想DIY一款高性能的个性无线路由器还是很有挑战性的。
转载于:https://www.cnblogs.com/Chorder/p/9114493.html
基于树莓派2代的DIY无线路由器相关推荐
- DIY一个基于树莓派和Python的无人机视觉跟踪系统
DIY一个基于树莓派和Python的无人机视觉跟踪系统 无人机通过图传将航拍到的图像存储并实时传送回地面站几乎已经是标配.如果想来点高级的--在无人机上直接处理拍摄的图像并实现自动控制要怎么实现呢?其 ...
- 基于树莓派搭建自动驾驶小车;Donkey Car组装硬件DIY
还是想朝着人工智能方向靠一靠,之前研究图像有关的分类.识别,还是觉得太枯燥了.后来结合自己接触较多的Unity引擎,发现有自动驾驶用Unreal或者Unity之类的游戏引擎进行虚拟训练.接着发现了微软 ...
- 树莓派2代B型及其配件的选购
最近实验室购置了一批树莓派2代B型,我也总结下在选购过程中树莓派2代B型及其配件的购买心得. 1. 树莓派主板 树莓派(Raspberry Pi)是为学生计算机编程教育设计的一种卡片式电脑,只有信用卡 ...
- 树莓派2代B model 上手初体验,不用显示器,Python GPIO 点亮一颗LED
开题:[好东西,值得研究!] 标题:树莓派2代B model 上手初体验,不用显示器,Python GPIO 点亮一颗LED [知识普及] 1,树莓派各版本对比: 2,树莓派2代BModel 主板,图 ...
- 树莓派 python 无人机_DIY一个基于树莓派和Python的无人机视觉跟踪系统
DIY一个基于树莓派和Python的无人机视觉跟踪系统 无人机通过图传将航拍到的图像存储并实时传送回地面站几乎已经是标配.如果想来点高级的--在无人机上直接处理拍摄的图像并实现自动控制要怎么实现呢?其 ...
- python与室内设计_基于树莓派和Python的智能家居系统设计
基于树莓派和 Python 的智能家居系统设计 许礼捷 葛华 陈红 [摘 要] 介绍树莓派第 3 代开发平台,融合 Python 开发技术和 OneNET 云 平台通信技术等先进技术,设计一款智能化的 ...
- 树莓派python物体识别_基于树莓派和Tensowflow的物体识别
近来这篇文章很火:How to build a robot that "sees" with $100 and TensorFlow (作者是Lukas,CrowdFlower创始 ...
- 树莓派2代B型性能极限测试
一.树莓派2代简介 树莓派基金会于2015年2月2号发布了最新版本的树莓派,型号为2代B型.此次新品并非简单的升级而已,而是在这款单板机上赋予了翻天覆地的变化.从2012年问世以来,树莓派经历了多次更 ...
- 【树莓派】基于树莓派,实现无线路由功能
基于树莓派,实现无线路由功能 Raspberry Pi 3板载了无线网络适配器和陶瓷天线,不需要额外增加无线网卡就可以把它打造成一个无线路由器.有一种方法是给Raspberry Pi刷上OpenWRT ...
最新文章
- 计算机视觉与深度学习 | 复杂环境下的视觉同时定位与地图构建(SLAM)
- java下发报文_java报文的发送和接收 | 学步园
- 更新 hadoop eclipse 插件
- C#/.Net操作MongoDBHelper类
- mysql架设_主从mysql架设
- 重庆中职计算机试题及答案,重庆市计算机专业高职复习题参考答案
- 实操案例丨如何实现特定列脱敏
- java -为什么重写equals(),还需要重写hashCode()?
- LeetCode26.删除排序数组中的重复项
- AR Camera开发记录(三) -- 替换人脸贴图
- 找不到/boot目录grub命令行启动以及/boot分区移动
- Oracle账户被锁定后如何解锁
- 1055 集体照 (25分)
- 关于表单流程设计器 以及 问卷调查生成器的开发准备
- android写代码截屏微信,微信等头像截取的实现 - 拉风的道长_Android之路 - OSCHINA - 中文开源技术交流社区...
- js 查找html中的%3c%3e,Web前端攻防,一不小心就中招了
- 管理者如何抓绩效管理?
- DES算法的matlab实现
- 恢复出厂设置后HOME键失效问题
- MySQL的异步、半异步、组复制