本次實作將在Raspberry Pi單板電腦上架設OpenWrt以提供Wi-Fi服務,並透過後端的FreeRADIUS Server執行帳號以及密碼驗證機制來提高其安全性。
在挑選使用Wi-Fi Dongle時,請先在網路上做一些功課並選擇網路上已有成功案例的網卡,避免在不支援的硬體上耗費大量的時間。
如果有Multi-SSID的需求,例如想把訪客和企業內部分別給予不同的SSID並做可存取網段控管,記得要挑選支援Multi-SSID的Wi-Fi Dongle。據筆者實測的結果,確認EDIMAX EW-7811Un這張網卡不支援Multi-SSID,而TP-LINK TL-WN722N可以設定Multi-SSID。
這裡補充說明一下,由於OpenWrt必須依賴各種套件的支援,才能讓AP的各種模式順利運作,為避免大家虛擲光陰於無謂的測試,將相關模式整理如下:
·Client Mode:若運作於用戶端模式,無論加密與否,均須安裝wpa-supplicant。
·AP Mode:若作為站台使用,必須以加密強度區分。若不加密或僅提供WEP加密,則須安裝hostapd。若需要提供WPA以上等級的加密,請安裝wpad(若未安裝此套件,OpenWrt網頁介面的下拉式選單將不提供對應選項)。這三個套件是互相衝突的,因此在規劃階段就必須考慮要提供的加密等級。若遇到套件衝突,可使用opkg remove指令將該套件移除。若有其他的狀況,亦可使用logread指令或至網頁介面中Status裡的System Log或Kernal Log查看無法正常運作的原因,通常是未安裝正確的套件導致欠缺某個程式而致使網卡無法正確設定。
設定Wi-Fi AP站台
開始使用OpenWrt的圖形化介面繼續後面的設定,先測試Wi-Fi Dongle是否能正常運作。在此先設定一個簡單的AP站台,供使用者連線。
這裡的設定邏輯是先設定wifi(OSI第二層),再去設定Interface(OSI第三層),最後再去設定Firewall(OSI第四層以上)。
將Wi-Fi Dongle設定為AP Mode並提供WPA的加密,需要安裝wapd這個程式。選擇System裡面的Software,接著如圖3所示,在Download and install package欄位,輸入「wpad」,並按下〔OK〕按鈕。如果之前有重開機過,記得先更新opkg的索引檔。
|
▲圖3 設定成「wpad」並按下〔OK〕按鈕。 |
接著進行網路設定,先選擇Network裡面的Interfaces,然後點選Add New Interface。
如圖4所示,在Name of the new interface欄位填入「WWAN」,而Cover the following interface部分選擇「Wireless Network」,然後按下右下角的〔Submit〕。
|
▲圖4 設定Interface內容。 |
在Protocol部分,使用預設的Static address,因此需要填入IP。這裡先將DHCP Server功能開啟。而下方的DHCP Server部分,則選擇Setup DHCP Server,如圖5所示。
|
▲圖5 選擇Setup DHCP Server。 |
接著再回頭設定IP位址,如圖6所示,IPv4 address的部分填入「10.0.0.1」,「IPv4 netmask」設定則選擇【255.255.255.0】。
|
▲圖6 設定IP位址。 |
設定完成後,點選右下角的〔Save&Apply〕,進行存檔及重啟網路設定。存檔後,將之歸屬到Firewall的zone以便於之後的維護。然後,如圖7所示點選Firewall Settings,將之修改為wan,並點選右下角的〔Save&Apply〕。
|
▲圖7 進入Firewall Settings內修改成wan。 |
網路設定完成後,再回頭調整WIFI所屬的Interface。選擇Network內的WiFi並編輯之,接著選擇Advanced Settings,將Network中的lan取消勾選,若有修改SSID名稱的需求,可在此修改ESSID的欄位,並點選〔Save&Apply〕讓新設定生效,如圖8所示。
|
▲圖8 修改ESSID設定內容。 |
最後必須調整一下Firewall的設定,讓WWAN可以收到Wi-Fi用戶的DHCP Request。選擇Network裡面的Firewall,找到wan這一行中的Input,將之改為【accept】(允許封包進入),然後再點選〔Save&Apply〕,如圖9所示。
|
▲圖9 找到wan的Input,將其設定改成【accept】。 |
然後點選Network裡面的WiFi,在Wireless Overview中點選Enable,將無線網路開啟,如圖10所示。
|
▲圖10 點選Enable將無線網路開啟。 |
緊接著,點選Network裡面的Interfaces,並按下〔Connect〕按鈕以開啟網路,如圖11所示。開啟網路之後,在TX的下方會出現「IPv4:10.0.0.1」的訊息。
|
▲圖11 按下〔Connect〕按鈕來開啟網路。 |