docker on Synology NAS: nftables error because ip6table_nat missing #352

Open
opened 2025-11-20 05:10:03 -05:00 by saavagebueno · 0 comments
Owner

Originally created by @ymarkus on GitHub (May 31, 2023).

Describe the problem
Sorry for the many issues, I've switched all my machines from wireguard to netbird and am finding some issues. 🙈
If I try to run the docker container on a Synology NAS, host routes are not set correctly and the logs show this error:

2023-05-31T09:34:56Z ERRO client/internal/engine.go:612: failed to update routes, err: couldn't initialize firewall containers, got err: nftables: unable to list tables: netlink receive: invalid argument

I'm not sure why the nftables error occurs (maybe too old kernel?). I've tried to build an alpine docker container with iptables-legacy and that shows a different error, because the kernel in the NAS is missing the ip6table_nat module.
If I set a route manually by running ip route add 100.82.0.0/16 via $DOCKER_IP it works, but the network routes are missing. Right now I just add them manually with a shell script, but that is tedious.

To Reproduce
Steps to reproduce the behavior:

  1. Run docker container on Synology DSM with NET_ADMIN cap
  2. Container connects, but host is missing routes

Expected behavior
Routes on the host should be set.

NetBird status -d output:
This is weird for some reason:

Peers detail:                                                                   
Daemon version:                                                                 
CLI version: 0.20.5                                                             
Management: Disconnected                                                        
Signal: Disconnected                                                            
FQDN:                                                                           
NetBird IP: N/A                                                                 
Interface type: N/A                                                             
Peers count: 0/0 Connected
Originally created by @ymarkus on GitHub (May 31, 2023). **Describe the problem** Sorry for the many issues, I've switched all my machines from wireguard to netbird and am finding some issues. :see_no_evil: If I try to run the docker container on a Synology NAS, host routes are not set correctly and the logs show this error: ``` 2023-05-31T09:34:56Z ERRO client/internal/engine.go:612: failed to update routes, err: couldn't initialize firewall containers, got err: nftables: unable to list tables: netlink receive: invalid argument ``` I'm not sure why the nftables error occurs (maybe too old kernel?). I've tried to build an alpine docker container with iptables-legacy and that shows a different error, because the kernel in the NAS is missing the `ip6table_nat` module. If I set a route manually by running `ip route add 100.82.0.0/16 via $DOCKER_IP` it works, but the network routes are missing. Right now I just add them manually with a shell script, but that is tedious. **To Reproduce** Steps to reproduce the behavior: 1. Run docker container on Synology DSM with NET_ADMIN cap 2. Container connects, but host is missing routes **Expected behavior** Routes on the host should be set. **NetBird status -d output:** This is weird for some reason: ``` Peers detail: Daemon version: CLI version: 0.20.5 Management: Disconnected Signal: Disconnected FQDN: NetBird IP: N/A Interface type: N/A Peers count: 0/0 Connected ```
saavagebueno added the bug label 2025-11-20 05:10:03 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SVI/netbird#352