純手工打造樹莓派3雙無線網絡卡應用無線熱點

一直想入手樹莓派玩玩,最後受到一位大神的啟發琢磨了另一種樹莓派WIFI的用法。使用樹莓派本身的系統,新增一個外接無線網絡卡,使其成為可移動的無線解決方案,連線無線網路的同時在建立一個新的WIFI。後期可以配置S類的工具。

純手工打造樹莓派3雙無線網絡卡應用無線熱點

從淘寶購入硬體裝置,下面開始折騰。

配置無線網路連線

安裝 dnsmasq 和 hostapd

sudo apt-get install dnsmasq hostapd udhcpd

將無線介面wlan0的IP配置成靜態地址。外接無線網介面wlan1預設DHCP配置並接入因特網。在樹莓派系統中,預設是DHCPCD配置網路介面。所以要告訴系統我們給wlan0分配靜態IP地址,操作是開啟配置檔案並增加配置引數指令。

sudo vi /etc/dhcpcd。confinterface wlan0static ip_address=192。168。88。1/24

修改

/etc/network/interfaces

設定

wlan1

為 DHCP 並自動連線WIFI,

wlan0

為固定IP

# 表示使用localhostauto loiface lo inet loopback# wlan1 自動獲取IPauto wlan1iface wlan1 inet dhcppre-up wpa_supplicant -Dwext -i wlan1 -c /etc/wpa_supplicant/wpa_supplicant。conf -B# wlan0 為靜態IPauto wlan0allow-hotplug wlan0iface wlan0 inet staticaddress 192。168。88。1netmask 255。255。255。0

重啟樹莓派

sudo service dhcpcd restartsudo reboot

UDHCP

編輯配置檔案/etc/udhcpd。conf

start 192。168。88。100 #配置網段end 192。168。88。150interface wlan0 # The device uDHCP listens on。remaining yesopt dns 192。168。1。1 8。8。8。8opt subnet 255。255。255。0opt router 192。168。88。1 # 無線lan網段opt lease 864000 # 租期10天

HOSTAPD

建立hostapd。conf

sudo vi /etc/hostapd/hostapd。conf

新增如下配置

interface=wlan0driver=nl80211ssid=H-Pihw_mode=gchannel=6wmm_enabled=1macaddr_acl=0auth_algs=1ignore_broadcast_ssid=0wpa=2wpa_passphrase=abc12345wpa_key_mgmt=WPA-PSKrsn_pairwise=CCMP

修改 /etc/default/hostapd ,讓系統每次啟動都自動載入AP模式下的配置。

DAEMON_CONF=“/etc/hostapd/hostapd。conf”

設定開機啟動

sudo update-rc。d hostapd enable

DNSMASQ

備份預設配置檔案

sudo mv /etc/dnsmasq。conf /etc/dnsmasq。conf。bak

新增以下內容

interface=wlan0bind-interfacesserver=218。2。2。2server=114。114。114。114server=8。8。8。8domain-neededbogus-privdhcp-range=192。168。88。2,192。168。88。254,12h

設定IPV4轉發

開啟系統配置檔案sysctl。conf,去掉IPV4轉發那一行的#註釋

sudo vi /etc/sysctl。conf

# Uncomment the next line toenable packet forwarding for IPv4net。ipv4。ip_forward=1

外接無線介面共享給wlan0上網,需要配置NAT:

sudo iptables -Fsudo iptables -Xsudo iptables -t nat -APOSTROUTING -o wlan1 -j MASQUERADEsudo iptables -A FORWARD -i wlan1 -o wlan0 -m state ——state RELATED,ESTABLISHED -j ACCEPTsudo iptables -A FORWARD -i wlan0 -o wlan1 -j ACCEPT

儲存以上防火牆規則

sudo sh -c “iptables-save> /etc/iptables。ipv4。nat”

在 /etc/network/interfaces 末尾增加一行,設定為開機啟動

up iptables-restore < /etc/iptables。ipv4。nat

編輯 /etc/network/if-pre-up。d/iptables

新增下面兩行程式碼:

#!/bin/bash/sbin/iptables-restore < /etc/iptables。ipv4。nat

儲存退出,然後修改 iptables 許可權:

sudo chmod 755 /etc/network/if-pre-up。d/iptables

透過獲取DHCPCD來執行NAT需要建立一個新檔案

sudo vi /lib/dhcpcd/dhcpcd-hooks/70-ipv4-natsudo iptables-restore < /etc/iptables。ipv4。nat

重啟服務及樹莓派

sudo service hostapd startsudo service dnsmasq startsudo reboot

其他配置

設定 wlan1 自動連線區域內WIFI

vi /etc/wpa_supplicant/wpa_supplicant。conf

在檔案的末尾新增WIFI網路的名稱以及密碼,將要連線的wifi名稱和密碼替換即可。

network={ ssid=“SSID” psk=“wifi_password”}

使用sudo wpa_cli reconfigure命令啟動連線

pi@raspberrypi:~ $ sudo wpa_cli reconfigureSelected interface ‘wlan0’OK