把树莓派配置成无线路由器

内容来自:http://shumeipai.nxez.com/2013/09/11/raspberry-pi-configured-as-a-wireless-router.html

 

准备拿树莓派做个应用,当作无线路由器,配置的结果就是把树梅派的网络连接通过无线网卡分享出来。做分享的无线网卡当然就不能同时来连接网络了。
实现无线共享需要的软件包是hostapd。raspbian官方安装源提供的hostapd需要无线网卡支持nl80211协议,不是所有的网卡都能配置成功,如果不慎购买了不支持nl80211协议的网卡,需要自行编译适合网卡的hostapd软件包。
因此选用无线网卡的时候要留意,我选用的网卡型号是Tenda w311mi,芯片是Ralink Rt5370 可以完美支持hostapd,同款芯片的都应该可以成功配置。以下是配置全过程。

1.配置无线网卡为固定ip地址
输入命令

1

sudo nano /etc/network/interfaces

编辑网络配置文件,找到这几行注释掉。

1

2

3

4

#allow-hotplug wlan0

#iface wlan0 inet manual

#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

#iface default inet dhcp

添加以下几行。

1

2

3

iface wlan0 inet static

address 192.168.10.1

netmask 255.255.255.0

这里需要说明的是 192.168.10.1是给raspberry pi 做的路由器分配的网关 ip,这个不能跟局域网里其他路由网关ip重复。

2 安装hostapd
输入命令

1

sudo apt-get install hostapd

编辑hostapd 默认配置文件

1

sudo nano /etc/default/hostapd

找到

1

#DAEMON_CONF= ""

修改如下

1

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

编辑 hostapd 配置文件

1

sudo nano /etc/hostapd/hostapd.conf

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

# 把无线网卡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

保存退出,输入命令。

1

sudo service hostapd restart

启动hostapd 服务。

3.安装dhcp服务
输入命令

1

sudo apt-get install isc-dhcp-server

备份配置文件

1

sudo mv /etc/dhcp/dhcpd.conf  /etc/dhcp/dhcpd.conf.bak

编辑新的配置文件

1

sudo nano /etc/dhcp/dhcpd.conf

复制粘贴以下内容

1

2

3

4

5

6

7

8

9

10

11

12

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;

}

保存退出,重新启动服务。

1

sudo service  isc-dhcp-server restart

这个时候可以在无线网络列表里面连接RaspberryPi,连接成功以后会分配一个IP。

4.配置路由转发
通过前面的配置过程,已经可以通过无线网络连接到Raspberry pi的无线网卡,但是还不能连接到互联网,下一步就是让从无线网卡 wlan0 进来的数据 转发到 有线网卡 eth0上面 通过有线网卡连接网络接到互联网。
因为eth0是获取的动态ip,所以这里通过iptables来实现简单的路由转发。
输入命令

1

2

3

4

5

6

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

输入命令

1

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

把下面两行复制粘贴到编辑窗口

1

2

#!/bin/bash

/sbin/iptables-restore < /etc/iptables.up.rules

保存退出,输入命令。

1

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

开启内核转发,输入命令。

1

sudo nano /etc/sysctl.conf

找到这里。

1

2

# Uncomment the next line to enable packet forwarding for IPv4

#net.ipv4.ip_forward=1

去掉 net.ipv4.ip_forward 前面的#,保存退出,输入命令。

1

sudo sysctl -p

配置完毕 通过无线连接上以后ping一下外网,可以通了,这样就可以把Raspberry Pi 当作路由器来用了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值