? ? ? ? 年前換了部手機還是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