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

   日期:2024-01-22     浏览:100    评论:0    
核心提示:RaspAP 是一个可以将树莓派轻松部署成无线 AP(Access Point)的软件方案,具有一套响应式的 WebUI 来控制 WiFi,用起来和家用路由器一样方便。RaspAP 可以运行在 Raspbian 上,只需要先给树莓派安装好 Raspbian 系统,再通过快速安装脚本就可以轻松完成 RaspAP 的安装和配置。

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



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

准备工作

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

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot

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

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

快速安装

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

wget -q https://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 的方法。
这些步骤适用于最新的 Raspbian Buster 版本,如果你用更早的 Raspbian 版本,则需要先安装好 git、lighttpd、php7、hostapd 和 dnsmasq。

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 使设置生效:

sudo lighttpd-enable-mod fastcgi-php
sudo service lighttpd restart

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

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 路径下:

sudo rm -rf /var/www/html
sudo git clone https://github.com/billz/raspap-webgui /var/www/html

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

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

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

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

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

sudo mkdir /etc/raspap
sudo mv /var/www/html/raspap.php /etc/raspap/
sudo chown -R www-data:www-data /etc/raspap

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

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

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

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

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

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 让配置生效。

sudo systemctl restart rc-local.service
sudo systemctl daemon-reload

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

sudo systemctl unmask hostapd.service
sudo systemctl enable hostapd.service

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

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

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

sudo reboot

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

可选服务

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

// Optional services, set to true to enable.
define('RASPI_OPENVPN_ENABLED', false );
define('RASPI_TORPROXY_ENABLED', false );

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

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服