Jump to content

Openai/695f6baf-a8c0-8011-ab6c-15ca5129ef57

From freem


This conversation was exported from ChatGPT[1]

gpt-5-2[edit | edit source]

User: someone complained that TPLINK use 136 years as forever dhcp lease, is that a problem?[edit | edit source]

someone complained that TPLINK use 136 years as forever dhcp lease, is that a problem? any other vendor uses same method?

Assistant: Short answer: it’s not really a problem, and TP-Link is not unique.[edit | edit source]

Short answer: it’s not really a problem, and TP-Link is not unique. This is a very common engineering shortcut in DHCP implementations.

DHCP lease time is stored as a 32-bit unsigned integer in seconds.[edit | edit source]

  • Max value: 2³² − 1 = 4,294,967,295 seconds
  • Convert to years → ~136.19 years

So when a vendor wants to say “effectively forever”, they often just use the maximum possible value instead of inventing a special “infinite” flag.

👉 That’s exactly what TP-Link is doing.

###[edit | edit source]

For almost all home and SOHO networks:

  • The router will reboot long before 136 years
  • Clients will reboot, reconnect, or renew
  • The DHCP database will be cleared occasionally

So it behaves just like an “infinite lease”.

Only matter in unusual setups:[edit | edit source]
  1. IP exhaustion on poorly designed networks - If devices leave forever and never come back - More likely in cafés / labs / IoT-heavy environments
  2. Bad interaction with buggy clients - Some very old or broken DHCP clients mishandle huge lease values - Rare today
  3. Network changes - Long leases slow down IP renumbering or subnet changes

None of these are real issues for a typical TP-Link home router.

Yes — many do, explicitly or implicitly.[edit | edit source]

- TP-Link – ~136 years[edit | edit source]
  • MikroTik RouterOS – lease-time=forever
  • Cisco IOS / IOS-XE – lease infinite
  • Ubiquiti EdgeOS / UniFi – very large or “infinite” leases
  • Some ISP CPE routers – same 2³²−1 trick
- OpenWrt / dnsmasq – default 12h, configurable[edit | edit source]
  • pfSense / OPNsense – defaults like 24h, configurable
  • Enterprise DHCP servers (ISC, Kea, Windows Server) – usually hours or days

TP-Link just exposes the raw max value instead of hiding it behind the word “forever”.

Because it:[edit | edit source]

  • Reduces DHCP chatter
  • Makes devices keep the same IP forever (good for printers, TVs, NAS)
  • Simplifies implementation
  • Avoids support calls like “my device IP keeps changing”

For home users, long leases are usually a feature, not a bug.

You should avoid “forever” leases if:[edit | edit source]

  • You run a public / guest / enterprise network
  • You frequently rotate devices
  • You need tight IP management or auditing

In those cases, shorter leases (1–24 hours) are better.

- 136 years = “infinite” in DHCP math[edit | edit source]

  • Not dangerous
  • Very common across vendors
  • TP-Link is not doing anything weird or wrong

If you want, I can also:

  • Show how TP-Link stores this internally
  • Compare home vs enterprise DHCP design
  • Recommend best lease times for different network types

User: 中文[edit | edit source]

中文

Assistant: 簡短結論先講:[edit | edit source]

簡短結論先講: 不是問題,而且 TP-Link 並不特別,很多廠商都這樣做。

DHCP 的租期在協定裡是用 32 位元無號整數(秒) 表示的。[edit | edit source]

  • 最大值:2³² − 1 = 4,294,967,295 秒
  • 換算成年數:約 136.19 年

所以當廠商想表示「等同永久(forever)」時,最簡單的做法就是: 👉 直接填最大值

TP-Link 顯示的「136 年」其實就是這個最大值,並不是隨便亂設。

###[edit | edit source]

對一般家庭或 SOHO 網路來說:

  • 路由器不可能跑 136 年不重開
  • 用戶端(電腦、手機、電視)一定會重開或重新連線
  • DHCP 租約資料會被清掉

效果上就等於「永久 IP」。

1. IP 被佔滿 - 很多設備來過一次就再也不回來 - 常見於咖啡廳、實驗室、來客 Wi-Fi - 家用環境幾乎不會遇到[edit | edit source]
  1. 非常老或有 bug 的 DHCP 用戶端 - 可能處理不了超大的租期數值 - 現代系統(Windows / macOS / Linux / Android / iOS)基本沒問題
  2. 網路架構常變 - 想快速換子網、換 IP 規劃 - 長租期會讓舊 IP 留比較久

不是,這是業界常見做法。[edit | edit source]

- TP-Link:136 年(最大值)[edit | edit source]
  • MikroTik RouterOS:lease-time=forever
  • Cisco(IOS / IOS-XE):lease infinite
  • Ubiquiti(EdgeOS / UniFi)
  • 不少 ISP 提供的家用數據機

只是 TP-Link 直接顯示成「136 年」,而不是顯示「forever」。

- OpenWrt / dnsmasq:預設 12 小時[edit | edit source]
  • pfSense / OPNsense:常見 24 小時
  • Windows Server DHCP / ISC / Kea - 多用小時或天數

這類比較偏企業或進階管理用途。

因為它有好處:[edit | edit source]

  • 裝置 IP 不亂跳(印表機、NAS、電視很重要)
  • DHCP 流量更少
  • 實作簡單
  • 減少使用者抱怨「IP 怎麼一直變」

對一般家庭來說,長租期通常是優點。

如果你是:[edit | edit source]

  • 公共 Wi-Fi
  • 企業網路
  • 學校、辦公室
  • 裝置進出頻繁

