可以分配给给定计算机的IP的最大数量是多少?


13

对于linux服务器,我确实需要知道这一点,但是由于它也适用于客户端操作系统,因此我认为应该在此处提出问题,而不是服务器故障。

Answers:


16

根据对此帖子对linux-net邮件列表的答复,

  • 某一时刻,Linux内核每个物理接口设备限制为255个别名。
  • 从Linux内核2.2版开始,没有(实际的)限制,第二个响应引用了个人经验,即为单个以太网卡别名了5,000多个地址。

当然,将大量别名绑定到单个设备会带来内存需求,并且可能会影响性能,因此,即使内核本身没有限制,您的硬件也很可能会限制您可以添加的别名数量。


无需为此创建别名。ip addr add可以将地址绑定到单个设备。
伊格纳西奥·巴斯克斯

3
是的,它是通过将其他地址别名到同一设备来实现的。无论别名是否命名为(eth0:0),它仍然是别名。当然,ip(8)手册页的作者选择不使用“别名”一词,因为它将所有地址都视为相等,几乎世界上的大多数人都同意将多个地址分配给同一接口称为“ IP别名”。
Dave Sherohman 2011年

1
在某个时候,我需要为单个主机分配许多IPv6地址,而当我达到4000个地址时,邻居发现就中断了。在
两次


3

最多为4,294,967,294个IP地址(假设您在谈论IPV4,您有足够的RAM,而我们为广播地址和网络地址都取出了一个)。


0

linux内核具有一项称为AnyIP的功能,该功能使您可以通过linux环回接口来回答IPv4或IPv6地址的连续块,而DRAM / CPU的成本却很少。

例如,假设我希望我的linux机器回答10.7.0.0/16中的任何地址:

  • 在linux系统上,添加本地路由: ip -4 route add local 10.7.0.0/16 dev lo
  • 要求您的网络工程师发布10.7.0.0/16的路由,该路由指向您执行此操作的计算机的eth0地址。

恭喜,您现在可以回答大量的地址(在此示例中,超过65,000个地址),并且本次练习几乎没有占用RAM。在可伸缩性方面,此解决方案比在eth0上为要回答的所有IP添加单独的接口别名更好。

您可以回答多少个地址没有限制。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.