全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 1231|回复: 11

哪位大佬会Docker容器分配外网独立ipv6

[复制链接]
发表于 2023-10-19 19:39:29 | 显示全部楼层 |阅读模式
本帖最后由 …沧ネ月ザ 于 2023-10-19 19:40 编辑

弄2小时了,头发开始掉了。来论坛求帮助。
现在的问题是,容器内可以ping通 ipv6.google.com
vps跟容器ipv6也可以相互ping通,但是外面访问不了容器的独立ipv6
容器自动分配的外网IPV6是3a13:a402:1:a10c:4000:242:ac11:2
附上基本信息:
VPS网卡信息:
  1. # Generated by SolusVM

  2. auto lo
  3.   iface lo inet loopback

  4. auto ens3
  5.   iface ens3 inet static
  6.    address 75.114.170.178
  7.    gateway 75.114.170.1
  8.    netmask 255.255.255.0

  9. iface ens3 inet6 static
  10.         address 3a13:a402:1:a10c::2
  11.         netmask 64
  12.         gateway 3a13:a402:1:a000::1
  13.         autoconf 0
  14.         dns-nameservers 2001:4860:4860::8888 2001:4860:4860::8844
复制代码


Docker配置/etc/docker/daemon.json文件信息
  1. {
  2.   "experimental": true,
  3.   "ipv6": true,
  4.   "ip6tables":  true,
  5.   "fixed-cidr-v6": "2a12:a302:1:a10c:4000::/66"
  6. }
复制代码
发表于 2023-10-19 19:47:50 | 显示全部楼层
本帖最后由 five 于 2023-10-19 20:10 编辑

sysctl net.ipv6.conf.ens3.proxy_ndp=1
ip -6 neigh add proxy docker下的ipv6 dev ens3
 楼主| 发表于 2023-10-19 19:54:15 | 显示全部楼层
five 发表于 2023-10-19 19:47
sysctl net.ipv6.conf.ens3.proxy_ndp=1
ip -6 neigh add proxy 3a13:a402:1:a10c::2 dev ens3

还是不行啊。大佬
发表于 2023-10-19 19:58:59 | 显示全部楼层
楼主找到解决办法了告诉我一下
发表于 2023-10-19 20:03:44 | 显示全部楼层
本帖最后由 five 于 2023-10-19 20:10 编辑


看错了,ip -6 neigh add proxy docker下的ipv6 dev ens3
发表于 2023-10-19 20:04:13 | 显示全部楼层
如果你想要将宿主机上的IPv6地址完全转发到某个容器的IPv6地址上,你可以使用ip6tables工具来设置IPv6转发规则。以下是一些步骤和示例命令:

1. 确保你的宿主机已经启用了IPv6转发功能。你可以通过运行以下命令来检查:

```
sysctl net.ipv6.conf.all.forwarding
```

如果返回值为1,则表示IPv6转发已启用。如果返回值为0,则需要启用IPv6转发。你可以通过运行以下命令来启用IPv6转发:

```
sysctl -w net.ipv6.conf.all.forwarding=1
```

2. 使用ip6tables工具设置IPv6转发规则。以下示例命令将宿主机上的IPv6地址完全转发到某个容器的IPv6地址上:

```
ip6tables -t nat -A PREROUTING -d <宿主机IPv6地址> -j NETMAP --to <容器IPv6地址>
```

其中,`<宿主机IPv6地址>`是宿主机的IPv6地址,`<容器IPv6地址>`是你想要转发到的容器的IPv6地址。

3. 确保容器的IPv6地址正确配置,并且容器内的网络配置正确设置。你可以通过查看容器的网络配置文件或与容器管理工具(如Docker或Kubernetes)相关的文档来了解如何正确配置容器的IPv6地址。

4. 最后,保存ip6tables规则,以便在重启后仍然有效。你可以使用以下命令保存ip6tables规则:

```
ip6tables-save > /etc/ip6tables/rules.v6
```

请注意,以上命令只是示例,你需要根据你的具体情况进行修改。确保替换示例命令中的`<宿主机IPv6地址>`和`<容器IPv6地址>`为你实际使用的值。

这些步骤将帮助你设置宿主机上的IPv6地址完全转发到某个容器的IPv6地址上。如果你遇到问题或需要进一步的帮助,请提供更多的详细信息,我将尽力提供帮助。
发表于 2023-10-19 20:08:59 | 显示全部楼层
echo "net.ipv6.conf.default.forwarding=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p
 楼主| 发表于 2023-10-19 20:12:54 | 显示全部楼层
five 发表于 2023-10-19 20:03
看错了,ip -6 neigh add proxy docker下的ipv6 dev ens3

没有效果,能否给个联系方式?
 楼主| 发表于 2023-10-19 20:17:14 | 显示全部楼层
可乐呀 发表于 2023-10-19 20:08
echo "net.ipv6.conf.default.forwarding=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1"  ...

还是不能访问,哎

  1. echo "net.ipv6.conf.default.forwarding=1" >> /etc/sysctl.conf
  2. echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
  3. sysctl -p
  4. net.ipv4.ip_forward = 1
  5. net.ipv6.conf.all.forwarding = 1
  6. net.ipv6.conf.default.forwarding = 1
  7. net.ipv6.conf.all.forwarding = 1
复制代码
发表于 2023-10-19 20:30:13 | 显示全部楼层
本帖最后由 five 于 2023-10-19 20:55 编辑
…沧ネ月ザ 发表于 2023-10-19 20:12
没有效果,能否给个联系方式?


。。 不一定能成功哦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-4 20:33 , Processed in 0.064942 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表