愛伊米

親情無斷片,網路不掉線——我的家庭網路改造小記

Matrix 首頁推薦

文章代表作者個人觀點,少數派僅對標題和排版略作修改。

前言

當然每家每戶的情況都很不一樣,本文我就以我老家三次網路結構調整的一些經驗和問題為主,詳細講講怎麼讓家中的老人用上舒心的網路。

正文

我家是一個二〇一〇年代中後期的房子,在交房之初國內還處於百兆寬頻普及的階段,因此家庭的基礎網路佈線還是不錯的——做到了 Cat。5e 線布到每個房間,這為之後鋪設良好網路建立的良好的條件。但是開發商仍然留了不少暗坑給我,下面讓我們先整理一下最開始的網路拓撲結構。

拓撲梳理

最開始我們先看看我家的的結構圖以及弱電箱

親情無斷片,網路不掉線——我的家庭網路改造小記

家中的戶型,以及網口分佈圖

可以看的出幾個主要活動的區域的網口覆蓋還是相當到位的,但是弱電箱在走廊中間的儲物櫃中且只有一點點大,塞滿了裝置的弱電箱簡直慘不忍睹:

親情無斷片,網路不掉線——我的家庭網路改造小記

開發商留下的弱電箱

讓我們梳理一下弱電箱中的各個部分和模組的功能:

GPON 光貓

:負責光纖入戶以及播號,同時需要供給電話訊號。

百兆交換機模組兩個

:負責全屋網路交換,共計兩個 12 根網線。

電話線交換模組

:負責電話訊號撥入以及分發。

有線電視分配器

:負責分配有線電視訊號。

電源

:負責供給弱電箱中的電能。

數字電視線

:負責電視盒子(類似 IPTV)的數字接入,連線在交換機上。

體積不大的弱電箱裡塞下了滿滿當當的線纜與模組,從目前的配置上來看,實現百兆網路明顯是沒有問題的,但是百兆交換機也限制了網路的最高速度,如果寬頻提速,很有可能落實不到家中的任何一個終端上。而僅靠在鐵質弱電箱中光貓的 Wi-Fi 訊號,覆蓋全屋也非常勉強。並且區域網和數字電視網線連線在同一個沒有管理功能的交換機上,也非常容易造成廣播風暴,網路卡頓等問題。

在最開始為了解決 Wi-Fi 覆蓋的問題,選用了小米的 AX3600 與 AX1800 組成了一個無線 Mesh,分別放置在客廳以及書房中,組成了如下拓撲結構:

親情無斷片,網路不掉線——我的家庭網路改造小記

第一階段

可以看的出來,最開始的拓撲結構問題非常多。兩個主力無線路由器由於使用了 DHCP 的方式上網,且小米路由器並沒有轉換成有線中繼模式,家中的無線網路和有線網路不在同一個 NAT 中。簡單的來說並不在一個網段中,且不能正常的進行區域網通訊。這樣做的結果會讓有線裝置無法和無線終端進行廣播通訊,比如說連線著網線的電腦並不能讓連線著無線訊號的印表機列印文件。並且雙層 NAT 也會讓網路效能也會受到一定的影響。

有關於網路以及 NAT 的詳細介紹可以閱讀這些文章:

加上這個時期家中添置了 Apple TV 以及 NAS,寬頻也因為種種原因升級到了 300Mbps,老舊的百兆交換機顯然並不適合現在的家庭網路。因此這個脫離時代的產物最終被決定拆除,但是考慮到弱電箱的大小和市面上其他 16 口交換機的體積,最後我選擇了傻瓜式的 8 口千兆交換機:

親情無斷片,網路不掉線——我的家庭網路改造小記

傻瓜式千兆交換機

配合體積小巧的 R2S 軟路由放在弱電箱中播號上網:

親情無斷片,網路不掉線——我的家庭網路改造小記

NanoPi R2S

而兩臺無線路由器也被我改成 AP 模式(有線中繼模式)重新組成了有線 Mesh 網路。這個階段的網路拓撲如下:

