再次向网络接口添加整个 /64 块!

再次向网络接口添加整个 /64 块!

好吧,对于这个问题有很多不同的答案。某人和我有同样的问题。

以下是我从所有现有答案中尝试过的方法:

  • 禁用 DAD 并启用非本地绑定:
sysctl net.ipv6.conf.eth0.dad_transmits=0
sysctl net.ipv6.ip_nonlocal_bind=1
  • 然后我尝试做一些事情这里
ndppd 
# (warning) Low prefix length (64 <= 120) when using 'static' method
# it's running in a seperate screen btw, i didn't terminate it 

ip add add local 2a09:7c40:0:f::/64 dev lo
# ignored the route command, because i already had it configured
# ignored the sysctl, because i already had it enabled

curl --interface 2a09:7c40:0:f::2145 https://api64.ipify.org/
# the curl command didnt work, it timeouted

# had the same ip assigned to loopback and ens3, so i tried removing it from ens3:
ip addr del 2a09:7c40:0:f::/64 dev ens3

curl --interface 2a09:7c40:0:f::2145 https://api64.ipify.org/
# the curl command still didnt work, it timeouted

也许该curl --interface选项不适用于非本地绑定,所以我尝试执行相同的先前命令,但我将 curl 替换为自由绑定

freebind -r 2a09:7c40:0:f::/64 -- wget -qO- ipv6.wtfismyip.com/text

但就像之前的所有事情一样,它也不起作用。

对于厌倦了这个问题的人来说,有一个解决这个问题的方法,你可以在每次需要时添加一个地址,如下所示:

ip -6 address add 2a09:7c40:0:f::2145/64 dev ens3
curl --interface 2a09:7c40:0:f::2145 https://api64.ipify.org/
ip -6 address del 2a09:7c40:0:f::2145/64 dev ens3

但对于同时使用大量 IP 的情况,这种解决方法并不奏效。

因此,问题是:我怎样才能让这个东西最终发挥作用呢?

编辑:这是 ip -6 route 的输出

root@ghp:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2a09:7c40:0:f::/64 dev lo proto kernel metric 256 pref medium
fe80::/64 dev ens3 proto kernel metric 256 pref medium
default via 2a09:7c40::1 dev ens3 metric 1024 onlink pref medium

如果在路由表中设置了 lo 接口,则会出现无法路由到主机的情况;
如果设置了 ens3 接口,则会出现超时的情况

相关内容