我知道 ip 工具允许您将多个地址绑定到一个接口(例如,http : //www.linuxplanet.com/linuxplanet/tutorials/6553/1/)。不过现在,我正在尝试在 IPv6 之上构建一些东西,拥有完整的地址块(例如 /64)会非常有用,这样程序就可以从范围中选择任何地址并绑定到那个。不用说,将这个范围内的每个 IP 附加到一个接口需要一段时间。
Linux 是否支持将整个地址块绑定到接口?
Ger*_*mbs 32
Linux 2.6.37 及更高版本通过名为AnyIP的功能支持这一点。例如,如果我跑
ip route add local 2001:db8::/32 dev lo
Run Code Online (Sandbox Code Playgroud)
在 Ubuntu 11.04 机器上,它将接受 2001:db8::/32 网络中任何地址的连接。
是的,Linux 支持将网络地址块绑定到网络接口……但仅限于环回接口。所以你可以这样做:
ip addr add 192.168.5.0/24 dev lo
Run Code Online (Sandbox Code Playgroud)
然后这样做:
$ nmap -sP -oG - 192.168.5.0/24
# Nmap 5.21 scan initiated Tue Dec 7 11:38:28 2010 as: nmap -sP -oG - 192.168.5.0/24
Host: 192.168.5.0 () Status: Up
Host: 192.168.5.1 () Status: Up
Host: 192.168.5.2 () Status: Up
[...]
Host: 192.168.5.254 () Status: Up
Host: 192.168.5.255 () Status: Up
# Nmap done at Tue Dec 7 11:38:46 2010 -- 256 IP addresses (256 hosts up) scanned in 0.11 seconds
Run Code Online (Sandbox Code Playgroud)
有了适当的路由,这将满足您的需求……对于 IPv4 地址。您问过 IPv6,而我对 IPv6 没有任何经验,但很有可能它会以相同的方式工作。
我最初在这里读到了这个(在文章的底部)。请注意,本文还讨论了如何使用我以前不知道的 CentOS/Red Hat 功能为接口显式分配多个地址。
归档时间: |
|
查看次数: |
11822 次 |
最近记录: |