親情無斷片,網路不掉線——我的家庭網路改造小記

到這個階段家庭網路改造完成之後,基本上可以算是讓父母舒適的網路了,Apple TV 可以正常觀看 NAS 中的影片,印表機等在區域網中的裝置也可以直接進行訪問列印。

這個階段主要最佳化的專案是:

光貓改為橋接模式,讓整個家庭區域網中僅保留一層 NAT,提升網路效能的同時加強連通性。

兩臺胖 AP 組成了有線 Mesh,提高了子節點的網路速度。

第二階段

但是第一階段的改造其實也有很多問題:

由於華數入戶線是百兆網線,很容易把傻瓜交換機的其他千兆網口也協商成百兆速度。

ARM 架構的 R2S 不夠穩定,在使用僅僅兩個月之後就當機無法重啟工作。

多個廣播域重合,容易造成廣播風暴。

對於第二點,好在當時在家中留了一個災備路由器,連線上 WAN 與 LAN 之後不影響父母正常上網。也正好壞掉的時間正值清明假期前期,在假期回家探望父母的同時進行了第二階段的網路改造,主要目的:

更換主路由到更加穩定的 X86-64 架構

隔離華數數字網線訊號,防止交換機的埠被協商成百兆網口,或者產生廣播風暴。

但是 X86-64 的路由器和其電源的體積都比 R2S 大了一個數量級,小小的弱電箱中無法同時塞下這麼多裝置。即使放下,在弱電箱中塞入一個功耗可能接近 20W 的小主機後散熱也是一個問題。不過既然要同時隔離華數的數字訊號,就必須用到

網管型交換機

和 VLAN (虛擬區域網)這項技術,而 VLAN 也可以幫助我們進行單線複用,讓路由器不在弱電箱中播號。透過 VLAN 劃分光貓入戶的 WAN 以及華數電視的 IPTV,還有區域網裝置的 LAN 三個網段。就可以在避免廣播風暴的情況下,讓路由器在弱電箱之外的地方播號上網。同時也不干擾電視盒子的正常觀看。

這次改造結束之後的拓撲圖如下:

親情無斷片,網路不掉線——我的家庭網路改造小記

路由器我選擇放在了客廳電視櫃中,這樣僅用兩個網管型交換機就完成了網路的升級。

這個階段我做的改進主要有:

騰出了弱電箱的空間,讓三層裝置更好被維護。

隔離了 IPTV WAN LAN 三個網路,避免網路風暴以及網口協商速度問題。

更換了相容性更好的 X86 架構的路由器裝置,保證網路穩定性。

第三階段

第二階段的改造從網路結構上看已經沒有太大的問題了,但是在經歷過兩次小區斷電,X86 路由器無法正常重啟,在裡面的播號上網服務也無法正常執行的重大網路危機事件之後。我意識到使用自己 DIY 的路由器用作家庭主路由器並不算一個明智的選擇。家庭內也僅有兩臺 Apple TV 需要使用 DIY 路由器提供網路服務。原本的拓撲結構出了問題管理和排查問題需要耗費的時間過多等等問題。我決定把家中的交換和路由裝置遷移到 Ubiquiti Inc。 旗下的 Unifi 系統中進行統一管理。

在之前的網路改造中,迫於弱電箱的大小我選用了 8 口的交換機,而決定遷移到 Unifi 全集桶之後正好其系列產品中有一款 16 口 PoE 交換機—— USW-Lite-16-PoE,這款交換機支援 8 口 PoE/PoE+ 的供電輸出,全部埠都可以進行 VLAN 管理:

親情無斷片,網路不掉線——我的家庭網路改造小記

USW-Lite-16-PoE

先簡單介紹一下 Ubiquiti Inc。 旗下的 Unifi 裝置,這是一個為了中小型企業以及家庭設計的企業級網路裝置系列,由於其使用者介面簡潔明朗,產品 ID 設計優秀這些優點深深的抓住了我的心。而不同於普通家用的無線路由器,使用 Unifi 裝置搭建網路一般需要這些:

