我从我的提供商(vultr)那里收到了一个 IPv6 子网 /64。许多人都在问如何将整个子网分配给接口。据我所知,最简单的选择是ip addr add 2001:4860:4860:abcd::/64 dev eth0
。这对于子网中任何 IP 的传入请求都很好。但我如何将它们用于传出请求?使用此命令,我的传出 IP 是 2001:4860:4860:abcd::,但我想使用范围内的任何 IP,例如2001:4860:4860:abcd:c37:a324:40f3:98fd
。这可能吗?或者这与发出请求的程序直接相关?
答案1
您必须选择“一些”并将它们添加到接口中。“一些”的定义由您决定。
然后,您将让您的客户端软件选择它的传出 v6 地址(如果它支持)以在地址之间轮换。
用户空间软件无法凭空选择一个 IPv6 地址并将其用作源(即使用标准套接字调用)。可以说,这超出了用户空间软件的“薪酬等级”。您必须在 OS/内核级别将地址分配给您的 NIC。