Ik draai docker op mijn Synolog DS918+ en maak gebruik van meerdere stacks met containers. De meesten zitten op een eigen bridge netwerk.
Ik gebruik Traefik om deze containers via een hostname die ik in mijn DNS-server (pihole) heb ingesteld te benaderen. Op die manier komen diverse hostnames allemaal bij mijn NAS terecht op IP-adres 192.168.1.10.
Een van de containers die ik gebruik is Wireguard. Dit werkt prima, met een beperking. Ik kan vanuit de bridge-containers (waaronder Wireguard) de host (=NAS) niet bereiken via zijn reguliere IP-adres (192.168.1.10). Ik heb Wireguard de volgende configuratie meegegeven:
En daarmee kan ik de host wel bereiken op het docker-host adres (172.17.0.1), dus ook vanuit 'binnen' de container.
Voor zover ik in docker networking begrijp is bovenstaande conform expected behavior. Maar, ik zou graag vanuit de Wireguard container ook de host willen kunnen bereiken op 192.168.1.10, zodat ik zowel als ik lokaal werk, als via de VPN, dezelfde hostnames (die komen allemaal uit op 192.168.1.10) kan gebruiken.
Wat zie ik in mijn werkwijze over het hoofd? Is er een workaround, of moet ik fundamenteel anders te werk gaan?
Ik heb al geprobeerd de Wireguard container op het host-netwerk te draaien, dat werkte niet. Ook als met een macvlan-constructie kreeg ik het niet werkend.
Volledige Wireguard configuratie, hoewel dit probleem zich dus ook bij andere containers die in een bridge-netwerk hangen voordoet.
Ik gebruik Traefik om deze containers via een hostname die ik in mijn DNS-server (pihole) heb ingesteld te benaderen. Op die manier komen diverse hostnames allemaal bij mijn NAS terecht op IP-adres 192.168.1.10.
Een van de containers die ik gebruik is Wireguard. Dit werkt prima, met een beperking. Ik kan vanuit de bridge-containers (waaronder Wireguard) de host (=NAS) niet bereiken via zijn reguliere IP-adres (192.168.1.10). Ik heb Wireguard de volgende configuratie meegegeven:
YAML:
1
2
| extra_hosts: - "host.docker.internal:host-gateway" |
En daarmee kan ik de host wel bereiken op het docker-host adres (172.17.0.1), dus ook vanuit 'binnen' de container.
Voor zover ik in docker networking begrijp is bovenstaande conform expected behavior. Maar, ik zou graag vanuit de Wireguard container ook de host willen kunnen bereiken op 192.168.1.10, zodat ik zowel als ik lokaal werk, als via de VPN, dezelfde hostnames (die komen allemaal uit op 192.168.1.10) kan gebruiken.
Wat zie ik in mijn werkwijze over het hoofd? Is er een workaround, of moet ik fundamenteel anders te werk gaan?
Ik heb al geprobeerd de Wireguard container op het host-netwerk te draaien, dat werkte niet. Ook als met een macvlan-constructie kreeg ik het niet werkend.
Volledige Wireguard configuratie, hoewel dit probleem zich dus ook bij andere containers die in een bridge-netwerk hangen voordoet.
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| --- version: "2.1" services: wireguard: image: lscr.io/linuxserver/wireguard container_name: wireguard cap_add: - NET_ADMIN - SYS_MODULE environment: - PUID=1026 - PGID=101 - TZ=Europe/Amsterdam - SERVERURL=****** - SERVERPORT=51338 #optional - PEERS=3 #optional #- PEERDNS=192.168.1.200 #optional #- INTERNAL_SUBNET=10.13.13.0 #optional - ALLOWEDIPS=192.168.1.0/24,192.168.10.0/24,10.13.13.0/24, 192.168.1.10 volumes: - /volume1/docker/wireguard:/config - /lib/modules:/lib/modules #- /usr/src:/usr/src:ro #kernel_headers? ports: - 51338:51820/udp sysctls: - net.ipv4.conf.all.src_valid_mark=1 - net.ipv6.conf.all.disable_ipv6=1 - net.ipv6.conf.default.disable_ipv6=1 extra_hosts: - "host.docker.internal:host-gateway" restart: unless-stopped |
[Voor 33% gewijzigd door MJV op 09-02-2022 20:12]