RaspAP:轻松实现树莓派无线 AP

作者 : admin 本文共4287个字,预计阅读时间需要11分钟 发布时间: 2024-06-10 共3人阅读

RaspAP:轻松实现树莓派无线 AP插图

RaspAP 是一个可以将树莓派轻松部署成无线 AP(Access Point)的软件方案,具有一套响应式的 WebUI 来控制 WiFi,用起来和家用路由器一样方便。RaspAP 可以运行在 Raspbian 上,只需要先给树莓派安装好 Raspbian 系统,再通过快速安装脚本就可以轻松完成 RaspAP 的安装和配置。
RaspAP:轻松实现树莓派无线 AP插图(1)
RaspAP:轻松实现树莓派无线 AP插图(2)
RaspAP:轻松实现树莓派无线 AP插图(3)

下面我们介绍一下 RaspAP 的安装配置方法。

准备工作

全新安装 Raspbian,建议使用最新的版本。
http://shumeipai.nxez.com/2013/09/07/how-to-install-and-activate-raspberry-pi.html
建议更新 Raspbian,包括核心和固件,然后重启系统:

1

2

3

sudo
apt-get update

sudo
apt-get dist-upgrade

sudo
reboot

运行 sudo raspi-config 命令,在设置 Localisation Options 菜单中设置 WiFi 地区。
如果你使用的是没有集成无线网卡的老版本树莓派,则需要自行准备一个 USB 的无线网卡。

完成上面这些准备工作之后,就可以开始下面的步骤进行快速安装了。

快速安装

下面提供了一个安装脚本,只需要一行命令就可以完成 RaspAP 的快速安装:

1

wget -q http:
//git
.io
/voEUQ
-O
/tmp/raspap
&&
bash
/tmp/raspap

安装程序会帮你完成所有需要手动安装的步骤(见下文)。

安装完成之后重启树莓派,无线网卡默认会被配置为热点:
IP 地址: 10.3.141.1
登录用户名: admin
登录密码: secret
DHCP 范围: 10.3.141.50 至 10.3.141.255
SSID: raspi-webgui
WiFi 密码: ChangeMe

AP – WiFi 客户端模式

RaspAP 允许你将树莓派通过有线网卡接入网络的同时,利用无线网卡去开启 AP 模式,实现对网络的共享。在 Configure hotspot 的 Advanced 标签栏中启用 AP,然后保存设置来启动热点,无须重启树莓派。
RaspAP:轻松实现树莓派无线 AP插图(4)

手动安装

尽管上面已经提供了自动化的安装脚本,但是为了便于理解,下面将介绍手动安装 RaspAP 的方法。
这些步骤适用于最新的 Raspbian Buster 版本,如果你用更早的 Raspbian 版本,则需要先安装好 git、lighttpd、php7、hostapd 和 dnsmasq。

1

sudo
apt-get
install
git lighttpd php7.1-cgi hostapd dnsmasq vnstat

注意:在 Raspbian Stretch 中,需要用 php7.0-cgi 替换以上命令中的 php7.1-cgi;而对于 Raspbian Jessie 或更早的版本,需要用 php5-cgi 替换以上命令中的 php7.1-cgi。启用 lighttpd 的 PHP 并重启 lighttpd 使设置生效:

1

2

sudo
lighttpd-
enable
-mod fastcgi-php

sudo
service lighttpd restart

为 www-data 用户添加对 sudoers 文件的访问权限。使用 nano 编辑器将下面的内容添加到 /etc/sudoers 文件的末尾:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

www-data ALL=(ALL) NOPASSWD:/sbin/ifdown

www-data ALL=(ALL) NOPASSWD:/sbin/ifup

www-data ALL=(ALL) NOPASSWD:/bin/cat /etc/wpa_supplicant/wpa_supplicant.conf

www-data ALL=(ALL) NOPASSWD:/bin/cat /etc/wpa_supplicant/wpa_supplicant-wlan[0-9].conf

www-data ALL=(ALL) NOPASSWD:/bin/cp /tmp/wifidata /etc/wpa_supplicant/wpa_supplicant.conf

www-data ALL=(ALL) NOPASSWD:/bin/cp /tmp/wifidata /etc/wpa_supplicant/wpa_supplicant-wlan[0-9].conf

www-data ALL=(ALL) NOPASSWD:/sbin/wpa_cli -i wlan[0-9] scan_results

www-data ALL=(ALL) NOPASSWD:/sbin/wpa_cli -i wlan[0-9] scan

