在法國用 Orange 的 Livebox 跑 DDNS 更新:IP 一直沒變的實測

这篇内容暂时只有 繁體中文 版本,以下是原文。

家裡的 Livebox 4(韌體版本我沒特別記,就是 Orange 這幾年一直在推的那版)後面接了一台跑 Debian 12 的小主機,上面有幾個只給自己用的服務。問題是 Orange 的固態 IP 不是標配,我這條光纖拿到的公網位址會變,於是想用 DDNS 把域名指回家。

做法很直接:在 Debian 上裝 ddclient,每五分鐘抓一次外部 IP,跟 DNS 記錄比對,不同就送更新。設定大概長這樣:

protocol=dyndns2
use=web, web=https://api.ipify.org
ssl=yes
server=update.example-dns.net
login=我的帳號
password='我的密碼'
我的域名

排程用 systemd timer,OnUnitActiveSec=5min,順便開 Persistent=true,重開機不會漏掉一次。

機制上其實沒什麼特別:ddclient 抓到 IP 後打供應商的更新 API,對方比對來源 IP 和記錄,不同才改。代價是每五分鐘一次外部請求,流量可以忽略,但如果供應商的 API 掛了,ddclient 預設會一直重試,log 會長得很快。我把 max-interval 壓到 300 秒,並且在 logrotate 裡把它的記錄另外切開。

真正讓我卡住的是另一件事。有段時間域名一直指到舊 IP,我以為是 ddclient 壞了,查了半天才發現 Livebox 自己也在跑某種 DDNS 功能(Orange 的介面裡有選項),兩邊搶著更新同一筆記錄,誰後寫誰贏。把 Livebox 那邊關掉之後就穩了。

還有一個邊界:如果外部 IP 抓取用的服務(我當時用 ipify)被限流或暫時不通,ddclient 會拿到空值,有些版本會直接跳過更新,有些會把記錄清掉。我後來加了 if-skip 之類的保護,並且在 cron 裡多跑一個健康檢查,發現超過三十分鐘沒成功就寄信給自己。

你們在法國用 Orange 或 SFR 的盒子時,DDNS 是交給盒子自己跑,還是像我一樣丟給內網主機?如果盒子重開機後會主動覆蓋記錄,你們是怎麼處理的?

0
赞同度 100% · 0 条评论 · 2 阅读

0 条评论

支持 Markdown · 回复会实时推送给对方

还没有评论,写下第一条。