我一直在阅读相互矛盾的来源,并看到有关 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
Run Code Online (Sandbox Code Playgroud)
IPv6 通常每个子网使用一个 /64。路由器向 LAN 发送路由器广告或 RA。该 RA 包含 LAN 的基本设置,例如使用哪些前缀(通常是单个 /64)、路由器是否可以用作默认网关、是否允许主机自动配置自己以及是否有 DHCPv6 服务器LAN(以及什么样的 DHCPv6 服务器:有状态或无状态)。也可以在 RA 中发送默认 DNS 解析器。
是的,这意味着在没有 DHCP 的情况下运行网络并让一切自动运行完全没有问题。
如果允许主机自动配置自己,它们将采用 RA 中公布的 /64 并在该 /64 中为自己提供一个或多个地址。可能让您感到困惑的是,这显示为 eg 2001:db8:aa:b::12ab/64。这并不意味着主机获得整个 /64,这意味着主机是LAN 上地址为 /64 的一部分2001:db8:aa:b::12ab。
DHCPv6 可以以两种方式工作:有状态和无状态。Stateful 类似于您在 IPv4 中使用的内容:DHCP 服务器为主机分配地址并为它们提供配置信息,如 DNS 解析、NTP 服务器等。无状态更简单:它只提供配置信息。LAN 上可用的 DHCPv6 服务器类型在 RA 中进行通信。
自动配置和无状态 DHCPv6 的组合非常常见。
| 归档时间: |
|
| 查看次数: |
696 次 |
| 最近记录: |