樹莓派Pi3設置wifi熱點

? ? ? ? 年前換了部手機還是iphone的,但是幾年過去了,google郵箱,digg reader的google賬號沒法直接登陸啦,捂臉。翻墻要越獄,想簡單點拿臺筆記本修改個hosts再開個熱點就可以啦,郁悶的是用的macbook air沒有有線插口開不了wifi熱點,再捂臉。只能打起樹莓派的注意。系統(tǒng)啥的就不說了,直接正題:

一、安裝hostapd和dnsmasq軟件包

天天干著linux上的路由系統(tǒng),居然沒接觸到這兩個軟件,可見打雜功底至深,有空研究研究吧。照例先裝著:

sudo apt-get install dnsmasq hostapd

hostapd 是 Host Access Point 守護進程,提供對基于 Linux 的無線接入點的強 WPA2 加密和身份驗證。配置 hostapd 非常簡單,它支持 WPA2-Personal 和 Enterprise,提供了對 WPA2-Personal 的獨特修改,可讓管理它變得更復雜或更簡單。

dnsmasq是一個小巧且方便地用于配置DNS和DHCP的工具,適用于小型網(wǎng)絡,它提供了DNS功能和可選擇的DHCP功能。主用適用于NAT的家庭網(wǎng)絡,用modem,cable modem,ADSL設備連接到因特網(wǎng)。

二、接口配置

將無線接口wlan0的IP配置成靜態(tài)地址。以太網(wǎng)接口eth0默認DHCP配置并接入因特網(wǎng)。在樹莓派系統(tǒng)中,默認是DHCPCD配置網(wǎng)絡接口。所以要告訴系統(tǒng)我們給wlan0分配靜態(tài)IP地址,操作是打開配置文件并增加配置參數(shù)指令。

sudo nano /etc/dhcpcd.conf

interface wlan0

static ip_address=192.168.0.1/24

為了防止wpa_supplicant運行和干擾設定wlan0為接入點模式。需要打開接口配置文件,在wlan0段落中注釋掉wpa-conf這行

sudo nano /etc/network/interfaces

allow-hotplug wlan0

iface wlan0 inet manual

#? ? wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

執(zhí)行完后還要重啟dhcpcd服務,系統(tǒng)將會給wlan0接口分配一個靜態(tài)IP,樹莓派也需要重啟,因為只有重啟后才生效。

sudo service dhcpcd restart

sudo reboot

三、 配置HOSTAPD

創(chuàng)建一個新的文件配置HOSTAPD

sudo nano /etc/hostapd/hostapd.conf

內(nèi)容如下

interface=wlan0

driver=nl80211

ssid=pipi

hw_mode=g

channel=6

wmm_enabled=1

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa=2

wpa_passphrase=12345678

wpa_key_mgmt=WPA-PSK

rsn_pairwise=CCMP

其中

interface=wlan0,指定網(wǎng)卡名稱為wlan0。

wpa=2,采用WPA2加密方式。

ssid=pipi為熱點名稱,可根據(jù)實際情況修改。

wpa_passphrase=12345678為熱點密碼,可根據(jù)實際情況修改,如果采用WPA2加密方式,密碼的長度應該不少于8個字符。

接下來檢查是否配置成功,如果出現(xiàn)AP-ENABLED并且客戶端能搜索到SSID,表示AP模式已啟用成功。如果有報錯,說明驅(qū)動和hostapd配置沒有正確設置。

sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf

為了能讓系統(tǒng)每次啟動都自動加載AP模式下的配置,我們需要配置hostapd為自啟動模式。打開默認配置文件,找到#DAEMON_CONF=””,將前面的#號去掉,

sudo nano /etc/default/hostapd

DAEMON_CONF="/etc/hostapd/hostapd.conf"

手機測試連接ap正常。

四、配置DNSMASQ

為了實現(xiàn)上網(wǎng)功能,需要對DNSMASQ服務進行配置,首先備份一下系統(tǒng)默認的文件,然后創(chuàng)建一個新的配置文件。

sudo mv /etc/dnsmasq.conf/etc/bak_dnsmasq.conf

sudo nano /etc/dnsmasq.conf

具體的配置信息如下所示:DNS請求服務器地址這里要配置成本地上網(wǎng)的DNS地址,否則可能解析錯誤。

interface=wlan0

bind-interfaces

server=218.2.2.2

server=114.114.114.114

server=8.8.8.8

domain-needed

bogus-priv

dhcp-range=192.168.1.2,192.168.1.254,12h

五、設置IPV4轉(zhuǎn)發(fā)

打開系統(tǒng)配置文件sysctl.conf,將IPV4轉(zhuǎn)發(fā)那一行的#去掉

sudo nano /etc/sysctl.conf

# Uncomment the next two lines toenable Spoof protection (reverse-path filter)

# Turn on Source AddressVerification in all interfaces to

# prevent some spoofing attacks

#net.ipv4.conf.default.rp_filter=1

#net.ipv4.conf.all.rp_filter=1

# Uncomment the next line toenable TCP/IP SYN cookies

# Note: This may impact IPv6 TCPsessions too

#net.ipv4.tcp_syncookies=1

# Uncomment the next line toenable packet forwarding for IPv4

net.ipv4.ip_forward=1

下一次重啟后會生效,如果不想現(xiàn)在重啟,可以直接輸入如下指令直接生效。

sudo sh -c "echo 1 >/proc/sys/net/ipv4/ip_forward"

為了實現(xiàn)PI3以太網(wǎng)接口共享給wlan0上網(wǎng),需要配置NAT,需先執(zhí)行如下防火墻命令

sudo iptables -t nat -APOSTROUTING -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

當然,為了不每次都手動配置,需要將以上規(guī)則設為自啟動。

sudo sh -c "iptables-save> /etc/iptables.ipv4.nat"

通過獲取DHCPCD來運行NAT需要創(chuàng)建一個新文件

sudo nano/lib/dhcpcd/dhcpcd-hooks/70-ipv4-nat

iptables-restore</etc/iptables.ipv4.nat

最后需要重啟服務:

sudo service hostapdstart

sudo service dnsmasq start

sudo reboot

當然樹莓派還是要拿來連wifi上網(wǎng),上述iptbales設為自啟動還沒有嘗試,只是開機后下了三條iptables命令,測試OK啦。修改了linux下etc/hosts,手機連上登陸gmail,google賬號一切正常。??

參考:

PI3體驗之無線網(wǎng)AP模式設定及熱點分享

http://bbs.elecfans.com/forum.php?mod=viewthread&tid=605803&extra=page=5&mobile=2

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容