Windows – DHCP

Loading

測試環境為 Windows server 2016 x64 (虛擬機)

在設定 DHCP 前,需在 Control Panel\Network and Internet\Network and Sharing Center 設定好 Static IP (v4 與 v6)

  • IPv4 – 192.6.1.1/24
  • IPv6 – 3ffe:501:ffff:100::1/64
    IPv6 使用 128Bit 的位址空間,其中的 3ffe:501:ffff:100::1 就是 IPv6 的簡寫,簡寫規則如下:

    • 每 32Bit 如開頭之4bit表示為0,即可省略,若32Bit全為0,則可簡寫為0
    • 若連續完整之32Bit段落皆為 0000,則可全省略,簡寫為::,但以一次為限

    而 “64” 就類似 IPV4 的 subnet mask.

設定好可以透過 ipconfig 來檢視一下.

C:\Users\Administrator>ipconfig

Windows IP Configuration


Ethernet adapter Ethernet0:

   Connection-specific DNS Suffix  . : localdomain
   Link-local IPv6 Address . . . . . : fe80::dc:8a5e:2eee:5b0f%2
   IPv4 Address. . . . . . . . . . . : 192.168.95.199
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.95.2

Ethernet adapter Ethernet1:

   Connection-specific DNS Suffix  . :
   IPv6 Address. . . . . . . . . . . : 3ffe:501:ffff:100::1
   Link-local IPv6 Address . . . . . : fe80::c054:2187:4d98:4840%6
   IPv4 Address. . . . . . . . . . . : 192.6.1.1
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 0.0.0.0

Tunnel adapter isatap.localdomain:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Tunnel adapter isatap.{56095FF2-3CE5-43D7-AB57-A92397B456F8}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

於對於 IP v6 有興趣的請參考關於 IPv6 的位址指派 (address auto-configuration) ,可以區分為下列幾種.

  • Link Local (預設值,不須設定)
    IPv6 中每個網卡都會有屬於自己的 link-local address,這位址跟網卡的 MAC Address 是相關的.可以參考 https://benjr.tw/17341
  • 透過 Router Advertisement (RA)
    RA (Router Advertisement) 這功能通常是由 Router 來提供.
  • 透過 Dynamic Host Configuration Protocol v6 (DHCPv6)
    不使用 RA 的方式,須透過 DHCPv6 來得到 IPv6 位址.接下來介紹.

安裝 DHCP

透過 Server Manager / Add roles and features / Role-based or feature-based installation 新增 DHCP Server

設定 DHCP IPv4

Server Manager / Servers / Server Name 右鍵 選擇 DHCP Manager 來新增 IPv4 scope

Exclusion , Router , DNS , WINS 就看需要.

那 Client 端是如何透過 DHCPv4 來獲得 IPv4 資訊呢!!

DHCP Client 向 DHCP Server 要求 IP 時主要的四個動作 ( DHCPDISCOVER , DHCPOFFER , DHCPREQUEST , DHCPACK ),如果能看到這四個動作,這就代表 Client 已經成功獲得 IP ,下面 Client 是正確透過 DHCP 獲取 IP 的過程.

15:42:31.013004 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:02:b3:af:b2:82, length 314
15:42:32.013978 IP 192.10.0.2.67 > 192.10.0.20.68: BOOTP/DHCP, Reply, length 300
15:42:32.014176 IP 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:02:b3:af:b2:82, length 320
15:42:32.039599 IP 192.10.0.2.67 > 192.10.0.20.68: BOOTP/DHCP, Reply, length 300

主要 DHCP Client (Port 68 , 使用廣播封包 broadcast ) 與 DHCP Server (Port 67) 透過四個動作 ( DHCPDISCOVER , DHCPOFFER , DHCPREQUEST , DHCPACK ) 來獲得 IP (使用 UDP).

設定 DHCP IPv6

IPv6 的位址長度為 128 位元,是由兩部分的位址組成, 網路位址(Network Prefix) + 主機位址(Host ID),而這 Prefix 就類似於 IPv4 的 Netmask.以 Prefix 64 為例 (寫法為 /64 ) 就代表128位元的位址中,前 64 位元為網路位址(Network Prefix),前面設定的 Static IPv6 的 Prefix 為 64,所以這邊一樣為 /64 prefixes.


DHCP6 Range 為 3ffe:501:ffff:100:0:0:0:1 ~ 3ffe:501:ffff:100:FFFF:FFFF:FFFF:FFFF

那 Client 端是如何透過 DHCPv6 來獲得 IPv6 資訊呢!!

類似於 IPv4 的 DHCP ,客戶端主要使用 UDP port 546 而服務器端使用 UDP port 547 .雖類似於 DHCPv4 但不同的是 IPv6 已經不使用 Brocast 的方式.

假如 Server 的 link-local address 是 fe80::0011:22ff:fe33:5566/64
以及 client 的 link-local address 是 fe80::aabb:ccff:fedd:eeff/64

主要會透過下面的步驟讓 Client 得到 IP (v6).
過程中會使用 IPv6 multicast addresses
ff02::1:2 – All DHCP servers and relay agents on the local network segment (defined in RFC 3315)

  1. DHCPv6 client sends a Solicit from [fe80::aabb:ccff:fedd:eeff]:546 for [ff02::1:2]:547.
  2. DHCPv6 server replies with an Advertise from [fe80::0011:22ff:fe33:5566]:547 for [fe80::aabb:ccff:fedd:eeff]:546.
  3. DHCPv6 client replies with a Request from [fe80::aabb:ccff:fedd:eeff]:546 for [ff02::1:2]:547.
  4. DHCPv6 server finishes with an Reply from [fe80::0011:22ff:fe33:5566]:547 for [fe80::aabb:ccff:fedd:eeff]:546.

dhcpv602
這些資料都可以在 RFC 3315 / Dynamic Host Configuration Protocol for IPv6 (DHCPv6) 找到.

建立 DHCP 安全性群組

最後還需要設定 DHCP 安全性群組

沒有解決問題,試試搜尋本站其他內容

發佈留言

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

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