树莓派配置AP模式

所需硬件:树莓派、无线网卡

1.查看无线网卡是否被识别

pi@raspberrypi ~ $ sudo lsusb

Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.

Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter

pi@raspberrypi ~ $

WLAN Adapter代表的就是无线网卡被系统识别,芯片是RTL8188CUS

2.无线网卡配置静态IP地址

sudo vim /etc/network/interfaces  #配置静态地址

 

pi@raspberrypi ~ $ sudo vim /etc/network/interfaces
auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.8.1
netmask 255.255.255.0
保存后重启wlan0网卡

sudo ifdown wlan0

sudo ifup wlan0

3.安装DHCP服务软件

sudo apt-get install isc-dhcp-server

配置DHCP服务

sudo vim /etc/dhcp/dhcpd.conf  #编辑配置文件

#option domain-name "example.org";  #注释

#option domain-name-servers ns1.example.org, ns2.example.org;  #注释

authoritative; #去除注释

#在配置文件底部添加发下配置

subnet 192.168.8.0 netmask 255.255.255.0 { 

range 192.168.8.100 192.168.8.200; 

option broadcast-address 192.168.8.255; 

option routers 192.168.8.1; 

default-lease-time 600; 

max-lease-time 7200; 

option domain-name "local"; 

option domain-name-servers 8.8.8.8, 8.8.4.4; 

}
#注解
option broadcast - address #广播地址
option routers            #网关地址
default - lease - time        #默认租约时间
max - lease - tim              #最大租约时间
option domain - name        #网络域名
option domain - name - servers #DNS地址
使wlan0提供dhcp服务
sudo vim /etc/default/isc-dhcp-server #编辑配置文件

INTERFACES="wlan0"

4.安装AP软件与配置

sudo apt-get install hostapd

配置Access Point 

sudo vim /etc/hostapd/hostapd.conf

interface=wlan0

driver=rtl871xdrv#这个是树莓派无线网卡驱动,不要改

ssid=pi#无线信号名字,随意设

hw_mode=g

channel=6

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

设置读取加载配置文件

sudo vim /etc/default/hostapd   #找到#DAEMON_CONF=""修改成

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

默认安装的版本比较新,该驱动需要用V0.8的版本,否则运行hostapd会报错

wget http://www.adafruit.com/downloads/adafruit_hostapd.zip 

unzip adafruit_hostapd.zip 

sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.ORIG 

sudo mv hostapd /usr/sbin 

sudo chmod 755 /usr/sbin/hostapd
测试一下
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
手机 wifi扫描搜索下,是否有 pi的无线 SSID

5.启动dhcp、hostapd服务

sudo service isc-dhcp-server start  #启用DHPCServere服务

sudo service hostapd start #启用AP服务

设置开启自启动

sudo update-rc.d hostapd enable 

sudo update-rc.d isc-dhcp-server enable

6.开启转发

sudo vim /etc/sysctl.conf  #开机启动设置ip转发

#底部加上一行

net.ipv4.ip_forward=1

或者直接:

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

7.添加防火墙规则

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT 

sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

8.保存规则并开机自动生效

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat" 

sudo vim /etc/network/interfaces   #开机生效

up iptables-restore < /etc/iptables.ipv4.nat #底部增加一行

 ---------------------------------------------------------------------------------------------------

后记:如果有两个无线网卡,又想设置两个AP,那么可以修改/etc/network/interfaces和/etc/dhcp/dhcpd.conf以及添加一个/etc/hostapd/hostapd2.conf

如下:

pi@raspberrypi ~ $ sudo vim /etc/network/interfaces
auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.8.1
netmask 255.255.255.0

#继续添加

auto wlan1
iface wlan0 inet static
address 192.168.9.1
netmask 255.255.255.0
network 192.168.9.0
broadcast 192.168.9.255

接着,修改/etc/default/isc-dhcp-server文件,添加wlan1

sudo vim /etc/default/isc-dhcp-server #编辑配置文件

INTERFACES="wlan0"

接着,修改/etc/dhcp/dhcpd.conf

sudo vim /etc/dhcp/dhcpd.conf  #编辑配置文件

#option domain-name "example.org";  #注释

#option domain-name-servers ns1.example.org, ns2.example.org;  #注释

authoritative; #去除注释

#在配置文件底部添加发下配置

subnet 192.168.8.0 netmask 255.255.255.0 { 

range 192.168.8.100 192.168.8.200; 

option broadcast-address 192.168.8.255; 

option routers 192.168.8.1; 

default-lease-time 600; 

max-lease-time 7200; 

option domain-name "local"; 

option domain-name-servers 8.8.8.8, 8.8.4.4; 

}
#继续添加
subnet 192.168.9.0 netmask 255.255.255.0 { 

range 192.168.9.100 192.168.9.200; 

option broadcast-address 192.168.9.255; 

option routers 192.168.9.1; 

default-lease-time 600; 

max-lease-time 7200; 

option domain-name "local"; 

option domain-name-servers 8.8.8.8, 8.8.4.4; 

}

最后,添加一个/etc/hostapd/hostapd2.conf,内容类似hostapd.conf,但是channel要不一样,否则出现干扰
interface=wlan1

driver=rtl871xdrv#这个是树莓派无线网卡驱动,不要改

ssid=pi2#无线信号名字,随意设

hw_mode=g

channel=2

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

如此,启动
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf /etc/hostapd/hostapd2.conf
即可启动两个AP,如果加上-B,可运行于后台。

------------------------------------------------------------------------------------------
此外,如果想配置成wlan0 ap模式,wlan1 连接路由器模式,可以修改/etc/network/interfaces文件,添加wlan1的设置即可。
auto wlan1

allow-hotplug wlan1

iface wlan1 inet dhcp

wpa-ssid "SDN2.4"

wpa-psk "404404404"

重启wlan1(sudo ifdown wlan1  sudo ifup wlan1)即可。

你可能感兴趣的:(配置)