我有一个分配了 /64 IPv6 的 VPS。当我尝试使用块中的一个 IP 卷曲时,这是我得到的错误:
curl --interface '2a02:c207:2010:1077::2' http://example.com
curl: (45) bind failed with errno 99: Cannot assign requested address
Run Code Online (Sandbox Code Playgroud)
我到底需要做什么来解决这个问题?以 root 身份登录时,我不应该能够在机器上使用任何 IP 吗?
基本上我只需要能够使用分配给 VPS 的任何 IPv6 进行卷曲。
Vin*_*ent 14
经过一些测试,我发现以下命令有效:
$ curl -g -6 'http://[fe80::3ad1:35ff:fe08:cd%eth0]:80/'
接口 'eth0' 是启用了 ipv6 的接口,因此您可能需要将其替换为其他内容。
以防万一,测试ipv6的telnet命令:
$ telnet -6 fe80::3ad1:35ff:fe08:cd%eth0 80
从man curl
--interface 指定接口,例如 eth0:1
curl --interface eth0 -g -6 'http://[2606:2800:220:1:248:1893:25c8:1946]:80/index.html' -H 'Host: www.example.com'
Run Code Online (Sandbox Code Playgroud)
感觉就像您期望curl 操纵机器的接口来添加然后使用特定的 /128 ?如果您愿意,您可能必须编写自己的 shell 包装器。