原文 上 中 下
/thread-83-1-1.html
/thread-84-1-1.html
/thread-85-1-1.html
上
原创教程 转载请注明作者和出处连接
准备拿树莓派做个应用 当作无线路由器 在这里记录全部流程
实现无线共享 需要的软件包是hostapd, raspbian官方安装源提供的hostapd需要无线网卡支持nl80211协议,
不是所有的网卡都能配置成功,如果不慎购买了不支持nl80211协议的网卡,需要自行编译适合网卡的hostapd软件包。
因此选用无线网卡的时候要留意,我选用的网卡型号是Tenda w311mi,芯片是Ralink Rt5370 可以完美支持hostapd,同款芯片的都应该可以成功配置。
以下是配置全过程
1.配置无线网卡为固定ip地址输入命令
sudo nano /etc/network/interfaces 复制代码
编辑网络配置文件
找到这几行 注释掉
#allow-hotplug wlan0这个一定要注释掉,要不会出现无法获取IP,by maij
#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp 复制代码添加以下几行
iface wlan0 inet static
address 192.168.10.1
netmask 255.255.255.0
[/size][/font][/backcolor][/color] 复制代码
这里需要说明的是192.168.10.1是给raspberry pi 做的路由器分配的网关 ip
这个不能跟局域网里其他路由网关ip重复
2 安装hostapd
输入命令
sudo apt-get install hostapd 复制代码编辑hostapd 默认配置文件
sudo nano /etc/default/hostapd 复制代码
找到
#DAEMON_CONF= "" 复制代码
修改如下
DAEMON_CONF="/etc/hostapd/hostapd.conf" 复制代码
编辑 hostapd 配置文件
sudo nano /etc/hostapd/hostapd.conf 复制代码
# 把无线网卡wlan0 作为接入点
interface=wlan0
# 使用nl80211驱动
driver=nl80211
#共享网络的SSID是RaspberryPi
ssid=RaspberryPi
# 网卡工作在802.11G模式
hw_mode=g
#无线网卡选用11信道
channel=11
# WPA2 配置
wpa=2
#wpa密码是raspberry
wpa_passphrase=raspberry
#认证方式为WPA-PSK 加密方式为CCMP
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
beacon_int=100
auth_algs=3
wmm_enabled=1 复制代码
保存退出
输入命令
sudo service hostapd restart 复制代码
启动hostapd 服务
---update:
因为有反映说原教程中无线网卡地址 192.168.2.1会跟一些路由器默认网关重复
所以变动了默认网关地址 为192.168.10.1
中
上一篇
树莓派上手实战之把Raspberry Pi 配置成无线路由器(上) 3.安装dhcp服务
输入命令
sudo apt-get install isc-dhcp-server 复制代码
备份配置文件
sudo mv /etc/dhcp/dhcpd.conf/etc/dhcp/dhcpd.conf.bak 复制代码
编辑新的配置文件
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 serviceisc-dhcp-server restart 复制代码
这个时候可以在无线网络列表里面连接RaspberryPi
连接成功以后会分配一个IP
下一篇
树莓派上手实战之把Raspberry Pi 配置成无线路由器(下)
下
4.配置路由转发
通过前两篇
树莓派上手实战之把Raspberry Pi 配置成无线路由器(上)
树莓派上手实战之把Raspberry Pi 配置成无线路由器(中)
的配置过程
这个时候已经可以通过无线网络连接到Raspberry pi的无线网卡,但是还不能连接到互联网,
下一步就是让从无线网卡 wlan0 进来的数据 转发到 有线网卡 eth0上面 通过有线网卡连接网络接到互联网。
因为eth0是获取的动态ip,所以这里通过iptables来实现简单的路由转发。
输入命令
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 复制代码
保存退出
输入命令
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 复制代码
配置完毕 通过无线连接上以后ping一下外网 可以通了
这样就可以把Raspberry Pi 当作路由器来用了
最后留一个坑 关于防火墙规则的
这个当时没写 以后想起来再写