Files
firezone/docs
Jamil c18d52cec8 Fix IPv6 routing for Docker-based deployments (#1204)
* 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>
2022-12-18 16:49:36 -06:00
..
2022-10-17 10:40:28 -07:00
2022-09-29 13:45:17 -05:00
2022-10-13 15:22:53 -07:00
2022-07-25 11:47:58 -07:00
2022-10-13 15:22:53 -07:00
2022-10-13 15:22:53 -07:00
2022-10-13 15:22:53 -07:00
2022-07-25 11:47:58 -07:00
2022-07-25 11:47:58 -07:00
2022-10-13 15:22:53 -07:00

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.