首页 > 学院 > 操作系统 > 正文

树莓派配置AP模式

2024-06-28 13:26:39
字体:
来源:转载
供稿:网友
树莓派配置AP模式

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

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

pi@raspberrypi ~ $ sudo lsusbBus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.Bus 001 Device 001: ID 1d6b:0002 linux Foundation 2.0 root hubBus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.Bus 001 Device 004: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapterpi@raspberrypi ~ $

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

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

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

pi@raspberrypi ~ $ sudo vim /etc/network/interfacesauto lo

iface lo inet loopbackiface eth0 inet dhcp

allow-hotplug wlan0iface wlan0 inet staticaddress 192.168.8.1netmask 255.255.255.0保存后重启wlan0网卡

sudo ifdown wlan0sudo 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.confinterface=wlan0driver=rtl871xdrv#这个是树莓派无线网卡驱动,不要改ssid=pi#无线信号名字,随意设hw_mode=gchannel=6macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0wpa=2wpa_passphrase=raspberry#密码,随意设wpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPRsn_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/interfacesauto lo

iface lo inet loopbackiface eth0 inet dhcp

allow-hotplug wlan0iface wlan0 inet staticaddress 192.168.8.1netmask 255.255.255.0

#继续添加

auto wlan1iface wlan0 inet staticaddress 192.168.9.1netmask 255.255.255.0network 192.168.9.0broadcast 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=wlan1driver=rtl871xdrv#这个是树莓派无线网卡驱动,不要改ssid=pi2#无线信号名字,随意设hw_mode=gchannel=2macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0wpa=2wpa_passphrase=raspberry#密码,随意设wpa_key_mgmt=WPA-PSKwpa_pairwise=TKIPrsn_pairwise=CCMP如此,启动
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf /etc/hostapd/hostapd2.conf即可启动两个AP,如果加上-B,可运行于后台。------------------------------------------------------------------------------------------此外,如果想配置成wlan0 ap模式,wlan1 连接路由器模式,可以修改/etc/network/interfaces文件,添加wlan1的设置即可。
auto wlan1allow-hotplug wlan1iface wlan1 inet dhcpwpa-ssid "SDN2.4"wpa-psk "404404404"

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


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表