用树莓派作无线路由器

在搞树莓派,顺便纪录一下如何经过树莓派发热点给手机或者其余设备使用。这里的前提是树莓派要求有无线网卡(一个小小的usb)。这里就不介绍如何安装树莓派系统。好,让咱们直接进入主题html

 

1.修改wlan0的ip

sudo nano /etc/network/interfaces

把其中有关wlan0的部分注释或者删掉。注意别把搞混eth0的部分,那个是有线网卡git

iface wlan0 inet static 
address 192.168.10.1 
netmask 255.255.255.0

2.安装hostapd

sudo apt-get install hostapd

编辑hostapd 默认配置文件

github

sudo nano /etc/default/hostapd

找到#DAEMON_CONF= "",修改成:

bash

DAEMON_CONF="/etc/hostapd/hostapd.conf"

而后编辑:

dom

sudo nano /etc/hostapd/hostapd.conf

里面的内容修改大体以下,按照须要来改本身的参数,主要那几个修改下即可以,其中wpa以前是等于3.这里要修改成2.咱们平时接的wifi仍是WPA2这种模式居多。其中driver=nl80211 是大部分人选用的驱动,由于个人驱动安装有问题,所以我安装了第三方的驱动,最后出现以下的driver。下面会有安装第三方驱动方法。spa

interface=wlan0
ssid=Raspberry
channel=11
#bridge=br0

# WPA and WPA2 configuration

macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=raspberry
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

# Hardware configuration

driver=rtl871xdrv
ieee80211n=1
hw_mode=g
device_name=RTL8192CU
manufacturer=Realtek

 

hostapd主要即是这个hostapd.conf的文件设置。如今即可以重启你的hostapd服务rest

sudo service hostapd restart

若是没有出现错误,那能够下一步,个人就没那么幸运,出现下面错误,须要安装第三方驱动code

Configuration file: /etc/hostapd/hostapd.conf 
nl80211: 'nl80211' generic netlink not found 
Failed to initialize driver 'nl80211'

卸载前面安装的hostapd驱动router

sudo apt-get autoremove hostapd

下载第三方驱动server

wget https://github.com/jenssegers/RTL8188-hostapd/archive/v1.1.tar.gz 
tar -zxvf v1.1.tar.gz 
cd RTL8188-hostapd-1.1/hostapd 
sudo make 
sudo make install

Now!你能够重启hostapd服务,这下没问题了,嘻嘻。

3。安装dhcp服务

sudo apt-get install isc-dhcp-server

编辑文件:

sudo nano /etc/dhcp/dhcpd.conf

内容以下:

default-lease-time 600; 
max-lease-time 7200; 
log-facility local7; 

subnet 192.168.10.0 netmask 255.255.255.0 { 
range 192.168.10.10 192.168.10.100; 
option routers 192.168.10.1; 
option broadcast-address 192.168.10.127; 
option domain-name-servers 8.8.8.8,8.8.4.4; 
default-lease-time 600; 
max-lease-time 7200; 
}

保存后重启服务

sudo service isc-dhcp-server restart

4.配置路由转发

sudo iptables -F 
sudo iptables -X 
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 
sudo bash 
iptables-save > /etc/iptables.up.rules 
exit

编辑:

sudo nano /etc/network/if-pre-up.d/iptables

添加下面两行代码:

#!/bin/bash 
/sbin/iptables-restore < /etc/iptables.up.rules

保存退出,而后修改iptables权限:

sudo chmod 755 /etc/network/if-pre-up.d/iptables

开户内核转发:

sudo nano /etc/sysctl.conf

找到下面两行:

# Uncomment the next line to enable packet forwarding for IPv4 
#net.ipv4.ip_forward=1

把net.ipv4.ip_forward 前面的#去掉,保存退出。
而后

sudo sysctl -p

5.服务自启动

热点wifi固然是开机要自启动,否则还要bash命令的话,出去外面开个wifi都作不到。继续以下:

$ sudo chkconfig --add hostapd 
$ sudo chkconfig --add isc-dhcp-server

到这里wifi的发射就算完成了,另有一篇关于开机启动项的问题,能够参考我这篇博文:http://www.cnblogs.com/xmfdsh/p/4469577.html

相关文章
相关标签/搜索