mirror of
https://github.com/outbackdingo/firezone.git
synced 2026-01-27 10:18:54 +00:00
* Add instructions for enabling IPv6 within Docker
IPv6 routing is disabled by default on Docker. To have IPv6 work in Firezone
the same way IPv4 currently does (and IPv6 on Omnibus), four things are
generally required:
1. First, ensure your Docker host has IPv6 correctly set up with a quick
ping test:
```
> ping6 -c 4 google.com
PING google.com(sfo03s32-in-x0e.1e100.net (2607:f8b0:4005:814::200e)) 56 data bytes
64 bytes from sfo03s32-in-x0e.1e100.net (2607:f8b0:4005:814::200e): icmp_seq=1 ttl=51 time=1.96 ms
64 bytes from sfo03s32-in-x0e.1e100.net (2607:f8b0:4005:814::200e): icmp_seq=2 ttl=51 time=1.94 ms
64 bytes from sfo03s32-in-x0e.1e100.net (2607:f8b0:4005:814::200e): icmp_seq=3 ttl=51 time=1.92 ms
64 bytes from sfo03s32-in-x0e.1e100.net (2607:f8b0:4005:814::200e): icmp_seq=4 ttl=51 time=1.90 ms
```
2. Add an IPv6 address, subnet, and `enable_ipv6: true` to the Docker
compose. **Note**: Various Googling around the interwebs will uncover
the myth that `enable_ipv6` is not supported on Docker Compose file
versions 3+ -- this seems to be incorrect. Leaving out `enable_ipv6: true`
prevented Docker from automatically assigning IPv6 addresses for
containers attaching to that network.
3. Add the following to `/etc/docker/daemon.json`:
```json
{
"ipv6": true,
"ip6tables": true,
"experimental": true,
"fixed-cidr-v6": "fd00:dead:beef::/80"
}
```
4. The above causes Docker to automatically add `ip6tables` rules to
set up IPv6 NAT/Masquerade for containers. However, this breaks DHCPv6
Router Advertisements, so you'll need to re-enable them for your
default interface with:
```
egress=`ip route show default 0.0.0.0/0 | grep -oP '(?<=dev ).*' | cut -f1 -d' ' | tr -d '\n'`
sudo echo "net.ipv6.conf.${egress}.accept_ra=2" >> /etc/sysctl.conf
```
* Fix bash cmd
* Apply suggestions from code review
Self-review
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
* Apply suggestions from code review
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Signed-off-by: Jamil <jamilbk@users.noreply.github.com>
Website
This website is built using Docusaurus 2, a modern static website generator.
Installation
npm install
Local Development
npm run start
This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server.
Build
npm run build
This command generates static content into the build directory and can be
served using any static contents hosting service.
Deployment
Deployment happens automatically when a new version is published. See the
publish_docs CI workflow.