From 2a78b30aeb2c050fe982159040c707403704c77d Mon Sep 17 00:00:00 2001 From: Timothy Pillow Date: Mon, 23 Mar 2026 09:59:17 +0100 Subject: [PATCH] Config fix for #2208 : Document network interface fix for multi-network configuations (#2555) * document fix for #2208 * typo fix * prettier * fix code block format * fix indentation --------- Co-authored-by: Timothy Pillow Co-authored-by: Bernd Storath <999999bst@gmail.com> Co-authored-by: Bernd Storath <32197462+kaaax0815@users.noreply.github.com> --- docs/content/faq.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/content/faq.md b/docs/content/faq.md index 8e2138cc..e39bae4c 100644 --- a/docs/content/faq.md +++ b/docs/content/faq.md @@ -109,3 +109,31 @@ To resolve this issue, you can try the following steps: ```shell echo "ip6table_filter" | sudo tee -a /etc/modules ``` + +## Clients lose connectivity after restarting the container when using multiple networks? + +When you attach multiple Docker networks (e.g., `wg` and a reverse proxy network like `traefik` or `nginx`) to the `wg-easy` container, Docker might assign the network interfaces randomly (e.g., swapping `eth0` and `eth1`). Since `wg-easy` expects the wireguard interface to act as `eth0` and configures `POSTROUTING` rules for it, connectivity will break if the interfaces are swapped upon container restart. + +To solve this, specify the `interface_name` and `gw_priority` explicitly in your `docker-compose.yml` file to guarantee that the `wg` network always binds to `eth0` and acts as the default gateway. + +**Example `docker-compose.yml`:** + +```yaml +services: + wg-easy: + # ... other configuration ... + networks: + wg: + interface_name: eth0 + gw_priority: 1 + ipv4_address: 10.42.42.42 + nginx: + interface_name: eth1 + gw_priority: 0 + +networks: + wg: + # ... wg network config ... + nginx: + external: true +```