關閉/啟用 IPv6 臨時位址 (temporary address, privacy extensions)

    IPv6 環境已經沒有 NAT 這回事了(至少目前是這樣),使用 global IPv6 位址連上 internet 之後,就可以與其他人互通。

    一般來說 IPv6 位址 (128 bits) 由 Prefix 和 Interface ID 所組成。 Prefix 可視為網路編號,因此除非網路改號,否則是不變的。而 Interface ID 一般是用 EUI-64 的方法,參照 MAC 位址來產生的,所以只要是利用同一張網路卡,其 Interface ID 也就不會變。

    因此,雖然 IPv6 在 internet 直接互連可以增加效率、非常便利,但一直使用相同的位址,很容易被壞人盯上。所以 RFC 4941 定義了 IPv6 Privacy Extension,讓 IPv6 host 可以隨機產生 Interface ID,定期更換,以提高安全性。這樣的位址又有人稱為臨時位址 (temporary address)。

    因此,雖然 RFC 裡面建議預設不要啟動,但常用的作業系統 (Windows, Mac, Linux) 都會優先使用臨時位址連線。

    下面是開機後取得的 IPv6 位址,紅色匡線內的是臨時位址 (temporary address)。

    temporary address

     

    由下圖可以看到連線時所使用的位址是上圖中的臨時位址:

    From address

    雖然臨時位址提供了安全性,但從網管人員的角度來看,使用之後,反而變得很難追蹤,所以一般網管人員都不希望使用臨時位址。

    那麼怎麼關掉或啟用呢?

    • Mac:

    打開 Terminal.app,輸入下面指令:

    sudo sysctl -w net.inet6.ip6.use_tempaddr=0 (這個指令只會暫時關閉臨時位址功能,重新開機之後就會恢復)

    sudo sh -c ‘echo net.inet6.ip6.use_tempaddr=0 >> /etc/sysctl.conf’ (這個指令可使永久生效)

    若要啟用這個功能,則將上述指令中的 0 改為 1 即可。

    下圖說明關掉臨時位址之後 IPv6 位址就只剩預設的 EUI-64 位址了。

    EUI-64 Address

    Windows Vista/7/8/Server 2008:

    netsh interface ipv6 set privacy state=disabled store=active

    netsh interface ipv6 set privacy state=disabled store=persistent

    輸入之後,馬上生效,不需重開機。如果需要啟動,則只要將上述指令中的 disabled 改為 enabled 即可。

     

    發佈留言

    發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

    這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料