控制器:接管和配置所有 Unifi 裝置的統一管理中心,可以是 Ubiquiti 銷售的專用控制器(硬 AC),也可以安裝在 PC / Mac / Linux 甚至是 Docker 中(軟 AC)。

安全閘道器:也就是通俗意義上的路由器,用於家庭網路的播號上網,以及防火牆等功能。

交換機:Unifi 系列的交換機都可以在同一的控制器 UI 中配置,這一點相比於傳統網管型交換機需要一臺一臺逐一配置體驗是完全碾壓的。

無線 AP:用於發射 Wi-Fi 訊號,但是不具備家用無線路由器一樣播號上網功能。也可以組成無線 Mesh。

為了將來可能會有的透過 PoE 供電的 AP 升級,我決定把弱電箱整理一遍以放下這臺 USW-Lite-16-PoE 交換機。順便,為了更好的維護和管理,我做了這些:

整理電話線:

由於家中僅有一臺固定電話,因此我拆除了電話線交換模組,並且整理了弱電箱中的電話線,把需要的一根直連到光貓上。

整理有線電視線:

由於家中僅有兩臺電視需要有線電視服務,我拆除了有線電視模組替換成了體積小巧的 1 分 2 分配器。

整理網線:

原本網線在弱電箱中預留的長度很長,極大的佔用了弱電箱空間。我剪去了多餘的網線,並且使用配線架與介面模組的方式整理了網線,並且配以標籤以便排查問題。需要連線到交換機時,僅需從配線架上連線一根跳線即可。

親情無斷片,網路不掉線——我的家庭網路改造小記

親情無斷片,網路不掉線——我的家庭網路改造小記

最終整理把三組主要的線材整理完畢之後,我的弱電箱也剛好夠放下 USW-Lite-16-PoE 這款交換機,來看一下我的整理成果:

親情無斷片,網路不掉線——我的家庭網路改造小記

整理完成的弱電箱

有了 PoE 供電,原本放在客廳的網管交換機也可以換成支援 PoE 供電的 USW-Flex-Mini 五口交換機,減少一根電源線對理線來說意義重大,小巧的體積也可以隱藏在各種櫃子的背面:

親情無斷片,網路不掉線——我的家庭網路改造小記

USW-Flex-Mini

而路由器我則採用了和第二階段一樣的方式 —— 放在客廳播號上網,只不過從原本的 X86 路由器換成了 Unifi Security Gateway ,也就是 Unifi 系列的安全閘道器( USG ):

親情無斷片,網路不掉線——我的家庭網路改造小記

Unifi Security Gateway

USG 作為家中的路由器,負責撥號上網,DHCP 伺服器,以及防火牆功能。而其他的上網功能,我仍然放在原本的 X86 路由器上,只不過作為旁路閘道器放到了 NAS 所在的雜物間。關於旁路閘道器大家可以閱讀這一篇文章:

全部遷移到 Unifi 之後,最大的優勢就可以在統一的 Web 介面同時管理所有的 Unifi 裝置,包括其 IP 地址,埠上的 VLAN 設定,以及主路由的網段劃分:

親情無斷片,網路不掉線——我的家庭網路改造小記

Unifi Network 的網頁端 UI

並且還有配套的手機 app 和 WebRTC 遠端控制技術,讓我即使身處廣域網也可以檢查家裡裝置的狀態並進行相應的調整。

親情無斷片,網路不掉線——我的家庭網路改造小記

Unifi Network 的 iOS 端 APP

而原本的 X86 主路由則被我連線到了拓撲的下端,作為旁路閘道器為幾個特定的裝置提供閘道器功能,同時在 Unifi 控制器中專門為需要進行透過旁路閘道器的裝置劃分出了一條 VLAN 和子網:

192.168.2.0/24

