讓用戶端只用 DHCPv6 的位址:IPv6 Prefix "no-autoconfig"

當 Router 的 M-bit (DHCPv6) 設為 1 後,用戶端除了會向 DHCPv6 Server 取得一個位址以外,仍然會使用 RA 所給的 Prefix 生成一個 SLAC 位址(Windows 與 Mac 會再生一個 privacy extension 的位址),總共取得/生成兩個 IPv6 位址(Windows 與 Mac 為三個)。Mac OS 的例子如下:

紅框中第一個是 SLAC 位址,第二個是 Privacy extension 位址,第三個才是 DHCPv6 發放的位址。

那麼如果為了追蹤方便,只希望用戶端只使用 DHCPv6 的位址,要怎麼辦呢?

只要設定 Router 在 Neighbor Discovery 時告訴用戶端不能使用該 prefix 自動設定位址(no-autoconfig)即可。指令如下

interface GigabitEthernet0/0
 ipv6 address 2001:B030:D900:62::/64 eui-64
 ipv6 nd prefix 2001:B030:D900:62::/64 172800 172800 no-autoconfig
 ipv6 nd managed-config-flag
 ipv6 dhcp server STATEFUL-DHCPv6

兩個 172800 秒指的是 valid time 與 life time。

設定之後,用戶端的位址就會只剩下 DHCPv6 取得的:

可能有人會問,不是有一個 ipv6 nd prefix no-advertise 的指令也可以做到嗎?

是的,雖然可以達到同樣效果,不過 “no-advertise” 這個指令會讓該 prefix 不會被送出,使用戶端不知道該 prefix ,而未來會視該 prefix 非本地端網路,如果要傳送封包到該 prefix 的端點,就會先送到 Router,再由 Router 送回 redirect 訊息,徒增 Router 的麻煩。

“no-autoconfig”這個指令則只是告訴用戶端不要使用該 prefix 來生成位址,因此可避免上述麻煩。

發佈留言

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