我正在构建一个设备,该设备由设备内部通过以太网连接的多个子设备组成。该设备将连接到客户网络。客户网络可以使用私有 IP 地址。与内部网络的地址冲突将是一个问题(连接到两个网络的子设备会混淆)。IPv6 不是一种选择。
我应该购买 IPv4 地址吗?或者我可以使用 TEST-NET-3 (203.0.113.0/24) 或类似的地址?最佳做法是什么?
答案1
@yoonix 发送了一个可能有解决方案的链接。
本地链路,也称为 APIPA。
169.254.0.0/16 - 这是“本地链路”地址块。如 RFC3927 中所述,它分配给单个链路上的主机之间的通信。主机通过自动配置获取这些地址,例如当找不到 DHCP 服务器时。
如果我是您的客户,我肯定会希望有自己配置这个和/或使用 DHCP(我不知道,这可能是一个长期确立的标准?)的选项,但在没有这些的情况下,这正是 APIPA 应该用来做的事情。
编辑 - 鉴于您现在声明解决方案中各个主机的 IP 地址必须是静态的,因为这些地址将对应于网关设备中的防火墙规则,我想您需要付出一些努力才能使其与链路本地 IPv4 寻址配合使用;您说您不会花费这些努力。因此,您基本上有使其可配置。您可以将其设置为默认设置,即客户端不太可能使用的默认设置,但您必须有一种机制,以便在发生冲突时可以更改它。无论是由客户端更改,还是由您作为实施/UAT 的一部分更改。
答案2
来自维基百科:
Assigned as "TEST-NET-3" in RFC 5737 for use solely in documentation and example source code and should not be used publicly.
- 这告诉我您不应该使用 TEST-NET-3。您似乎忽略了一件事:如果您没有为客户端网络配置设备的 IP 地址,您认为您如何能够与设备通信或设备如何能够与其他设备通信,反之亦然?如果您在客户端网络中未使用的网络中分配 IP 地址(您:192.168.1.0/24 - 他们:10.0.0.0/8),那么您认为网络通信将如何工作?这就是为什么您应该将设备配置为开箱即用 DHCP,并允许客户端随后对其进行静态配置。
如果您不能使用 DHCP,那么请使用 APIPA。
答案3
使其可配置。
我应该购买 IPv4 地址吗?
是的。试试看。首先,您不需要购买它们,而是通过会员资格“租用”它们。其次,这需要一个 AS 和 2 个上行链路。第三,这需要一个理由,“我们不想假设一个适当的网络基础设施”是一个导致嘲笑(和拒绝)的理由,而不是您获得分配的 IP 地址。
或者我可以使用 TEST-NET-3 (203.0.113.0/24)
有可能。直到有一天,有人因为严重疏忽而向你索要修理费。
最佳做法是什么?
使其可配置。或者使用 IPV6 - 这样您就可以摆脱一些保留。
答案4
我们正在设计完全相同的东西,并决定使用带有随机 fc00:nnnn 前缀的 IPv6 站点本地地址。