。DHCP 設定則讓在這個子網的所有裝置的閘道器,指向 X86 路由器。這樣僅需在手機上控制需要更換網段的裝置所連線的交換機埠配置,就可以輕鬆改變終端所在的網段,閘道器以及 DNS 等配置:

親情無斷片,網路不掉線——我的家庭網路改造小記

旁路閘道器結構

需要注意的是,因為 USG 以一個企業級三層網路裝置,因此不同的網段只要最終閘道器都指向 USG,那不同網段中的裝置也可以互相訪問,只是無法進行廣播通訊。但是 USG 也具有 mDNS 反射功能,可以把家中的 HomeKit 智慧家居發出的資訊,反射到所有網段中,實現跨網段的廣播通訊。

那現在來看看我家的網路拓撲結構

第三階段網路結構

總結一下這次改造最佳化的事情:

網路裝置換成了更加穩定且容易管理的 Unifi 系列。

整理了弱電箱,讓維護升級更加容易。

使用專業的路由裝置播號,保證主網路的絕對穩定性。

增加旁路閘道器和專用網段,以應對不同的上網需求嗎,如果旁路網關出現問題不會影響到主網裝置,透過遠端配置也可以讓旁路網段的裝置重新加入主網。

遠端維護

硬體部分搭建完成,但是免不了偶爾需要重新連接回家裡進行網路維修。這時候我一般會用以下這些方法:

遠端桌面

遠端桌面應該是各位遊子最熟悉的方式了,如果你和家中的人都使用 Mac 系統,那麼系統自帶的「螢幕共享」最為方便,只需要輸入對方的 Apple ID 就可以直接遠端控制:

親情無斷片,網路不掉線——我的家庭網路改造小記

而如果不是 Mac 系統,我則會用 VNC Server/Viewer(需要在被遠端的電腦上安裝伺服器)

親情無斷片,網路不掉線——我的家庭網路改造小記

VNC Viewer

只需要在 Server 和 Viewer 上登陸同一個賬號,就可以進行遠端配置。

公網 IP 埠轉發

如果在你的老家,運營商恰好給你家分配了公網 IP ,那麼用埠轉發進行遠端維護是一種方便且快捷的選擇。

埠轉發(Port forwarding)

就是將一臺主機的網路埠轉發到另外一臺主機並由另一臺主機提供轉發的網路服務。

簡單的來說就是,稍加設定你的路由器就可以轉發一個區域網裝置的一個埠號到廣域網上。這樣透過你家的公網 IP 就可以在任何地方配合埠號進行訪問。訪問的地址可以透過公網 IP 直接進行訪問,也可以透過 DDNS 服務託管到域名上,使用域名進行訪問。

在使用埠轉發之前,首先要確定你是否有公網 IP。確定的方法也很簡單,只需要進入到你的路由器後臺,檢視 WAN 口所獲的的 IP 地址,再在百度中搜索 IP ,如果查詢到的 IP 和你家 WAN 口獲的的 IP 地址一致,那麼恭喜你,你擁有「公網 IP」。

下面以 Unifi 控制檯為例,一般來說「埠轉發」的選項都在路由器的「防火牆」子選項中:

親情無斷片,網路不掉線——我的家庭網路改造小記

在名稱,埠,需要轉發的 IP 以及埠中填入對應的數字和 IP 之後,就完成了埠轉發。你的區域網網裝置埠就會暴露在公網下,可以在任何地方進行訪問。

但是需要注意的是,在國內 80 埠和 443 埠是會被運營商遮蔽的,因此需要選擇其他的埠號。而直接把 HTTP 頁面暴露在公網上其實也不安全,建議選擇各類路由器的 HTTPS 埠進行公網轉發,且使用者名稱和密碼都使用較為複雜的排列,並進行定時更換,以保證網路安全性。有些路由器也有限制訪問該埠 IP 的功能,設定你所在地的 IP 地址也會讓埠轉發更加安全。

ZeroTier 內網穿透

如果你家沒有公網 IP 或者你想選用一種更加安全的連結方式,那麼 ZeroTier 也許是個不錯的選擇。

