我是 IPv6 新手,正在尝试弄清楚如何从不同的 IPv6 地址发送请求。我该怎么做?
我购买了一个测试 VPS,上面说他们提供了/112 IPv6 range
。首先,这到底是什么/112
意思?我的理解是他们提供了一些 IPv6 范围,VPS 的所有者(我)可以选择他想要使用的 IPv6。因此应该有很多 IPv6 可能性,我想测试一下。如果我发出此curl
请求curl http://v4v6.ipv6-test.com/api/myip.php
,结果是2a00:1630:66:d7::ae4c
。与 相同curl --interface 2a00:1630:66:d7::ae4c http://v4v6.ipv6-test.com/api/myip.php
。
现在,如果我的 VPS 具有许多 IPv6 可能性的 IP 范围,我该如何选择另一个 IPv6 来发送请求,以便目标服务器也能看到另一个 IPv6?2a00:1630:66:d7::ae4c
我可以编辑哪些符号,以便我的 VPS 能够绑定到这些符号?不确定我的解释是否合理,所以我尝试了以下方法:
curl --interface 2a00:1630:66:d7:1111:ae4c http://v4v6.ipv6-test.com/api/myip.php
curl: (45) Couldn't bind to '2a00:1630:66:d7:1111:ae4c'
的输出ifconfig
如下:
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
venet0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:127.0.0.2 P-t-P:127.0.0.2 Bcast:0.0.0.0 Mask:255.255.255.255
inet6 addr: 2a00:1630:66:d7::ae4c/64 Scope:Global
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
RX packets:11896 errors:0 dropped:0 overruns:0 frame:0
TX packets:1446 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:17548894 (16.7 MiB) TX bytes:113342 (110.6 KiB)
venet0:0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:192.168.1.237 P-t-P:192.168.1.237 Bcast:192.168.1.237 Mask:255.255.255.255
UP BROADCAST POINTOPOINT RUNNING NOARP MTU:1500 Metric:1
答案1
表示/112
地址的前缀。这也是 IPv4 的常用符号。本质上,它告诉您设置了多少位来标识网络。其他位可以自由引用该网络上的主机。考虑阅读子网划分的工作原理(SU 上有很多问题,网上也有很多资源)。
对于 IPv6,这取决于您的配置。检查您的ifconfig
或ip
或ipconfig
取决于系统,您应该能够看到您当前的网络配置。它应该包括有关您当前 IPv6 地址的信息。
当你拥有一个使用 IPv6 的整个网络时,你可以以静态方式设置它们(服务器常用),也可以研究类似IPv6 隐私扩展。它能发挥神奇的作用,帮助您的常规客户保持更多的隐私。
答案2
不确定这是否是问题所在:
源 IP 地址取自网络接口。如果您有不同的主机(或一台主机上的不同网络命名空间),您可以在每个接口上分配不同的 IP(或者让操作系统使用 MAC 地址自动配置不同的 IP,如果您设置了它,并且它获取了前缀)。然后,ping
在不同主机/命名空间上执行的应用程序(例如)将使用此地址。
另一种选择是在同一主机/命名空间上创建具有不同 IP 地址的多个网络接口,或为同一网络接口分配多个 IPv6 地址。在这种情况下,您必须指示您的应用程序绑定改为您要使用的 IP 地址(例如ping -S ...
)。并非所有应用程序都可以做到这一点。
如果您有一个针对此 IP 范围的单个主机,我建议使用网络命名空间,或者您可以使用使用网络命名空间的基础设施(Docker 等)。