/64 IPv6サブネットを専用ホストに割り当てました/etc/network/interfaces
(ディストリビューションはDebian Squeezeです)
iface eth0 inet6 static
address 2a01:4f8:XXXX:YYYY::2
netmask 64
gateway fe80::1
ここで、cURL (PHP 5.3.22-1~dotdeb.0) を取得して、そのサブネットの特定の IP アドレス pe を使用する2a01:4f8:XXXX:YYYY::3
ようにしたいので、コードは次のようになります。
curl_setopt($this->_curl, CURLOPT_INTERFACE, '2a01:4f8:XXXX:YYYY::3');
curl_setopt($this->_curl, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V6);
実行するcurl_exec
とbind failed with errno 99: Cannot assign requested address
. なぜこれが起こるのですか?で各 IPv6 アドレスを /128 として定義すると/etc/network/interfaces
、次のようになります。
iface eth0 inet6 static
address 2a01:4f8:XXXX:YYYY::2
netmask 128
up ip -6 addr add 2a01:4f8:XXXX:YYYY::3/128 dev eth0 preferred_lft 0
gateway fe80::1
その後、すべて問題なく、cURL は::3
IP を使用します。しかし、私の意図は、サブネットから多くの IP (実際には多くの IP) を使用することであるため、これは実際的ではありません。cURL が /64 サブネットのサブ IP を割り当てられない理由を知っている人はいますか?