家庭網路改造計畫 3.0

什麼?這玩意已經出到3.0了?

大家好啊,今天又來給大家分享我家裡面的網路了,距離上次分享已經過去了整整四年(第二版)!

image-20251122205916804

網頁備份:https://web.archive.org/web/20210923211002/https://blog.icecliffs.cn/studying/202108162147.html

和以往不太一樣的是,這次有了更完整的規劃,有了更充足的資金,這也讓我有了更多的精力來支配自己的網路。本次最大的亮點就是全屋用上了小米智能家居以及全屋接上了千兆內網(從百兆網提升到千兆網那真他媽是一個質的飛躍啊!我他媽樂死)。萬兆網因為家裡暗管問題不太好弄,並且全屋FTTR造價費用太高(家裡戶型比較奇怪),所以就放棄萬兆內網。整個佈線計畫只用了一個下午,師傅上門看地->回去整裝設備->全屋線路改造->後續測試除錯。施工場景沒能拍下來,給大家看看幾百公尺的牆內網路線吧。

image-20251122210531879

線路改造完畢後,下一步就是改造機櫃和伺服器。這裡機櫃我選擇了常用的家庭網路機櫃,計算設備由原先的Dell R710伺服器換成了3台N100低功耗小主機+一台黑群暉NAS。

image-20251122210654967

並且路由器也從古老的RT5300升級到了GAMING小旋風(還是忘不掉華碩),然後分別做了MESH組網和電信業者自帶的內網穿透。具體費用如下(包含歷史設備):

  • 牆內網路線改造,150公尺,285元
  • N100準系統一台,430元
    • 32G 3600MH 三星記憶體條,230元
    • 1T 國產固態硬碟,330元
  • N100準系統一台,550元
    • 8G 3600MH 三星記憶體條,100元
    • 256GB 固態硬碟,120元
  • N100準系統一台,450元
    • 16G 3600MHZ 記憶體條,200元
    • 256GB 固態硬碟,120元
  • 黑群暉準系統 J4125,560元
    • 16G 記憶體條,150元
    • 4T 機械硬碟(4張),2000元
    • 256GB 固態硬碟,120元
  • 千兆交換機,100元
  • 綠聯超6類網路線(10條),120元
  • 樹莓派 3B+ 2G,280元
  • 華碩 TUF GAMING 小旋風(2台),600元
  • 公牛 PDU 排插,50元
  • 若干機櫃風扇,50元
  • 防爆機櫃本體,180元

總計:7025人民幣(浮動,部分硬體設備按市場下行購入,並四捨五入)

(上述配置僅供參考,為一般家庭無業人員【我】所用配置,可自行則需增刪配件)

然後就是智能家居改造,這個比較簡單,基本上就換換開關和設備啥的(換開關時記得斷電操作,避免觸電身亡)。給大家看看大致的設備情況。

image-20251122212407033

目前只在我房間進行試驗性改造,後續還會繼續疊加。具體支出如下:

  • 美的空調(國家補貼置換),3000元
  • 智慧插座(三個,包含一個大功率,兩個小功率),120元
  • 智慧開關(四個),180元
  • 米家智慧循環電風扇,280元
  • 米家迷你桌面電風扇,100元
  • 米家空氣清淨機,350元
  • 米家溫濕度感測器(兩個,一個放機櫃【大的】,一個放臥室【小的】),80元
  • 紅米電視機,4000元
  • 酷太科充電樁,155元
  • 米家智慧飲水機,280元
  • 米家智慧監控,180元
  • 小愛音箱中樞(補天線下挑戰賽頭獎贈品),算100元?,算了不算了

總計:6725人民幣(浮動,部分支出四捨五入)

目前仅部署了上述设备,后续还会在加,可能有人会好奇电费,这里我选择的是全低功耗方案,所以一个月电费折算下来也就67.8出头(按照一个月120度,每度0.565来进行计算),虽说如此,但目前无业在家电费还是我在交,有点难受了

image-20251122213303416

後續可能會考慮MPPT光伏發電方案,不然一個月600出頭的電費還是太几把哈人了

img

然後就是網路改造,這個和以往的網路沒什麼差別,無非就是把兩台交換機劃分了一下VLAN,現在我的內網拓撲如下

graph TD
    subgraph 互联网
        A[ISP 互联网服务提供商]
    end

    subgraph 家庭网络边界
        B[光猫
运营商公网IP] end subgraph 核心网络区域 C[第一台路由器
主防火墙/NAT/转发] D[交换机] end subgraph 服务器网络区域 E[第二台路由器
计算服务/内网穿透] F[NAS 主机] G[小主机 1] H[小主机 2] I[树莓派] end subgraph 无线客户端区域 J[无线接入点
(第二台路由器提供)] K[Mac] L[iPad] M[iPhone] N[智能家居设备] end A --> B; B --> C; C --> D; D --> E; D --> J; E --> F; E --> G; E --> H; E --> I; J --> K; J --> L; J --> M; J --> N;

第二台路由器负责全區計算服務流量轉發和服務穿透,穿透之前需要經過第一台路由器(實際轉發機器),並且第一台路由器做了ACL和VLAN劃分,直接用第一台路由是不能訪問到第二台路由器的部分服務。然後就是一些基礎軟體服務,例如飛書 Hook 轉發、一些內部網路監控服務、一些內部網路掃描服務,部分機密資訊這裡不再放出

image-20251122214410908

這裡給大家分享一個我自己寫的公開網路 IP 變換監控飛書通知小腳本,大家可以自己改成開機自動啟動服務

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import requests
import time
import json
FEISHU_WEBHOOK = "https://open.feishu.cn/open-apis/bot/v2/hook/{{您的WebHook}}"
last_ip = None

def get_public_ip():
urls = [
"https://api.ipify.org",
"https://ifconfig.me/ip",
"https://ipinfo.io/ip"
]
for url in urls:
try:
resp = requests.get(url, timeout=5)
if resp.status_code == 200:
return resp.text.strip()
except Exception:
continue
return None

def send_to_feishu(text):
payload = {
"msg_type": "text",
"content": {"text": text}
}
try:
resp = requests.post(FEISHU_WEBHOOK, headers={"Content-Type": "application/json"}, data=json.dumps(payload))
if resp.status_code != 200:
print(f"[錯誤] 飛書發送失敗: {resp.text}")
except Exception as e:
print(f"[錯誤] 飛書異常: {e}")

def monitor_ip(interval=60):
global last_ip
print(f"開始監控公開網路 IP,每隔 {interval} 秒檢查一次...")
while True:
current_ip = get_public_ip()
if not current_ip:
print("[錯誤] 無法取得公開網路 IP")
else:
if last_ip is None:
last_ip = current_ip
print(f"目前 IP: {current_ip} (首次記錄)")
send_to_feishu(f"目前 IP: {current_ip} (首次記錄)")
elif last_ip != current_ip:
old_ip = last_ip
last_ip = current_ip
msg = f"公開網路 IP 發生變化: {old_ip} -> {current_ip}"
print(msg)
send_to_feishu(msg)
else:
print(f"目前 IP: {current_ip} (無變化)")
time.sleep(interval)

if __name__ == "__main__":
monitor_ip(interval=60)

基本上本次改裝就是這樣,共計13725元人民幣(浮動,部分價格支出隨市場而變化),後續還會對設備進行添加。有了NAS我終於實現了看動畫自由,爽到不行啊,家人们!我的追番日记 https://iloli.moe/bangumi/

image-20251122215129609

台灣大哥大和中華電信現在連線不到了🫠

诶嘿