Docker IPv6 網絡環境配置


由於目前Docker 在IPv6網絡中運行的相關配置並非默認自動生成的,所以需要大家根據自己的網絡環境來具體做一些相應配置,具體如下:

本次操作是在 Ubuntu16/18或者CentOS7 OS上面 通過docker官網手冊安裝方式 安裝的Docker程序

 

第一步 在 docker 配置文件 添加IPv6配置參數

配置文件路徑均為 /etc/docker/daemon.json
如果改文件不存在,請直接創建
 
如果docker運行的寄主機已經成功獲取到IPv6公網地址並能夠正常訪問IPv6公網資源后,還不知道怎么給docker分配對應的IPv6地址,
則可直接將 docker 的默認IPv6網段設置為 fc00:17:1:1::/64 (可以理解為IPv6的內網地址)
 
{
  "ipv6": true, "fixed-cidr-v6": "fc00:17:1:1::/64" }

之后需要手動對剛才的IPv6內網地址設置NAT轉換(因為docker 在IPv4的環境下會自動將內網地址做NAT轉換)

並通過 -L 來查看NAT配置是否添加成功

ip6tables -t nat -A POSTROUTING -s fc00:17:1:1::/64 -j MASQUERADE ip6tables -t nat -L

最后重新啟動 docker 服務

systemctl restart docker

效果如下:

經過上述配置后,通過docker run 方式啟動(利用默認的bridge網絡模式)的容器即可自動獲取到fc00:1:1::/64 網段中的IPv6地址。

並能夠繼承Host寄主機的網絡資源環境。

如果你想使用 docker-compose 的方式來啟動一組容器的話,那還需要對之前使用的 docker-compose.yml 文件進行部分升級,具體如下:

首先,compose的版本需要使用

version: '2.1'

然后在每一個services中添加網絡參數(舉例存在一個名為 app_net 的網絡)

    networks:
        app_net:

之后在yml文件的最后添加 app_net 這個網絡的具體參數:

復制代碼
networks:
    app_net:
        driver: bridge
        enable_ipv6: true ipam: driver: default config: - subnet: 172.19.0.0/24 gateway: 172.19.0.1 - subnet: fc00:32:1:1::/120 gateway: fc00:32:1:1::1
復制代碼

其中給這個網絡分配的IPv6網段是 fc00:32:1:1::/120 (不要與之前deamon.json中的網段有重合),/120網段可以提供 256個的可用地址

然后把這個IPv6內網地址段(fc00:32:1:1::/120) 利用  ip6tables -t nat 的指令(同上)將該地址段成功添加到host 寄主機中的 IPv6 nat配置中即可

之后再用 ip6tables -t nat -L  查看是否添加成功

最后利用訪問一些公網的IPv6地址來測試網絡是否搭建成功即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM