Networking 将所有IPV6池/64地址添加到Ubuntu上的eth0

Networking 将所有IPV6池/64地址添加到Ubuntu上的eth0,networking,reverse-proxy,ipv6,Networking,Reverse Proxy,Ipv6,我想将应用程序绑定到网络接口上的不同IPV6地址。当前/64池已正确路由到我的服务器,我可以ping所有地址,但应用程序仍然无法绑定到它们,即使它们已添加到配置中 对于ex,我使用以下方法绑定池: ip route add local 2a01:xx:xx:xx::/64 dev lo 但是当我跑的时候 ip -6 address list 我看不到任何路由地址,所以我像这样逐个添加它们 ip -6 addr add 2a01:xx:xx:xx::1/64 dev eth0 我想我的应用程

我想将应用程序绑定到网络接口上的不同IPV6地址。当前/64池已正确路由到我的服务器,我可以ping所有地址,但应用程序仍然无法绑定到它们,即使它们已添加到配置中

对于ex,我使用以下方法绑定池:

ip route add local 2a01:xx:xx:xx::/64 dev lo
但是当我跑的时候

ip -6 address list
我看不到任何路由地址,所以我像这样逐个添加它们

ip -6 addr add 2a01:xx:xx:xx::1/64 dev eth0
我想我的应用程序无法绑定到它。有什么线索可以让我绕过,否则我将不得不创建一个带有巨大循环的bash脚本


该应用程序是一个Golang应用程序,我正在编写,但我也测试了Tinyproxy与BindSame选项仍然不工作

解决方案是将请求IP添加到应用程序逻辑中的当前接口。当然,这取决于应用程序上的安全措施

只要所有IP都正确路由到服务器

/sbin/ip route add local 2a01:xx:xx:xx::/64 dev lo
对于我使用Golang的前男友

exec.Command("/sbin/ip", "addr", "add", "2a01:xx:xx:xx::1/64", "dev", "eth0").Output()

一个接口可以有多个IPv6地址,但您需要分别配置每个地址。请记住,与IPv4不同,IPv6网络中的所有地址都是有效的主机地址,包括网络地址。如果在接口上配置2a01:xxxx:xxxx:xxxx::/64地址,则在接口上配置该地址。你不会活得足够长,无法将/64网络中所有可能的主机地址分配给一个接口,而且操作系统也不会让你这么做。谢谢你的回复!因此,任何解决方法都允许我使用这几百万个地址?这不是几百万个地址,而是在标准IPv6/64网络中可能存在的数百万个地址18446744073709551616。你的操作系统最多只能为一个接口分配几十个地址。每秒分配一百万个地址,你需要五十多万年才能分配所有地址,但你的操作系统甚至不会这样做。我明白……VPN呢?