ZeroTier 是一種開源加密的 VPN 服務,但是這個 VPN 並不是大家廣義認知的 VPN ,只是 ZeroTier 透過加密鏈路,在你安裝了它的裝置之間虛擬出一個區域網絡供你訪問,你今需要在位址列輸入 ZeroTier 為你的裝置生成的區域網 IP 地址,就可以連線到你的內網裝置。

我們以 Mac 與 QNAP 為例:

親情無斷片,網路不掉線——我的家庭網路改造小記

首先在 ZeroTier 的網站上註冊一個賬號,並且建立一個網路

這時候頁面下方會生成一個網路,你只需要記住生成網路的 NETWORK ID 即可。

然後在你的終端裝置上安裝 ZeroTier 服務,你可以在這裡找到各個平臺的安裝檔案。

在 Mac 上,下載並安裝 ZeroTier 後

親情無斷片,網路不掉線——我的家庭網路改造小記

在下方輸入你的 NETWORK ID 並且點選 Join Network。

在 QNAP 上稍微複雜一些,下載並且安裝 QNAP 的安裝包之後,使用 Admin 賬號 SSH 進 QNAP 的終端,輸入 檢查 ZeroTier 是否安裝成功。如果出現如下介面之後就可以用 加入 ZeroTier 區域網。

親情無斷片,網路不掉線——我的家庭網路改造小記

晚上上面的步驟之後,再進入 ZeroTier 官網,選擇你想要裝置地址所在的網段:

親情無斷片,網路不掉線——我的家庭網路改造小記

然後啟用所有加入網路的裝置:

親情無斷片,網路不掉線——我的家庭網路改造小記

等到 Managed 上顯示出有效 IP 之後,就可以直接在電腦端輸入 IP 地址進行管理訪問了。

和埠轉發不同的是,ZeroTier 這種形式的虛擬區域網,可以直接訪問加入網路裝置的所有埠,而不需要為想要訪問的埠一個一個設定埠轉發,並且由於使用了加密連線,在一定程度上也比埠轉發更加安全。

Site to Site VPN

相比上面介紹的兩種方式,Site to Site VPN 設定起來更加簡單,但是需要的條件也更高——在 Unifi 網路中,需要連線的兩個網路都擁有「公網 IP 」才可以搭建 Site to Site VPN。這裡以 USG 的 Site to Site VPN 設定為例:

親情無斷片,網路不掉線——我的家庭網路改造小記

僅需要填寫遠端的公網 IP 地址,和本地的公網 IP 地址,在設定好遠端子網的網段就可以完成 Site to Site VPN 的設定。

完成設定之後,你就可以在你所在的位置訪問連線 VPN 另一端的所有子網的裝置,而無需像 ZeroTier 一樣每個裝置需要單獨設定且需要執行程式才能訪問。你的區域網和老家的區域網透過 Site to Site VPN 可以虛擬出一個大型區域網以便管理和訪問。

不過需要注意的是,不管用哪種方法遠端回家,前提條件是家裡的閘道器裝置沒有出問題,這也是為什麼我在第三階段改造的時候選用了 Ubiquiti 出品的專用安全閘道器(USG)以保證主網路的絕對穩定性。只有這樣,才可以在需要維護的時候不麻煩父母一個一個位置排查,從外地遠端就能幫助他們解決問題。

以上也僅是我使用過的幾個遠端管理方式,如果你知道其它優秀的穿透或打洞方案也可以用於遠端維護。

結語

折騰這麼多,無非是希望遠在異地的父母能用上舒適的網路。總結一下給老家改造的網路需要遵循下面幾點:

選用品牌商的路由器作為主閘道器。

維護過程需要簡潔簡單。

留好災備裝置。

在經過一年的磕磕碰碰的學習之後,自己也明白了其實老人們最大的需求是穩定,在穩定的基礎上去創造附加功能才是最優的解法。

在此也祝願各位新年快樂,新的一年網路通順永不掉線!

> 實用、好用的正版軟體,少數派為你呈現