天天看點

樹莓派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