我正在构建一个设备,该设备由通过设备内部的以太网连接的几个子设备组成。设备将连接到客户网络。客户网络可以使用私有IP地址。与内部网络的地址冲突将是一个问题(连接到两个网络的子设备将被混淆)。不能选择IPv6。
我应该购买IPv4地址吗?或者,也许我可以摆脱使用TEST-NET-3(203.0.113.0/24)之类的麻烦?最佳做法是什么?
我正在构建一个设备,该设备由通过设备内部的以太网连接的几个子设备组成。设备将连接到客户网络。客户网络可以使用私有IP地址。与内部网络的地址冲突将是一个问题(连接到两个网络的子设备将被混淆)。不能选择IPv6。
我应该购买IPv4地址吗?或者,也许我可以摆脱使用TEST-NET-3(203.0.113.0/24)之类的麻烦?最佳做法是什么?
Answers:
@yoonix发送了可能有解决方案的链接。
本地链接,也称为APIPA。
169.254.0.0/16-这是“本地链接”块。如RFC3927中所述,它被分配用于单个链接上主机之间的通信。主机通过自动配置来获取这些地址,例如在找不到DHCP服务器时。
如果我是您的客户,我肯定会希望自己选择配置它和/或使用DHCP(我不知道,这也许是一个已经建立的标准了吗?),但是在没有这些正是APIPA应该用于的用途。
编辑-既然您现在声明解决方案中各个主机的IP地址必须是静态的,因为这些地址将与网关设备中的防火墙规则相对应,我想您需要花点精力才能使该IP地址与链接一起使用本地IPv4寻址;你说你不会花费的努力。因此,您基本上必须使它可配置。您可以附带一个默认值,即客户端不太可能使用的默认值,但是您必须具有一种在发生冲突时可以对其进行更改的机制。由客户,或由您作为实施/ UAT的一部分。
使其可配置。
我应该购买IPv4地址吗?
是的 试一试。首先,您不购买它们,而是通过成员资格“租赁”它们。其次,这需要一个AS和2个上行链路。第三,这有一个原因,“我们不想假设一个适当的网络基础设施”是导致笑声(和拒绝)的原因,而不是您分配IP地址的原因。
也许我可以摆脱使用TEST-NET-3(203.0.113.0/24)的困扰
可能吧 直到那天,由于严重的疏忽,有人要求oyu修理东西的费用。
最佳做法是什么?
使其可配置。或使用IPV6-在那里您可以进行一些保留。
来自维基百科: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。
从理论上讲,任何私有IP范围都可以被任何私有网络使用,因此我怀疑您会找到最佳实践,或者如果您对地址进行硬编码,那将是通用的任何方法。最佳实践是使其可配置,并允许客户端网络为设备分配专用地址(例如,通过DHCP)。
如果这不是一个选择,我发现几乎没有人使用的上半部分172.16.0.0/12
,所以这就是我所使用的。(172.25.0.0/16
确切地说,我想我正在上运行。)我尚未在其上发生地址冲突,并且我将VPN接入许多专用网络。
如果您必须使用IPv4专用地址,那么我认为这是您能够做到的最好的选择,因为该10.0.0.0/8
块被广泛使用,而该192.168.0.0/16
块几乎是所有内容的默认值,剩下的只有一个172.16.0.0/12
。当然,由于其他私有网络模块的广泛使用,此模块通常用于VPN,以避免地址冲突,因此请使用较高的地址,因为(以我的经验)它们是该模块中利用率最低的子网。
您的“主控制器”可以在其“内部”接口上运行DHCP服务器/提供DHCP租约吗?
过去,我为公司的一种可能有用的商业产品做过一些事情。该设备具有两个以太网端口,其中一个用于从PC进行“直接”连接。这个问题很相似。我们希望避免IP地址与客户的内部LAN(可能在专用IP网络上)以及整个世界发生冲突。
该设备上的逻辑是根据其“公共” LAN端口(eth0)上自己的IP配置,在“直接” LAN端口(eth1)上动态配置DHCP服务器(通过命令行选项“ udhcpc”)。无论设备是通过DHCP还是通过静态设置获取自己的IP地址,应用该设置的模块也将更改DHCP服务器配置以避免冲突。
例如,如果设备获得地址192.168.0.100/netmask 255.255.255.0(在eth0上),它将为下一个可用网络192.168.1.0/255.255.255.0配置自己的DHCP服务器(在eth1上)。
它将从以下网络之一(按优先级顺序)中进行选择:192.168.0.0/24 ... 192.168.254.0/24 172.16.0.0/16 ... 172.31.0.0/16 10.0.0.0/8
希望这可以帮助。
192.168.0.0/16
用作站点前缀,但仅使用来连接到VLAN 192.168.0.0/24
怎么办?192.168.1.0/24
即使我在同一站点的另一个VLAN上使用它,您也被劫持了。