diff --git a/README.md b/README.md index a6f15c6..ea3ab81 100644 --- a/README.md +++ b/README.md @@ -79,6 +79,18 @@ Note that building this container image requires [BuildKit](https://docs.docker. If you are on older versions: Docker does not enable IPv6 by default. If you want IPv6 support, some level of setup and a basic understanding of IPv6 is required. Swarm mode & some Kubernetes implementation supports IPv6 too with extra configuration. +### IPv6 on Alpine Linux host + +At the time of writing, `docker` package on Alpine Linux has problem connecting to outside of container on IPv6, this is caused by somehow docker package Alpine Linux doesn't set NAT routing on ip6tables, this could be fixed by + +1. `ip6tables -t nat -A POSTROUTING -s /64 -o -j MASQUERADE` +2. if you're using AWALL add following in `private/`: + ``` + "snat": [ + { "src": ["/64"], "out": "", "family" : "inet6" } + ], + ``` + #### Using native address assignment If you happened to have a block of static IPv6 addresses routed to your host, you can directly assign one of the addresses to the container. Edit `/etc/docker/daemon.json` and add native IPv6 address blocks, then restart the Docker daemon. An example: diff --git a/docker-compose-ipv6.yaml b/docker-compose-ipv6.yaml index 35fccd4..d33c0ce 100644 --- a/docker-compose-ipv6.yaml +++ b/docker-compose-ipv6.yaml @@ -32,4 +32,10 @@ services: # - seccomp:unconfined networks: atlas-network: + driver: bridge enable_ipv6: true + ipam: + config: + - subnet: 2001:db8:1:2::/64 + driver_opts: + com.docker.network.bridge.name: atlas-network diff --git a/entrypoint.sh b/entrypoint.sh index 415839a..f573255 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -16,6 +16,9 @@ mkdir -p /var/spool/ripe-atlas/data chown -R ripe-atlas:ripe-atlas /var/spool/ripe-atlas/data || true mkdir -p /run/ripe-atlas/status chown -R ripe-atlas:ripe-atlas /run/ripe-atlas/status || true +mkdir -p /run/ripe-atlas/pids +chown -R ripe-atlas:ripe-atlas /run/ripe-atlas/pids || true +touch /run/ripe-atlas/pids/perd-7.pid.vol mkdir -p /etc/ripe-atlas chown -R ripe-atlas:ripe-atlas /etc/ripe-atlas || true #mkdir -p /var/atlas-probe/state