那建議用:

  • 1~24 小時 的租期
  • 或搭配 MAC 綁定 / 保留 IP

- 136 年 ≈ DHCP 協定裡的「永久」[edit | edit source]

  • 不是 Bug,也不是 TP-Link 偷懶
  • 很多大廠都這樣做
  • 家用完全 OK,企業才需要短租期

如果你想,我也可以幫你:

  • 解釋 DHCP 封包裡實際怎麼表示
  • 比較 家用 vs 企業 DHCP 設計差異
  • 建議 不同使用情境的最佳租期設定

User: ASUS, NETGEAR, CISCO, DLINK, ZYXEL, HUAWEI 實際都怎做?[edit | edit source]

ASUS, NETGEAR, CISCO, DLINK, ZYXEL, HUAWEI 實際都怎做? 用時麼數值或公式?

Assistant: 下面用實際工程做法來回答你,不講行銷用語,直接講 「實際用什麼數值/怎麼表示」。[edit | edit source]

下面用實際工程做法來回答你,不講行銷用語,直接講 「實際用什麼數值/怎麼表示」。 先給總結表,再逐一說明。

一張表先看懂(重點)[edit | edit source]

| 廠商 | 對「永久 DHCP 租期」的實作 | 實際數值 / 表示法 | | ------- | --------------------------- | --------------------- | | ASUS | 超大秒數 | 2³²−1 秒 ≈ 136 年 | | NETGEAR | 超大秒數或 GUI 寫「Never」 | 通常是 2³²−1 | | CISCO | 協定級「infinite」 | 封包送 0xFFFFFFFF | | D-LINK | 超大秒數 | 多數是 2³²−1 | | ZYXEL | 超大秒數或長年數 | 100 年 / 2³²−1 | | HUAWEI | Enterprise:infinite 家用:超大秒數 | 0xFFFFFFFF 或 10–100 年 |

👉 結論先講:

幾乎全部最後都會落到 DHCP option 51 = 0xFFFFFFFF(136 年)

ASUS(家用路由器)[edit | edit source]

實際做法[edit | edit source]
  • ASUSWRT / ASUSWRT-Merlin
  • DHCP 服務:dnsmasq
表現方式[edit | edit source]
  • GUI 可能顯示: - 86400 days - 或換算成「數十年」
  • 封包裡: ``text Option 51 (IP Address Lease Time): 0xFFFFFFFF
    ===== 為什麼? =====
    
    dnsmasq 對「無限」的標準做法就是:
    c

lease_time = UINT32_MAX;

➡ 和 TP-Link 本質一模一樣。

==== NETGEAR ====

===== 家用 / SOHO 路由器 =====
* GUI 常寫: - Never - 或 Forever

===== 實際送出的 DHCP =====
* 還是 最大秒數

4294967295 秒 ≈ 136 年

===== 為什麼不用 0? =====

因為:
* DHCP 規範中 0 不是「永久」
* 有些 client 會直接判定為錯誤

==== CISCO(這裡要分清楚) ====

===== Cisco IOS / IOS-XE(企業設備) =====

CLI:

text

ip dhcp pool LAN

lease infinite
===== 實際 DHCP 封包 =====
* 不是魔法
* 還是:

text Option 51: 0xFFFFFFFF

Cisco 只是把這件事包裝成「infinite」這個關鍵字。

==== D-LINK ====

===== 家用路由器 =====
* 介面常顯示: - 36500 天 - 或非常大的年數

===== 封包層級 =====
* 幾乎清一色:

2³²−1 秒

===== 舊型韌體 =====
* 偶爾用: - 100 年 - 50 年
* 但新韌體已幾乎統一用最大值

==== ZYXEL ====

===== 家用 / 中小企業設備 =====
* GUI 有時會寫: - 36500 days - 或「Permanent」

===== 實際實作 =====
* 兩種常見: 1. 直接 </code>0xFFFFFFFF<code> 2. 內部寫死「100 年」,再轉秒數(仍在 32-bit 安全範圍內)

➡ 結果對 client 來說 完全一樣

==== HUAWEI(差異最大的一家) ====

===== Enterprise(路由器 / 防火牆 / OLT) =====
* CLI:

text lease infinite

- 實際封包:

0xFFFFFFFF

===== 家用 CPE / 光世代數據機 =====
* 常見值: - 10 年 - 20 年 - 50 年 - 或 136 年

原因是:
* 某些 ISP 有內部政策
* 避免「永久」在管理系統裡看起來怪怪的

==== 為什麼大家都用同一個數值? ====

===== 因為 DHCP 規範 沒有「∞」 =====

RFC 2131 只定義:
* 租期 = 秒數(uint32)
* 沒有「永久」這種型別

===== 所以業界約定俗成: =====

text

∞ = UINT32_MAX = 0xFFFFFFFF

``

這不是 TP-Link 發明的,是 整個網路業界的默契。

一個工程師視角的總結[edit | edit source]

  • 136 年不是亂來
  • 是 DHCP 協定下的「數學極限」
  • ASUS / NETGEAR / D-LINK / ZYXEL / HUAWEI / CISCO 👉 全部本質一樣
  • 差別只在: - GUI 顯示方式 - CLI 有沒有寫成 infinite

如果你有興趣,我也可以幫你:

  • 抓 實際 DHCP 封包(Wireshark)給你看
  • 解釋 為什麼不用 0 秒
  • 分析 為何企業網路反而不愛永久租期

你比較想看哪一個?

References[edit | edit source]

  1. "DHCP Lease Duration Issues". ChatGPT. Retrieved 2026-01-09.