天天看点

树莓派4b 开启热点服务

前言

由于某些所必须的原因,Linux 系统想要使用无线网卡开启热点提供服务。

我实现了 系列 树莓派 配置 OMV 搭建 NAS ,但是 OMV5 自动禁用了无线网卡,为避免访问 NAS 时还要经过一道路由转发,以及避免路由器抽风时不提供服务。

启用无线网卡

  • 树莓派4b 自带无线网卡,你也可以使用外接的无线网卡,需要驱动的提前安好驱动即可。

由于 OMV5 默认禁用无线网卡,需要启用无线网卡。

  • 查看无线网卡是否启用,命令:

    ifconfig

    查找无线网卡(树莓派4b 板载无线网卡名

    wlan0

    )。
  • 如果没有找到,查看所有网卡,命令:

    ifconfig -a

  • 如果找到,启用它。
    ifconfig wlan0 up
               

安装依赖

  • 安装 network-manager
    sudo apt-get install network-manager
               
  • 安装 git
    sudo apt-get install git
               
  • 安装依赖库
    sudo apt-get install util-linux procps hostapd iproute2 iw haveged dnsmasq
               
  • 如果出现以下问题:
    Job for dnsmasq.service failed because the control process exited with error code.See"systemctl status dnsmasq.service" amd "journalctl -xe" fro details.
               
    • 输入提示命令,查看错误:
      systemctl status dnsmasq.service
      或
      journalctl -xe
                 
    • 如果提示:

      failed to create listening socket for port 53: 地址已在使用

      请参阅:启动或重启 dnsmasq 提示端口 53 被占用的解决方案 。

修改配置文件

  • 修改 NetworkManager 配置文件
    • 修改或创建 NetworkManager 配置文件:
      sudo nano /etc/NetworkManager/NetworkManager.conf
                 
    • 修改或写入内容,保存退出:
      dns=dnsmasq
                 
    • 重启 NetworkManager 服务。
      sudo service network-manager restart
                 
  • 修改 dnsmasq 配置文件
    • 编辑配置文件。
      sudo nano /etc/dnsmasq.conf
                 
    • 查找

      listen-address

      一行内容。
    • 取消该行注释,并设置为:
      listen-address=127.0.0.1
                 
    • 重启 dnsmasq 服务。
      sudo /etc/init.d/dnsmasq restart
                 

克隆 git 项目

克隆 git 项目到本地进行编译。

sudo git clone https://github.com/oblique/create_ap
cd create_ap
sudo make install
           

启用热点

  • 启用热点。
    sudo create_ap wlan0 eth0 <热点名> <密码>
               
  • 如果提示

    WARN

    可用下面命令启用热点。
    sudo create_ap --no-virt wlan0 eth0 <热点名> <密码>
               

热点以服务开机重启

  • 修改重启服务的配置,添加--no-virt参数。
    sudo nano /usr/lib/systemd/system/create_ap.service
               
    将:
    ExecStart=/usr/bin/create_ap --config /etc/create_ap.conf
               
    修改为:
    ExecStart=/usr/bin/create_ap --no-virt --config /etc/create_ap.conf
               
  • 修改 create_ap.service 服务功能的配置
    sudo nano /etc/create_ap.conf
               
    设置自己的 GATEWAY(网关)、SSID(热点名)、PASSPHRASE(密码)
    GATEWAY=???
    SSID=???
    PASSPHRASE=???
               
  • 设置服务开机启动。
    systemctl enable create_ap.service
               
  • 查看服务是否开机启动。
    systemctl is-enable create_ap.service
               

服务管理

# 启动服务:
systemctl start create_ap.service
# 关闭服务:
systemctl stop create_ap.service
# 重启服务:
systemctl restart create_ap.service
# 显示服务状态:
systemctl status create_ap.service
# 禁用服务开机启动:
systemctl disable create_ap.service