2015年12月8日 星期二

使用IPv6

因為中華電信現在開放光世代客戶上網申請IPv6,我就去申請了,然後發現...

Ubuntu 15.04會取得兩個global link v6的IP,一個是亂數產生,一個是後64bits使用網卡Mac位址。而在CentOS 7裡頭,只有一個使用Mac位置的v6 IP。

在IPv6無狀態自動設置會使用Mac位置IP(RFC 4291),因為這個IP不會變動,存在隱私的疑慮。

為了解決以上的問題, Privacy Extensions (RFC 4941)就誕生了,除了原本使用的Mac位置IP之外,還有一個亂數產生的IP,而且會定期更換IP。但是這在某些情況下會造成問題,例如IP在被更換之後,被網站或應用程式認定已登出。而且RFC 4941沒有替代Mac位置的v6 IP,這代表隱私洩漏依然有可能發生。

RFC 7217試圖解決上述的問題,這裡產生的IP是根據演算法所產生的『相對固定』IP,在同一個子網路之下,不管硬體如何更換IP都是相同的,但是主機移到不同的子網路就會產生不同的固定IP,並且確保這個演算法是單向的。因為是固定IP,要進行管理也變得簡單。

目前看來,每個作業系統的實做都不太相同。CentOS 7因為使用NetworkManager 1.0.0,所以只支援Mac位置IP。而Ubuntu 15.04的NetworkManager是0.9.10.4,卻支援Privacy Extension(打了patch?)。Win7也會有兩個IP,其中一個是『臨時IPv6位址』,應該就是依據Privacy Extensions所產生的,不過另一個卻不是Mac位址IP?

NetworkManager在1.2版之後也會支援RFC 7217。