IPv6位址配發技術介紹

(本文摘錄自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命令列介面使用下列指令修改:

  • 使用EUI-64計算Host IP:

netsh interface ipv6 set global randomizeidentifiers=disabled

  • 使用亂數法計算Host IP:

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 程式。適合辦公室環境。