将树莓派打造成一台路由器Word格式.docx
《将树莓派打造成一台路由器Word格式.docx》由会员分享,可在线阅读,更多相关《将树莓派打造成一台路由器Word格式.docx(11页珍藏版)》请在冰点文库上搜索。
5.HDMI连接线(可选)
6.键盘(可选)
7.路由器(可选)
8.有HDMI输入的监视器(可选)
如果树莓派已经设置好可以独立运行了.你不需要屏幕键盘鼠标-就是另外一台可以用SSH通过网络远程登录的电脑
需要下载的
1.Olderhostapd
(只有apt下不到驱动的时候)
需要的知识,技术,能力
1,可以熟练操作计算机系统
2,基本的计算机术语知识
3,敢于在终端里敲命令.如果有必要也要敢于调整他们适合自己的开发环境
4,熟悉网络核心概念
所用到资源
1.
2.http:
//www.pi-point.co.uk/documentation/
3.
4.
5.
6.http:
//www.raspberrypi.org/phpBB3/viewtopic.php?
t=39096&
p=393810
7.
8.
概念总览
1.用apt-get安装做需要的组件
2.验证无线软件狗收发功能
3.配置/etc/network/interfaces
4.给你想要设置的接入点创建配置文件/etc/hostapd/hostapd.conf
5.把hostapd指向步骤4所创建的配置文件/etc/hostapd/hostapd.conf
6.用老版本替代/sbin/hostapd
7.配置DNS
8.配置IPv4转发,使其可以连接网络
准备树莓派
确定你的树莓派是最新版本的,可以安装所有最新的安装包
1
2
sudoapt-getupdate
sudoapt-getupgrade
安装所需要的组件
以下这些组件都是设置接入点做需要的:
▪rfkill:
一个无线工具
▪zd1211-firmware:
很多Wi-Fi收发器通用的固件
▪hostapd:
无线接入点的守护进程
▪hostap-utils:
补充工具
▪iw:
无线网络的配置工具
▪dnsmasq:
DHCP和DNS工具
▪bridge-utils:
用来将多个以太网设备连接到一起
用以下命令安装这些组件:
sudoapt-getinstallrfkillzd1211-firmwarehostapdhostap-utilsiwdnsmasqbridge-utils
配置无线收发器
验证软件狗已经被树莓派识别
检查树莓派已经识别Wi-Fi软件狗:
lsusb
验证Wi-FI软件狗支持接入点模式
如果执行下面这条命令没有任何输出是关于APmode,那么就是说你的软件狗不适合本项目。
但是如果有东西的话那就继续进行下一步。
iwlist
倒霉的是我的软件狗坏了,而且还有产生了一个”
nl180211
not
found
”的错误,不过还好了继续执行下面这条命令:
dmesg|greprtl
如果结果是类似这样的
[
6.240292]usbcore:
registerednewinterfacedriverrtl8192cu
可能这个还是能干活的,接下俩会修复这个问题的.
配置网络接口
先做一个
/etc/nework/interfaces
的备份,然后在文本编辑器里打开,
改成下面这个样子的:
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
19
20
21
22
23
24
#Automaticallybringsupinterfaceswithifup-a
autolo
autobr0
#Loopback
ifaceloinetloopback
#Keepeth0asdhcpsoitcanconnecttoanexistingrouter
#(Optional--IusedthissinceIwasconfiguringviaSSH)
ifaceeth0inetdhcp
#Bridgeinterface
ifacebr0inetdhcp
bridge_fd1
bridge_hello3
bridge_maxage10
bridge_stpoff
bridge_portseth0wlan0
#Allowhotplug
allow-hotplugwlan0
allow-hotplugeth0
ifacewlan0inetmanual
重启
wlan0
接口
ifdownwlan0
ifupwlan0
配置hostapd
接下来,做一个
/etc/hostapd/hostap.conf
的备份然后在文本编辑器里打开做一些改动(如果这个文件不存在请忽略第一条命令)
sudocp/etc/hostapd/hostap.conf/etc/hostapd/hostap.conf.orig
sudovi/etc/hostapd/hostap.conf
修改这个文件使之包含以下内容,读者根据自己情况自行改动(比如国家代码,网络名等等)
如果
iwlist
命令执行结果有之前提到的
nl80211
错误,创建一个内容如下的文件:
interface=wlan0
bridge=br0
driver=rtl871xdrv
country_code=US
ctrl_interface=wlan0
ctrl_interface_group=0
ssid=RPiAP
hw_mode=g
channel=1
wpa=3
wpa_passphrase=password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
beacon_int=100
auth_algs=3
macaddr_acl=0
wmm_enabled=1
eap_reauth_period=360000000
iw
list
命令执行出错,文件
/etc/default/hostapd也是需要备份的(如果此文件存在的话).
sudocp/etc/default/hostapd
/etc/default/hostapd.orig
sudovi/etc/default/hostapd
然后添加如下内容(千万不要注释掉)
DAEMON_CONF=”/etc/hostapd/hostapd.conf”
安装一个不同版本的
/usr/sbin/hostapd
也是很有必要的,从这里下载,根据以往经验最好在编辑之前做一个备份:
sudocp/usr/sbin/hostapd/usr/sbin/hostapd.orig
删除原始文件,因为接下来将会在下载章节将其替换掉.
cd/usr/sbin
sudorm-fhostapd
sudo
wget
为新文件设置适当权限
sudochownroot:
roothostapd
sudochmod755hostapd
重启hostapd服务以激活设置
sudoservicenetworkingrestart
sudoservicehostapdrestart
如果hostapd重启之后有问题就试一下如下命令查看结果看是否你是否能找出配置文件中的错误并将其修复.
sudohostapd-d/etc/hostapd/hostapd.conf
如果你现在用另外一台设备扫描的话应该能够可以看到无线网络了.但是如果想要其他人连上的话还是需要一些设置的.特别是
dnsmasq
配置dnsmasq
老规矩,备份先,然后仔仔文本编辑器里打开
sudocp/etc/dnsmasq.conf/etc/dnsmasq.conf.orig
sudovi/etc/dnsmasq.conf
将以下行的注释符去掉然后根据你自己的环境配置
domain-needed
dhcp-range=192.168.2.1,192.168.2.254,12h
dnsmasq
使设置生效,
sudoservicednsmasqrestart
用其他设备尝试连接本网络,但是还是不能连上因特网的.
设置因特网转发
设置IPv4转发
sudoecho1>
/proc/sys/net/ipv4/ip_forward
如果上述命令提示拒绝访问,试试下面这个:
sysctl-wnet.ipv4.ip_forward=1
设置NAT
sudoiptables-tnat-APOSTROUTING
-jMASQUERADE
其他适配器和用法
我之所以选择Wi-Fi软件狗的主要原因是因为我可以连接我的cantenna,然后可以扩展我的信号到很远的距离.当然用一个无线适配器会非常的简单,但是现在我需要的是天线上的灵活性.