应如何为家庭网络分配 IPv6 地址?

应如何为家庭网络分配 IPv6 地址?

(这是在网络工程上被标记为离题,并建议移至此处)

我终于为我的网络获得了 IPv6 地址。能够在没有 NAT 中介的情况下进行 VoIP 和对等网络通信真是太棒了。我的(基于 Linux 的)路由器2aaa:::1234/64从 ISP 收到一个与 64 位 IPv6 子网(例如)相对应的 128 位 IPv6 地址。

我试图了解将 IPv6 地址分发到家庭网络中其他系统的正确、标准、灵活且面向未来的方法是什么。看来分配给路由器的 /64 块内的任何 2^64 个地址都将被路由到它。很好,但是……关于 IPv6 寻址和路由,有几件事让我感到困惑:

  1. 我了解到“标准” IPv6 子网不应小于 /64。如果是这样,那么具有 /64 地址的家用路由器应如何细分此网络以将其分配给网络内的不同设备?
    • 将同一个 /64 子网路由到两个都路由器的 Internet 接口和 LAN 接口?
  2. 忽略状态防火墙,一开始我似乎不需要路由器来做任何事情除了在其接口(面向 Internet 和面向 LAN)之间转发 IPv6 数据包之外。看来 IPv6 地址自动配置机制(SLAAC、DAD、RA)在某些情况下可以完全消除对中间路由器的需求;没有 NAT,没有 DHCP,什么都没有。
    • 我试过这个,但它似乎不适用于 Android 设备。如果我的路由器只是转发数据包,Android 设备就不会自行配置使用 IPv6;看来我需要 DHCPv6 来实现这一点。
  3. 前缀委托这是否是答案的一部分?我不清楚它到底意味着什么,但我相信它应该意味着 ISP 为我提供两个都面向 Internet 的 IPv6 /64 子网面向 LAN 的 IPv6 /64 子网。但我找不到 PD 的完整示例,而且可能存在偏差。
    • rdisc6,我的ISP只给我一个单身的/64 前缀…而不是像一些例子我可以找到。

我想归根结底是这样的:我有一个面向互联网的 IPv6 地址和 64 位 IPv6 子网。我向本地网络内的设备分发 IPv6 地址的首选标准合规且理想情况下简单且可移植的方法是什么?

答案1

一个 /64 前缀仅够用于单个网络,例如单个以太网 LAN。如果您想在更大的家庭网络上拥有多个单独的 IPv6 网络,例如单独的访客网络或单独的 IoT 网络,则需要您的 ISP 向您委托一个较短的前缀(更多地址空间),例如 /60,这将为您提供 16 个 /64 供您使用。出于各种逻辑原因,IPv6 前缀长度通常是 4 位的倍数。

让设备获取地址的标准方法是通过 SLAAC。它受到普遍支持,不需要任何额外设置。我不知道为什么您看到 Android 设备无法在您的网络上执行 SLAAC。这可能是您的网络或设备上需要排除的问题,而不是所有网络上所有 Android 设备的问题。

前缀委派是上游网络(路由器加 DHCP 服务器)告诉下游路由器下游路由器在下游侧应使用什么前缀的一种方式。如果您已经获得了多个 /64,并且在家中设置了多个单独的 IPv6 路由器,那么您可以在家中设置前缀委派,但这可能比它的价值更麻烦。只需手动为家庭中的每个 IPv6 路由器配置正确的前缀,并为网络前端 IPv6 路由器配置到这些路由器的静态路由,这会简单得多。

答案2

在 128 位 IPv6 地址上,它被分成两半,一半在网络端(第一端),另一半在主机端。您应该从 ISP 获得 2 个(更多,但答案太简单了)IPV6 地址。

与 IPV4 相同,您的外部接口将拥有一个固定地址,而您的网络将拥有一个内部 /64 地址。2001::

可能需要使用 SLACC 或 DHCPv6 进行一些配置。您需要查看路由器(DHCP 服务器)和 Android 设备设置以确保一切正常。

我不认为这是前缀指定

https://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/113141-DHCPv6-00.html

除非您还没有外部接口 IP;那么这将是一个 PPPoE 问题。

好的,总而言之,如果您只希望 /64 成为单一平面 LAN,那么您就可以开始了。如果您正在使用单独的网络,则可以将它们分解为 /127。/64 对于地址的网络端按预期运行至关重要。例如,如果您开始分发 /50,这会让您的主机设备崩溃。

如果您想发布更多信息,我们可以讨论一下。

如果有帮助请投票。

谢谢!!!

相关内容