我的意思是為每個主機分配一個 /64 嗎?
我一直在閱讀相互衝突的來源,並看到有關 CPE 路由器應如何分配 IPv6 地址的不同行為。
RFC3633似乎暗示每個主機都應該獲得 /64,而RFC6204表示路由器應該為每個 LAN 介面分配一個 /64(對於簡單的住宅網路,每個主機仍然是一個 /64,對吧?)
同時,我被分配了一個 /56(通過隧道),並且我有一個執行 OpenWRT Barrier Breaker 的路由器。
我電腦上的 SLAAC 只給我來自第一個 /64 的 IP;並且為了嘗試自動為每台電腦分配一個完整的 /64(而不是通過手動分配),我嘗試過的兩個 DHCPv6 伺服器(odhcpd 和 dnsmasq)仍然只在第一個 /64 中分配 IP。
更具體地說,使用 dnsmasq,我已經嘗試過
dhcp-range=2001:xxxx:e001:c501::,2001:xxxx:e001:c5ff::
,但它出現“不一致的 DHCPv6 範圍”錯誤,並dhcp-range=2001:xxxx:e001:c500::,56
給出“前綴長度必須至少為 64”。所以實際的 DHCPv6(和 SLAAC)似乎只為整個網路使用了一個 /64,但我只讀到每個主機都應該得到一個 /64。
那麼哪個是對的?
編輯:
如果整個網路的 /64 是住宅站點的“正確”分配,為什麼為每個站點分配 /56 或 /48 是目前最佳做法?
我的假設是每個主機都會被路由器分配一個/64。
PS,我的路由器介面上的 IP 如下所示:
$ ip -6 addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000 inet6 fe80::a2f3:c1ff:fed4:3678/64 scope link valid_lft forever preferred_lft forever 5: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 inet6 2001:xxxx:e001:c500::1/56 scope global valid_lft forever preferred_lft forever inet6 fdd0:da3b:f524::1/56 scope global valid_lft forever preferred_lft forever inet6 fe80::a2f3:c1ff:fed4:3678/64 scope link valid_lft forever preferred_lft forever 7: eth0.2@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 inet6 fe80::a2f3:c1ff:fed4:3678/64 scope link valid_lft forever preferred_lft forever 8: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000 inet6 fe80::a2f3:c1ff:fed4:3678/64 scope link valid_lft forever preferred_lft forever 22: sit1: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1280 inet6 2001:xxxx:f000::32af/128 scope global valid_lft forever preferred_lft forever inet6 fe80::7892:987e/64 scope link valid_lft forever preferred_lft forever inet6 fe80::c0a8:101/64 scope link valid_lft forever preferred_lft forever
每個廣播域都有一個 /64。如果您將主機隔離,因此每個子網應該只有一個,您可以為單個主機分配整個 /64。這主要用於伺服器,無論如何您都使用靜態 IP 分配。如果您發現需要 SLAAC 或有狀態 DHCPv6,您可能應該為整個網段分配 /64,而不是單個主機。
IPv6 通常對每個子網使用 /64。路由器向 LAN 發送路由器廣告或 RA。此 RA 包含 LAN 的基本設置,例如使用哪些前綴(通常是單個 /64)、路由器是否可以用作預設網關、是否允許主機自動配置以及是否有 DHCPv6 伺服器LAN(以及什麼樣的 DHCPv6 伺服器:有狀態或無狀態)。預設 DNS 解析器也可以在 RA 中發送。
是的,這意味著在沒有 DHCP 的情況下執行網路並讓一切自動執行完全沒有問題。
如果允許主機自動配置自己,它們將採用 RA 中宣布的 /64 並在 /64 中給自己一個或多個地址。可能讓您感到困惑的是,這顯示為 eg
2001:db8:aa:b::12ab/64
。這並不意味著主機獲得整個 /64,這意味著主機是LAN 上的 /64 的一部分,地址為2001:db8:aa:b::12ab
。DHCPv6 可以以兩種方式工作:有狀態和無狀態。有狀態類似於您在 IPv4 中所使用的:DHCP 伺服器為主機分配地址並為它們提供配置資訊,如 DNS 解析、NTP 伺服器等。無狀態更簡單:它只提供配置資訊。LAN 上可用的 DHCPv6 伺服器類型在 RA 中進行通信。
自動配置和無狀態 DHCPv6 的組合非常常見。