コンテナIPv6サポート
以下IPv6
のサブネット(任意)を指定したデーモン設定ファイルを新規作成し再起動。
/etc/docker/daemon.json
{
"ipv6": true,
"fixed-cidr-v6": "2001:db8:1::/64"
}
注) 2001:db8:1::/64
はドキュメント内の例示として使用される予約されたIPアドレス
通常は以下のルール等を用いて作成 (LAN内プリフィックス:FC00::/7
)
再起動
$ sudo systemctl restart docker
ブリッジモードのIPv6
の有効化を確認
注) ホストマシンにルータからIPv6
アドレスが割当てられている場合
$ docker network inspect bridge
[
{
"Name": "bridge",
........
........
"Driver": "bridge",
"EnableIPv6": true,
"IPAM": {
"Driver": "default",
"Options": null,
"Config": [
{
"Subnet": "172.17.0.0/16",
"Gateway": "172.17.0.1"
},
{
"Subnet": "2001:db8:1::/64",
"Gateway": "2001:db8:1::1"
}
]
},
.....
.....
IPv4, IPv6対応ブリッジネットワークの作成
Docker Composerで使用するIPv6
にも対応したカスタムブリッジネートワークを作成。
$ docker network create --gateway 172.20.0.1 --gateway 2001:db8:1:1::1 --subnet 172.20.0.0/24 --subnet 2001:db8:1:1::0/80 --ipv6 custom_network
注) ホストマシンのデフォルトのブリッジネットワークのサブネットを /64
で割当てたので、カスタムブリッジネットワークに割当てるサブネットは、これより一段低い(16ビット分) /80
とすること。
作成したネットワークの確認
$ docker network inspect custom_network
[
{
"Name": "custom_network",
"Id": "912997c445af3a4718039d304c3b613aa0524659ca17bba5d87b5063a7ca795d",
"Created": "2023-02-12T22:13:25.210491863+09:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": true,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.20.0.0/24",
"Gateway": "172.20.0.1"
},
{
"Subnet": "2001:db8:1:1::0/80",
"Gateway": "2001:db8:1:1::1"
}
]
},
注) コンテナに上記IPv6
に対応したブリッジネットワークを使用する場合、ホスト側でip6tables(nftablesへ移行)
によるルールを追加する必要があります。
$ sudo ip6tables -t nat -A POSTROUTING -s 2001:3984:3989::/64 ! -o docker0 -j MASQUERADE
IPv6アドレスの開放ポートの確認
DNS AAAAレコード(IPv6)確認
host
コマンド
$ host -t AAAA google.com
google.com has IPv6 address 2a00:1450:4009:81d::200e
dig
コマンド
$ dig google.com AAAA
; <<>> DiG 9.16.1-Ubuntu <<>> google.com AAAA
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37561
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;google.com. IN AAAA
;; ANSWER SECTION:
google.com. 101 IN AAAA 2a00:1450:4009:823::200e
;; Query time: 3 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Feb 13 12:18:19 UTC 2023
;; MSG SIZE rcvd: 67