Skip to main content

! IP-Kollidierung bei Netbird verhindern (192.168.x und 10.1.x)

Falls eine IP-Adresse aus einem anderen Subnetz nicht erreichbar ist, kann es daran liegen, dass eine Docker-Bridge mit diesem Subnetz vorhanden ist.

Beispiel: Von einem Hetzner Server möchte ich das Subnetz 192.168.5.0/24 erreichen. Der Ping klappt nicht. 
Debuggen mit


ip route get 192.168.5.55

ergibt zb
root@fn-01:~# ip route get 192.168.5.55
192.168.5.55 dev br-ebe13ac6d23b src 192.168.0.1 uid 0 cache

weiteres debugging:


# Netbird Status
netbird status --detail

# Routing-Tabelle analysieren
ip route show
ip route get 192.168.5.55
# ergibt zb
# root@fn-01:~# ip route get 192.168.5.55
# 192.168.5.55 dev br-ebe13ac6d23b src 192.168.0.1 uid 0 cache
# ^^^^ DA IST DER FEHLER, die Docker-Netzwerk-Bridge br-ebe13ac6d23b sorgt für das Routing und schlägt damit fehl

# Netbird Interface prüfen
ip addr show wt0
sudo iptables -L -v -n | grep -A 10 wt0

# Netbird logs
sudo journalctl -u netbird -f
sudo systemctl status netbird

# Ping mit Details
ping -I wt0 192.168.5.55
traceroute 192.168.5.55

docker network ls

ergibt 


root@fn-01:~# docker network ls
NETWORK ID NAME DRIVER SCOPE
396e4a7a02a8 backrest_default bridge local
9f3a5b5f9017 beszel_default bridge local
7ff0d869b3a9 bitwarden_default bridge local
944ac8eea6b1 bridge bridge local
8a7ecea723cd bs_default bridge local
56847cda68c7 heimdall_default bridge local
23c9d0945209 host host local
dc6107d2a414 nextcloud-aio bridge local
10cf7e670c62 nextcloud_default bridge local
4918f3559a98 nginx_lowqart_default bridge local
1e7aaa5ae6b2 none null local
6703ef3d8a62 ollama_default bridge local
15659627c007 paperless-ai_default bridge local
f02f912a0898 paperless_default bridge local
e29d199145fc reverseproxy_network bridge local
9e294e453ecb semaphore_default bridge local
f1dde6f30b1f shlink_default bridge local
c7750a87eef4 syncthing_default bridge local
f0e08f4a4c7c uptimekuma_default bridge local
c85d048db1b1 vikunja_default bridge local
57cd332f96b1 windmill_default bridge local
ebe13ac6d23b zerobyte_default bridge local
# ^^^ fehlerhafte bridge

docker network inspect ebe13ac6d23b

ergebnis: die docker network bridge nimmt 192.168.0.0/20 als subnet, was 192.168.5.0/24 inkludiert. 

lösung für die Problem-Bridge:

docker-compose von zb zerobyte


...

- /var/lib/docker:/backup-var-lib
- /mnt/fn-volume-01:/backup-fn-volume-01
networks:
- zerobyte_network # <<< wichtig

volumes:
app:

networks:
zerobyte_network:
driver: bridge
ipam:
config:
- subnet: 172.69.19.0/24
gateway: 172.69.19.1

danach wird die alte bridge mit 192.168.0.0/20 gelöscht und eine neue mit subnet 172.69.19.0/24 erstellt.

Dauerhafte lösung

nano /etc/docker/daemon.json

{
  "default-address-pools": [
    {
      "base": "172.16.0.0/12",
      "size": 20
    }
  ],
  "data-root": "/mnt/fn-volume-01/docker-data",
  "log-opts": {
    "max-size": "100m",
    "max-file": "5"
  }
}
sudo systemctl restart docker
sudo systemctl status docker