歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Raspberry Pi 配置無線熱點

Raspberry Pi 配置無線熱點

日期:2017/2/28 13:57:31   编辑:Linux教程

迷思

這幾天一直想著對BananaPro上增加輸入和輸出設備,折騰來折騰去的最後發現是自己的思路出問題了。作為上位除了做媒體中心之時需要輸入輸出設備,貌似大多數情況下是不需要這些的,它只是一台提供服務超小型服務器將它當作普通PC來用確在是一種思路上誤區。

我們本來就擁有各種的輸入輸出設備,例如iMac, iPad, iPhone 作為交互與顯示的終端它們應該首選而不是在上位機上加個LCD。我只需要將它作為一個中繼器鏈接我的所有設備,同時提供一些我所必備的服務就好了。

工作原理

  • 啟動 WIFI 訪問點和廣播頻道
  • 啟用DHCP 服務為接入設備動態分配IP
  • 建立NAT 將 WIFI 的連接請求數據轉發至網卡

配置過程

在安裝之前先更新安源

sudo apt-get update

安裝必備的工具包 hostadpudhcpd

sudo apt-get install hostadp udhcpd

配置 DHCP. 修改 /etc/udhcpd.conf 配置文件的內容

start 192.168.42.2 # This is the range of IPs that the hostspot will give to client devices.
end 192.168.42.20
interface wlan0 # The device uDHCP listens on.
remaining yes
opt dns 8.8.8.8 4.2.2.2 # The DNS servers client devices will use.
opt subnet 255.255.255.0
opt router 192.168.42.1 # The Pi's IP address on wlan0 which we will set up shortly.
opt lease 864000 # 10 day DHCP lease time in seconds

將 DHCP 服務的默認配置 /etc/default.udhcpd:

DHCPD_ENABLED="no"

修改為

#DHCPD_ENABLED="no"

無線網卡作為中繼器時需要使用靜態地址:

sudo ifconfig wlan0 192.168.100.1

wlan0 是無線網卡的設備ID,可能你的設備ID會是其它的值,請先用 iwconfig 確認無線網卡的設備ID。

如果要將上述配置添加到起動項中,可以編輯 /etc/network/interfaces 並將 iface wlan0 inet dhcp 替換為:

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.100.1
netmask 255.255.255.0

配置 HostAPD

接下來就是配置WIFI 熱點服務了,打開 /etc/hostapd/hostapd.conf 文件,並將內容修改如下:

interface=wlan0
driver=nl80211
ssid=My_AP
hw_mode=g
channel=6
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

這裡有幾個參數是需要說明的:

  • ssid 是 AP 在連接設備中所顯示的可用接入點名,
  • wpa_passphrase 連接密碼

由於我們需要AP能在系統啟動時就自動生效,hostadp 是作為服務運行的,此時我們需要將 hostadp 的默認配置文件的指向聲明一下。

編輯 /etc/default/hostapd 配置文件,將

#DAEMON_CONF=""

修改為剛才編輯的配置文件的絕對路徑

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

配置NAT

NAT (Network Address Translation) 也叫做網絡掩蔽或者IP掩蔽(IP masquerading),是一種在IP封包通過路由器或防火牆時重寫源IP地址或目的IP地址的技術。這種技術被普遍使用在有多台主機但只通過一個公有IP地址訪問因特網的私有網絡中。根據規范,路由器是不能這樣工作的,但它的確是一個方便並得到了廣泛應用的技術。當然,NAT也讓主機之間的通信變得復雜,導致通信效率的降低。

我們配置NAT的原因是,由中繼器必定是具有兩個網卡(本例中與內部設備連接為WIFI網卡,與路由器直連的是一個普通千兆網卡),這兩個網卡是處於兩個不同網段的,普通網卡的地址是從路由器的DHCP分配獲得的,那麼就可以使得中繼器本身可以訪問互聯網,而WIFI網卡是與其它的設備連接是靜態地址,而且通過這個網卡向其它的連接設備分配動態IP,那麼這兩個網段之間是不會互通的,那麼如果希望使得通過中繼連接的設備也可以連接到互聯網,那麼就得將WIFI連接設備上發來的請求轉發至普通網卡上,再通過該網卡連接到互聯網。也就是上述所說的NAT結構。接下來我們就需要配置NAT的地址表, 打開 /etc/sysctl.conf 配置文件,在文件最後一行加入:

net.ipv4.ip_forward=1

然後,在內核啟動 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

接著,重新打開 /etc/network/interfaces 網絡接口配置文件,添加:

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

啟動服務

至此已基本配置成功,下面就是啟動 hostapdudhcpd 服務了:

sudo service hostapd start
sudo service udhcpd start

最後我將需要將這兩個服務在系統啟動時一並啟動:

sudo update-rc.d hostapd enable
sudo update-rc.d uphcpd enable

重啟,大功告成!這個配置過程在 LUbuntu 和 Raspberry 上都測試成功

如何在樹莓派 2 運行 Ubuntu Snappy Core http://www.linuxidc.com/Linux/2015-08/122438.htm

在(Raspberry Pi)樹莓派上安裝NodeJS http://www.linuxidc.com/Linux/2015-01/111714.htm

Raspberry Pi 樹莓派上安裝Weston http://www.linuxidc.com/Linux/2013-06/86685.htm

用於Raspberry Pi 的Linux 操作系統已經可用 http://www.linuxidc.com/Linux/2012-03/56058.htm

Raspberry Pi(樹莓派)試用小記 http://www.linuxidc.com/Linux/2013-10/91008.htm

Raspberry Pi(樹莓派)的安裝、配置IP及軟件源等入門 http://www.linuxidc.com/Linux/2013-10/91009.htm

Copyright © Linux教程網 All Rights Reserved