• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

树莓派建立无线AP热点

xoba1937 2017-07-22 浏览量:1507

树莓派如何建立无线AP热点供手机和其他设备使用?

1.树莓派连接有线网络的情况?

2.树莓派连接无线网络的情况?

谢谢!

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 編輯網路介面的設定檔。
    sudo vi /etc/network/interfaces

    內建的 WiFi 介面編號是 wlan0,禁止它讀取 WiFi 連線設定值。
    # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

    編輯 DHCP Client 設定檔。
    sudo vi /etc/dhcpcd.conf

    輸入要給 wlan0 用的指定 IP 位址。
    interface wlan0
    static ip_address=192.168.0.1/24


    啟用 NAT 功能

    開放 IP 轉送功能。
    sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf

    調整防火牆的 IP 偽裝設定。
    sudo iptables -F
    sudo iptables -F -t nat
    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

    為了安全考量,WiFi 用戶端我會讓它們無法互連,如果有這個需要的話,請再加上這一行。
    sudo iptables -A FORWARD -i wlan0 -o wlan0 -j ACCEPT

    儲存防火牆的設定值。
    sudo bash -c 'iptables-save > /etc/network/iptables.eth0_to_wlan0'
    sudo iptables-restore < /etc/network/iptables.eth0_to_wlan0

    編輯開機自動載入的腳本。
    sudo vi /etc/rc.local

    在倒數二行加入新的防火牆規則。
    sudo iptables-restore < /etc/network/iptables.eth0_to_wlan0


    架設 DHCP Server

    同樣依照 Raspberry Pi 的實作 - 自動配置 IP 位址資訊的 DHCP Server 的實作,完成 DHCP Server 的架設。

    這次選擇的是 dnsmasq 套件,先把它安裝起來。
    sudo apt-get -y install dnsmasq

    編輯 dnsmasq 主設定檔。
    sudo vi /etc/dnsmasq.conf

    輸入下列設定值 ,192.168.0.1 是 wlan0 的自訂 IP,192.168.0.101 到 192.168.0.110 是 dnsmasq 可以發放的 IP 位址。
    bogus-priv
    bind-interfaces
    resolv-file=/etc/resolv.dnsmasq
    min-port=49152
    server=8.8.8.8
    server=168.95.192.1
    cache-size=10000
    interface=wlan0
    dhcp-range=192.168.0.101,192.168.0.110,255.255.255.0,8h
    dhcp-option=1,255.255.255.0
    dhcp-option=3,192.168.0.1
    dhcp-option=6,192.168.0.1,8.8.8.8,168.95.192.1
    dhcp-authoritative

    複製原本的本機 DNS Server 設定值。
    sudo cp /etc/resolv.conf /etc/resolv.dnsmasq

    將裡面的 DNS Server 改成 wlan0 的自訂 IP。
    sudo sed -i 's/127.0.0.1/192.168.0.1/g' /etc/resolv.dnsmasq

    重新啟動 dnsmasq。
    sudo systemctl restart dnsmasq && sudo systemctl enable dnsmasq


    啟用 W-iFi 熱點功能

    這邊就是重點了。

    以前我們使用 Edimax EW-7811Un 無線網卡的時候,還得自己上 Realtek 官網去下載 Linux Driver,然後再編譯老半天。

    現在不用了,直接使用官方套件庫的套件就行了。
    sudo apt-get -y install hostapd

    新增 hostapd 的主設定檔。
    sudo vi /etc/hostapd/hostapd.conf

    輸入下列的設定值,SSID、密碼及頻道請依自己的需求修改。
    interface=wlan0
    ssid=RPi3-AP
    hw_mode=g
    channel=11
    macaddr_acl=0
    auth_algs=1
    ignore_broadcast_ssid=0
    wpa=2
    wpa_passphrase=RPi3-Password
    wpa_key_mgmt=WPA-PSK
    rsn_pairwise=CCMP

    測試一下 hostapd 是否正常啟動。
    sudo hostapd -dd /etc/hostapd/hostapd.conf

    沒有錯誤訊息的話,按 Ctrl + C 中斷服務。

    指定 hostapd 的設定檔位置。
    sudo sed -i 's/#DAEMON_CONF=""/DAEMON_CONF="\/etc\/hostapd\/hostapd.conf"/g' /etc/default/hostapd

    最後,重新開機讓所有的設定值都生效。
    sudo systemctl enable hostapd && sudo reboot
    • 发布于 2017-07-24
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:6

  • 編輯網路介面的設定檔。
    sudo vi /etc/network/interfaces

    內建的 WiFi 介面編號是 wlan0,禁止它讀取 WiFi 連線設定值。
    # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

    編輯 DHCP Client 設定檔。
    sudo vi /etc/dhcpcd.conf

    輸入要給 wlan0 用的指定 IP 位址。
    interface wlan0
    static ip_address=192.168.0.1/24


    啟用 NAT 功能

    開放 IP 轉送功能。
    sudo sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf

    調整防火牆的 IP 偽裝設定。
    sudo iptables -F
    sudo iptables -F -t nat
    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

    為了安全考量,WiFi 用戶端我會讓它們無法互連,如果有這個需要的話,請再加上這一行。
    sudo iptables -A FORWARD -i wlan0 -o wlan0 -j ACCEPT

    儲存防火牆的設定值。
    sudo bash -c 'iptables-save > /etc/network/iptables.eth0_to_wlan0'
    sudo iptables-restore < /etc/network/iptables.eth0_to_wlan0

    編輯開機自動載入的腳本。
    sudo vi /etc/rc.local

    在倒數二行加入新的防火牆規則。
    sudo iptables-restore < /etc/network/iptables.eth0_to_wlan0


    架設 DHCP Server

    同樣依照 Raspberry Pi 的實作 - 自動配置 IP 位址資訊的 DHCP Server 的實作,完成 DHCP Server 的架設。

    這次選擇的是 dnsmasq 套件,先把它安裝起來。
    sudo apt-get -y install dnsmasq

    編輯 dnsmasq 主設定檔。
    sudo vi /etc/dnsmasq.conf

    輸入下列設定值 ,192.168.0.1 是 wlan0 的自訂 IP,192.168.0.101 到 192.168.0.110 是 dnsmasq 可以發放的 IP 位址。
    bogus-priv
    bind-interfaces
    resolv-file=/etc/resolv.dnsmasq
    min-port=49152
    server=8.8.8.8
    server=168.95.192.1
    cache-size=10000
    interface=wlan0
    dhcp-range=192.168.0.101,192.168.0.110,255.255.255.0,8h
    dhcp-option=1,255.255.255.0
    dhcp-option=3,192.168.0.1
    dhcp-option=6,192.168.0.1,8.8.8.8,168.95.192.1
    dhcp-authoritative

    複製原本的本機 DNS Server 設定值。
    sudo cp /etc/resolv.conf /etc/resolv.dnsmasq

    將裡面的 DNS Server 改成 wlan0 的自訂 IP。
    sudo sed -i 's/127.0.0.1/192.168.0.1/g' /etc/resolv.dnsmasq

    重新啟動 dnsmasq。
    sudo systemctl restart dnsmasq && sudo systemctl enable dnsmasq


    啟用 W-iFi 熱點功能

    這邊就是重點了。

    以前我們使用 Edimax EW-7811Un 無線網卡的時候,還得自己上 Realtek 官網去下載 Linux Driver,然後再編譯老半天。

    現在不用了,直接使用官方套件庫的套件就行了。
    sudo apt-get -y install hostapd

    新增 hostapd 的主設定檔。
    sudo vi /etc/hostapd/hostapd.conf

    輸入下列的設定值,SSID、密碼及頻道請依自己的需求修改。
    interface=wlan0
    ssid=RPi3-AP
    hw_mode=g
    channel=11
    macaddr_acl=0
    auth_algs=1
    ignore_broadcast_ssid=0
    wpa=2
    wpa_passphrase=RPi3-Password
    wpa_key_mgmt=WPA-PSK
    rsn_pairwise=CCMP

    測試一下 hostapd 是否正常啟動。
    sudo hostapd -dd /etc/hostapd/hostapd.conf

    沒有錯誤訊息的話,按 Ctrl + C 中斷服務。

    指定 hostapd 的設定檔位置。
    sudo sed -i 's/#DAEMON_CONF=""/DAEMON_CONF="\/etc\/hostapd\/hostapd.conf"/g' /etc/default/hostapd

    最後,重新開機讓所有的設定值都生效。
    sudo systemctl enable hostapd && sudo reboot
    • 发布于2017-07-24
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

树莓派建立无线AP热点