V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
naoh1000
V2EX  ›  云计算

请教一个 Docker IPv6 配置问题

  •  
  •   naoh1000 · 2020-12-09 14:05:29 +08:00 · 1811 次点击
    这是一个创建于 1240 天前的主题,其中的信息可能已经有所发展或是发生改变。

    服务器以前一直是使用 Docker CLI 创建的网络,robbertkl/docker-ipv6nat 这个项目维护的 NAT,容器能通过 https 服务器公网 IPv6 地址 :8000 访问。最近开了 userns-remap,改用 Docker Compose 部署,发现怎么也无法通过 IPv6 访问,请大家帮忙看看。

    Docker IPv6 配置方法:

      sudo su
      echo '{
          "userns-remap": "default",
          "ipv6": true,
          "fixed-cidr-v6": "fd00:0:0::/48"
      }' > /etc/docker/daemon.json
      exit
      sudo systemctl restart docker
      sudo ip6tables -t nat -A POSTROUTING -s fd00:0:0::/48 ! -o docker0 -j MASQUERADE
      sudo docker run --rm -t busybox ping6 -c 2 google.com
      sudo docker run -d --userns=host --name ipv6nat --privileged --network host --restart always -v /var/run/docker.sock:/var/run/docker.sock:ro -v /lib/modules:/lib/modules:ro robbertkl/ipv6nat
    

    docker-compose.yml 写法 1 (容器能访问外网 IPv6,外网不能通过主机 IPv6 访问容器,官网看到的写法,有人说 v3 不支持 IPv6 所以用了 v2 的配置)

    version: '2.1'
    
    services:
      caddy:
        image: caddy
        restart: always
        ports:
          - 80:80
          - 8000:443
        volumes:
          - /var/volumes/caddy/configs:/etc/caddy
          - /var/volumes/caddy/data:/data/caddy
          - /var/volumes/caddy/certs:/etc/ssl/certs/caddy
          - /var/volumes/caddy/private:/etc/ssl/private/caddy
          - /var/volumes/caddy/logs:/var/log/caddy
          - /mnt/sda1/var/volumes/caddy/storage:/storage
        networks:
          app_net:
            ipv6_address: fd00:0:1::10
    
    networks:
      app_net:
        enable_ipv6: true
        driver: bridge
        ipam:
          driver: default
          config:
            - subnet: fd00:0:1::/48
              gateway: fd00:0:1::1
    

    docker-compose.yml 写法 2 (容器不能访问外网 IPv6,外网不能通过主机 IPv6 访问容器,社区看到的写法)

    version: '3.8'
    
    services:
      caddy:
        image: caddy
        restart: always
        ports:
          - 80:80
          - 8000:443
        volumes:
          - /var/volumes/caddy/configs:/etc/caddy
          - /var/volumes/caddy/data:/data/caddy
          - /var/volumes/caddy/certs:/etc/ssl/certs/caddy
          - /var/volumes/caddy/private:/etc/ssl/private/caddy
          - /var/volumes/caddy/logs:/var/log/caddy
          - /var/volumes/caddy/storage:/storage
        networks:
          app_net:
    
    network:
      app_net:
        ipam:
          driver: default
          config:
            - subnet: "10.0.1.0/24"
            - subnet: "fd00:0:1::/48"
    

    期望效果:容器能访问外网 IPv6,外网能通过主机 IPv6+端口访问容器。 折腾三天还没实现,请问有大佬有思路吗,谢谢。

    3 条回复    2020-12-12 12:36:07 +08:00
    pierreorz
        1
    pierreorz  
       2020-12-09 16:05:50 +08:00
    我也遇到同样的问题。。哎。感觉只监听了 IPv4 的端口
    naoh1000
        2
    naoh1000  
    OP
       2020-12-09 19:57:13 +08:00 via iPhone
    我好像选错节点了...
    naoh1000
        3
    naoh1000  
    OP
       2020-12-12 12:36:07 +08:00
    @pierreorz 已解决,机房防火墙的配置问题。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2015 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 16:10 · PVG 00:10 · LAX 09:10 · JFK 12:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.