(本文摘錄自TWNIC編撰之 IP 基礎網路升級 IPv6 技術手冊 )
IPv4網路位址核發方式主要有固定位址配置及動態位址配置兩種。固定位址配置需要手動設定,主要應用於伺服器主機及網路設備,動態位址配置大多透過DHCP協定(Dynamic Host Configuration Protocol),由DHCP伺服器進行位址核發。
IPv6網路除保留手動設定固定位址的機制外,另提出無狀態定址自動配置(Stateless Address Autoconfiguration , SLAAC)的全新技術,可直接由路由器直接核發Prefix給用戶端主機,不需要再透過DHCP伺服器,主機得到Prefix後將結合自動產生的Host ID而產生IPv6位址。
透過SLAAC技術核發IPv6 Prefix時不會同時提供DNS伺服器位址,雖然後來修訂的SLAAC RDNSS技術已解決這個問題,但系統支援程度尚未普及。變通的方案是結合DHCPv6伺服器來提供DNS資訊,稱為Stateless DHCPv6。還有一種方式是將位址配置及DNS伺服器位址的提供均由DHCP負責,稱為Stateful DHCPv6,這個方式與傳統IPv4的DHCP相近,但仍有部分差異。
IPv6位址自動核發技術在DNS伺服器位址提供方面較為複雜,甚至部分作法可能無法提供DNS資訊給用戶端主機。幸運的是,在雙協定網路架構下,主機透過IPv4 DNS就可以查詢解析網域的IPv6位址,沒有IPv6 DNS伺服器也不會造成問題。等慢慢過渡到純IPv6的環境,相信到時候IPv6 DNS的問題早已有了更好的解決方案。
以下針對各種不同的IPv6位址配置技術提供進一步說明,各種IPv6位址核發技術之比較參閱附表:
(1) 人工配置位址(適合網路設備及伺服器主機):
與IPv4網路設定固定位址的做法相同,逐台主機人工配置IPv6位址、預設閘道與DNS伺服器位址。一般而言,路由器與DMZ伺服器的IPv6位址建議採用人工配置,以方便於防火牆設定資安政策,IPv6位址尾碼可以選擇與IPv4位址相同,便於管理及記憶。在使用固定位址的DMZ網段,建議要關閉RA (Router Advertisement)的發送,以避免成為資安漏洞。
(2) SLAAC+RDNSS(目前較適合智慧物件連網):
無狀態位址自動配置(Stateless Address Auto-configuration, SLAAC)是IPv6通訊協定才有的功能,做法是透過定期經由Multicast發出Router Advertisement (RA)的封包,網路上的主機經由RA會收到IPv6 Prefix(也就是Network ID)及Default Gateway的資訊,主機組合收到的Prefix及自動產生的Host ID(主機識別碼)即為該主機的IPv6位址。由於位址核發後即不再持續管理這個位址的使用情形,所以稱為「無狀態」。
上述提到的主機識別碼(Host ID)有兩種產生方式,一種是使用EUI-64運算法,從主機的MAC address轉換而來,另一種是使用亂數法產生。選擇使用哪一種方式的控制權在主機本身,以微軟作業系統為例,Win 7內定使用亂數法,Windows XP使用EUI-64,如要改變,可藉由cmd命令列介面使用下列指令修改:
netsh interface ipv6 set global randomizeidentifiers=disabled
netsh interface ipv6 set global randomizeidentifiers=enabled
SLAAC不支援發送DNS伺服器位址,雖然新修訂的SLAAC RDNSS標準已解決這個問題,但目前Cisco IOS及Windows作業系統均尚未支援。電腦主機對外連線大多透過DNS進行網域名稱與IP位址的解析,缺乏DNS將對網路連線造成極大不便。智慧物件通常不需要主動對外連網,網路環境也越單純越好,SLAAC標準將有助於物件連網的發展。
(3) SLAAC+Stateless DHCPv6 (適合不須嚴格資安查核場所)
這個做法是結合SLAAC及DHCPv6進行無狀態位址自動配置,RA負責IPv6位址及Default Gateway指配,DHCPv6則提供DNS伺服器位址及其他資訊(如NTP)。實作上是在路由器上設定發送O-bit為1的RA封包,用戶端主機收到RA會再向DHCPv6伺服器請求DNS伺服器位址,但Windows XP不支援DHCPv6,需外掛DHCPv6程式(http://klub.com.pl/dhcpv6/)。
SLAAC的機制並不會進行IPv6位址的更新維護及使用追蹤,所以稱為無狀態DHCPv6定址(Stateless DHCPv6)。在資安管理上不易由IPv6位址追蹤到使用者,因此比較適合不須嚴格進行資安查核管理的場所使用,例如私人家裡。
(4) Stateful DHCPv6(適合需要嚴格進行資安查核管理場所)
在這個做法裡RA只負責提供Default Gateway,IPv6位址配置(包括Prefix、Host ID)及DNS伺服器位址等資訊均由DHCPv6負責。實作上是設定RA封包的M-bit及O-bit均為1,用戶端主機收到RA會再向DHCPv6伺服器請求IPv6位址及DNS伺服器位址。(Windows XP需外掛DHCPv6程式,http://klub.com.pl/dhcpv6/)
由於DHCPv6會記錄IPv6位址與MAC位址的對應表,並經由定期位址更新維護使用紀錄,所以稱為全狀態DHCPv6位址自動配置(Stateful DHCPv6),對於需要嚴格進行資安查核管理場所是比較恰當的做法。由於DHCPv6無法提供Default Gateway的資訊,所以Stateful DHCPv6仍需要與RA配合運作,將來DHCPv6可能會發展出提供Default Gateway的機制,這樣就不需要RA的協助。
IPv6位址核發技術比較表
|
預設
閘道 |
位址
指配 |
DNS |
說明 |
人工配置位址 |
手動 |
手動 |
手動 |
手動設定無彈性且麻煩,但穩定可靠且較無資安疑慮。適合用於伺服器及網路設備。 |
SLAAC RDNSS |
RA |
RA |
RA |
簡單方便,但無法管理位址發放策略及保存位址使用紀錄,另外 Windows 作業系統還未支援 RDNSS 。適合使用於物件連網的應用服務。 |
Stateless DHCPv6 |
RA |
RA |
DHCP |
簡單方便,但無法管理位址發放策略及保存位址使用紀錄,可透過 DHCPv6 提供 DNS ,但 Windows XP 需外掛 DHCPv6 程式。適合家用環境。 |
Stateful DHCPv6
( 建議採用 ) |
RA |
DHCP |
DHCP |
可依據資安需要訂定位址發放策略及保存位址使用紀錄,但 Prefix 與 Gateway 分開管理,增加網路偵錯的難度,另外 Windows XP 需配合外掛 DHCPv6 程式。適合辦公室環境。 |