2019年3月11日 星期一

[套件分享]開源無線網路與管理方案 OpenWRT & OpenWISP



無線網路早已經是所有企業必備的基礎建設之一,甚至是許多家庭也會擁有的上網方式;在絕大多數的場合,都是購買市面上的各種知名廠牌無線基地台,或是可提供集中式管理的企業級解決方案。

當企業規模達到一定數量時,導入集中式的管理方案是網路管理者必經之路,在我好幾年前的經驗中,曾經考慮過許多不同廠牌的方案。







商業解決方案

經過多年的發展,市場上已經有許多成熟的方案可供選擇。













在上述這些解決方案中,Nusoft (新軟) 的集中式方案是我最早採用過的系統之一,後來因著需求提升與機器老化故障,轉而開始評估下一套方案。

在下一套方案的選項裡,以 Ubiquiti 與 Ruckus 是我認為符合我的理想方案,我原本比較想要選用 Ubiquiti 使用,但卡在當時 Ubiquiti 的 Controller 在 Web 與 AD 驗證部份仍有些不足,因此最終導入了 Ruckus 使用。

註:目前 Ubiquiti 也已經補足這方面的不足。


這裡還有個小插曲,導入 Ruckus 方案時我有要求 Controller 需提供 VM 版本,廠商表示有 VM 版本但必須搭配 VMware 使用,無法搭配其它方案 (Proxmox VE)。

我告知廠商技術窗口,您儘管把 VMDK 檔帶來剩下的我會處理。廠商來了以後,就這樣當場把 VMDK 匯進入 Proxmox VE 開機順利使用了。







開源韌體方案

在很多年以前,我曾經玩過其它無線基地台的刷機方案,這些刷機方案通常都能讓既有的設備擁有更多的功能,甚至更好的效能,更重要的是開源。








其衍生的版本有不少,我最喜歡刷的版本是 dd-wrt (衍生自 OpenWRT),在當時家用無線基地台功能普遍不多的情況下,增添許多使用樂趣。

順便記錄一下,自己使用過的 D-Link DIR-300 刷 dd-wrt 機器最後身影,已送給有需要的朋友。


已刷 dd-wrt 的 D-Link DIR-300


這些刷機用的開源韌體有其特殊的背景成因,感興趣的朋友可以查閱文後的參考資料第一個連結。

既然在多年以前就已經有這麼多開源的韌體可以使用,對於我這種喜歡開源軟體方案的人來說,有沒有開源的集中式無線網路管理方案?




開源管理方案

很不幸,這種方案是存在的。 (這句怎麼聽起來怪怪的)



OpenWISP 正是一個開源的集中式無線網路管理方案,目前版本已經推進至 OpenWISP2,經過與 OpenWRT 這套開源韌體搭配,剛好形成一個完整的 AP + Controller 的解決方案。

OpenWISP 功能列舉:
  • VPN 通道建立
  • WiFi 存取點自動初始化與註冊
  • 自動化派送設定至新節點
  • 支援 Mesh 網狀無線網路系統
  • 派送 OpenWRT 支援裝置的所有設定
  • 採用 Python + django 開發,資料格式使用 NetJSON 
  • 支援 Ubiquiti AirOS 的設定派送 (尚在實驗階段)
  • 可自行定義派送內容,以支援各種不同類型的網路裝置作業系統
  • 支援地理資訊與室內地圖配置顯示功能
  • 支援網路拓樸產生與繪製功能
  • 支援 Radius 使用者驗證功能
  • 支援以 Ansible 快速安裝部署
  • 完全開放原始碼


OpenWISP 的理念是網路中立、隱私、開源、開放,提供容易自己擴充的彈性架構,並且防止解決方案被特定的廠商或硬體綁定,並在這個基礎上也支援 OpenWRT 以外較開放的產品如 Raspbian 與 AirOS。

OpenWISP 提供線上參考文件,也針對較主要的項目以影片方式提供教學。



地理資訊與室內地圖配置介紹




網路拓樸自動繪製功能介紹




裝置自動註冊功能介紹



VPN 與 x509 憑證管理介紹






結論

除了開源軟體,開源硬體、開源韌體都為我們帶來了無限的可能,就連無線網路基地台 (WiFi AP) 與無線網路控制器 (WiFi Controller) 都有開源方案可以使用,甚至最新的 Mesh 技術都能支援。

對使用者來說,能夠掌握的程度越多,自主的權利就越大。






參考資料