www-data ALL=(ALL) NOPASSWD:/sbin/wpa_cli -i wlan[0-9] reconfigure

www-data ALL=(ALL) NOPASSWD:/bin/cp /tmp/hostapddata /etc/hostapd/hostapd.conf

www-data ALL=(ALL) NOPASSWD:/etc/init.d/hostapd start

www-data ALL=(ALL) NOPASSWD:/etc/init.d/hostapd stop

www-data ALL=(ALL) NOPASSWD:/etc/init.d/dnsmasq start

www-data ALL=(ALL) NOPASSWD:/etc/init.d/dnsmasq stop

www-data ALL=(ALL) NOPASSWD:/bin/cp /tmp/dhcpddata /etc/dnsmasq.conf

www-data ALL=(ALL) NOPASSWD:/sbin/shutdown -h now

www-data ALL=(ALL) NOPASSWD:/sbin/reboot

www-data ALL=(ALL) NOPASSWD:/sbin/ip link set wlan[0-9] down

www-data ALL=(ALL) NOPASSWD:/sbin/ip link set wlan[0-9] up

www-data ALL=(ALL) NOPASSWD:/sbin/ip -s a f label wlan[0-9]

www-data ALL=(ALL) NOPASSWD:/bin/cp /etc/raspap/networking/dhcpcd.conf /etc/dhcpcd.conf

www-data ALL=(ALL) NOPASSWD:/etc/raspap/hostapd/enablelog.sh

www-data ALL=(ALL) NOPASSWD:/etc/raspap/hostapd/disablelog.sh

www-data ALL=(ALL) NOPASSWD:/etc/raspap/hostapd/servicestart.sh

修改完成之后,git clone Web 文件到 /var/www/html 路径下:

1

2

sudo
rm
-rf
/var/www/html

sudo
git clone http:
//github
.com
/billz/raspap-webgui
/var/www/html

将图标资源移动到 Web 根目录。

1

sudo
mv
/var/www/html/dist/icons/
*
/var/www/html

修改文件的所有者为 www-data 用户。

1

sudo
chown
-R www-data:www-data
/var/www/html

将 RaspAP 的配置文件移动到正确的位置。

1

2

3

sudo
mkdir
/etc/raspap

sudo
mv
/var/www/html/raspap
.php
/etc/raspap/

sudo
chown
-R www-data:www-data
/etc/raspap

将 HostAPD 日志和服务控制脚本移动到正确的位置。

1

2

3

sudo
mkdir
/etc/raspap/hostapd

sudo
mv
/var/www/html/installers/
*log.sh
/etc/raspap/hostapd

sudo
mv
/var/www/html/installers/service
*.sh
/etc/raspap/hostapd

修改日志和服务控制脚本的拥有者和读写执行权限。

1

2

sudo
chown
-c root:www-data
/etc/raspap/hostapd/
*.sh

sudo
chmod
750
/etc/raspap/hostapd/
*.sh

在 /etc/rc.local 的 exit 0 之前添加下面的内容:

1

2

3

echo
1 >
/proc/sys/net/ipv4/ip_forward
#RASPAP

iptables -t nat -A POSTROUTING -j MASQUERADE
#RASPAP

iptables -t nat -A POSTROUTING -s 192.168.50.0
/24
! -d 192.168.50.0
/24
-j MASQUERADE
#RASPAP

强制载入 /etc/rc.local 让配置生效。

1

2

sudo
systemctl restart rc-
local
.service

sudo
systemctl daemon-reload

取消对热点服务的屏蔽,并启用热点。

1

2

sudo
systemctl unmask hostapd.service

sudo
systemctl
enable
hostapd.service

将 raspap 服务移动到正确的位置并启用。

1

2

sudo
mv
/var/www/html/installers/raspap
.service
/lib/systemd/system

sudo
systemctl
enable
raspap.service

重启树莓派,RaspAP 将自动运行!

1

sudo
reboot

RaspAP 默认的登录用户名是 admin,默认密码是 secret。

可选服务

OpenVPN 和 TOR 作为两个附加服务,可以通过简单的设置开启。
修改 /var/www/html/includes/config.php 文件中下面的两行即可。

1

2

3

// Optional services, set to true to enable.

define('RASPI_OPENVPN_ENABLED', false );

define('RASPI_TORPROXY_ENABLED', false );

GitHub:http://github.com/billz/raspap-webgui/
FAQ:http://github.com/billz/raspap-webgui/wiki/FAQs

本站无任何商业行为
个人在线分享-虚灵IT资料分享 » RaspAP:轻松实现树莓派无线 AP
E-->