我已經配置與分配的IPv6地址以下接口& Ubuntu Linux操作系統的系統,如下所示:IPv6綁定失敗錯誤:無法分配請求的地址
的Eth0:鏈接ENCAP:以太網的HWaddr 00:50:56 :8D:57:64
INET地址:192.168.254.10 BCAST:0.0.0.0掩碼:255.255.255.0
INET6地址:FE80 :: 250:56ff:fe8d:六十四分之五千七百六十四範圍:鏈接
UP BROADCAST RUNNING MULTICAST MTU:1500公制:1
個RX數據包:74231424個錯誤:0下降:1超支:0幀:0
TX數據包:400372550個錯誤:0下降:0超支:0載體:0 碰撞:0 txqueuelen:1000個
RX字節:24514286488(24.5 GB)TX字節:115992171490(115.9 GB)Eth1的:鏈接ENCAP:以太網的HWaddr 00:50:56:8D:7C:4C
INET地址:192.168.1.10 BCAST:0.0.0.0掩碼:255.255 .255.0
inet6 addr:fe80 :: 250:56ff:fe8d:7c4c/64範圍:鏈接
inet6 addr:fc00:1234:1 :: 10/120範圍:全球
UP BROADCAST RUNNING MULTICAST MTU:1500公制:1個
RX數據包:434933479個錯誤:0下降:1超支:0幀:0
TX數據包:39666183個錯誤:0下降:0超支:0載體:0 碰撞: 0 txqueuelen:1000個
RX字節:126065364448(126.0 GB)TX字節:14437801257(14.4 GB)接口Eth2:鏈接ENCAP:以太網的HWaddr 00:50:56:8D:56:14
INET地址:192.168.2.10 Bcast:0.0.0.0 Mask:255.255.255.0
inet6 addr:fc00:1234:2 :: 10/120範圍:全球
INET6地址:FE80 :: 250:56ff:fe8d:六十四分之五千六百十四範圍:鏈接
UP BROADCAST RUNNING MULTICAST MTU:1500公制:1個
RX數據包:480068741個錯誤:0下降:0超支:0幀:0
TX包:34145702個錯誤:0刪除:0超支:0載波:0 碰撞:0 txqueuelen:1000
RX字節:146795537550(146.7 GB)TX字節:10045338657(10.0 GB)我想使用IPV6套接字進行套接字編程。我寫的代碼片段如下:
結構罪sockaddr_in6的
Ipv6_fdr =插座(PF_INET6,SOCK_DGRAM,IPPROTO_UDP)bzero(&罪,的sizeof(SIN));
sin.sin6_family = AF_INET6;
sin.sin6_port = htons(2152);
如果((setsockopt的(襪子,SOL_SOCKET,SO_REUSEADDR,&選擇,的sizeof(INT)))< 0)
的memcpy(&(sin.sin6_addr), 「FC00:1234:1 :: 10」,的sizeof(罪。sin6_addr));
如果((綁定(襪子,(結構sockaddr *)&罪的sizeof(罪)))< 0)編譯成功後,我越來越IPV6綁定失敗的錯誤與以下錯誤數&名:
EADDRNOTAVAIL 99/*無法分配請求的地址。
經過一定次數的IPV6綁定嘗試後,會引發Segmentation Fault錯誤。
這將是巨大的,如果有人可以幫助我在我在做什麼錯在這裏&爲什麼IPv6綁定失敗的原因?
僅供參考,地址「fc00:1234:1 :: 10」處於您不允許使用的保留範圍內。 ULA尋址位於'fc00 ::/7'範圍內,但該範圍的fc00 ::/8半部分保留給一個尚未命名的全局授權分配。 'fd00 ::/8'範圍的一半是爲本地分配打開的,但是您必須使用一個隨機數發生器來分配地址中的下一個40位。您似乎還有一個問題,即您沒有使用'/ 64'作爲網絡大小。如果您使用不同的網絡大小,IPv6中的許多內容可能會失敗。除了幾個例外,你應該使用'/ 64'網絡。 –
@RonMaupin我試着用你建議的/ 64網絡大小來改變我的IPV6地址。另外,我嘗試了各種前綴和不同網絡配置範圍的不同inet6地址。運行腳本仍然存在同樣的問題。 IPV6綁定失敗:無法分配請求的地址。請幫助我一樣。 – Kushal
我並沒有試圖解決你的問題。我試圖引導您進行正確的IPv6尋址,我不相信這是您發佈的問題,但如果您解決了當前的問題,它可能會帶來一系列不同的問題。 –