Vraag


Acties:
  • 0 Henk 'm!

  • jinvanthee
  • Registratie: Juli 2017
  • Laatst online: 14-04 18:54
Ik heb een Synology NAS (DS918+) en daar draai ik een aantal services op (zoals Vaultwarden en Immich).

Om deze services te bereiken, gebruik ik een reverse proxy (Traefik v2) en in het algemeen gaat dit wel prima. Ik zou graag voor een paar services een IP whitelist willen instellen, zodat ze alleen maar te bereiken zijn vanaf het IP adres van mijn huis.

Om een onbekende reden is het me niet gelukt om dit voor elkaar te krijgen.

Alles (incl. de reverse proxy) draait in docker-compose en het is allemaal met docker netwerken in bridge modus verbonden met elkaar.

In de traefik service heb ik de porten zo geregeld:

code:
1
2
3
4
5
6
7
8
9
    ports:
      - target: 80
        published: 80
        protocol: tcp
        mode: host
      - target: 443
        published: 443
        protocol: tcp
        mode: host


Ze staan dus op host mode, waardoor een evt bridge mode geen probleem is. Daarnaast is deze container in een netwerk waardoor Traefik kan communiceren met de andere docker containers op hetzelfde netwerk.

Ik gebruik trouwens een whoami container van Traefik om te kijken welke header / HTTP gegevens worden ontvangen wanneer een er een bezoeker is. Eerst was het IP adres van de client het IP adres van de Traefik container. Dat is uiteraard niet goed.

Toen dat zo was, heb ik een script van deze GitHub gist uitgevoerd in de hoop dat het het probleem zou oplossen. https://gist.github.com/p...b9112166da4a2dbf8e3a72ae9.

Dit script heeft er inderdaad voor gezorgd dat er een ander IP adres werd ontvangen; in plaats van het IP adres van de Traefik container, werd het het interne IP adres van mijn router (dus de gateway van het Wi-Fi netwerk).

Ik heb vervolgens nog erg veel gezocht naar oplossingen op het internet en vond nog een potentiële oplossing; ik heb in de docker daemon instellingen "userland-proxy" naar false gezet. Blijkbaar is userland-proxy een Docker proxy die de netwerken van containers ofzo regelt. Ik weet niet precies wat het doet, maar volgens een Reddit thread kon dit een oplossing zijn. Helaas heeft deze aanpassing niets veranderd en is het IP adres van de client nog steeds het interne IP adres van mijn router.

Heeft iemand nog ideeën hoe ik dit kan oplossen?

Alle reacties


Acties:
  • +3 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Laatst online: 22:46

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

Achter een reverse proxy krijg je meestal een X-Real-IP of X-Forwarded-For header o.i.d. binnen. Even je headers inspecteren / dumpen en dan daar iets mee doen.

[ Voor 25% gewijzigd door RobIII op 28-03-2024 22:37 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • matk89
  • Registratie: Oktober 2005
  • Laatst online: 22:07
Ik ben niet bekend genoeg met Traefik, maar zou je het eventueel aan die kant kunnen oplossen? Ik neem aan dat je iets van een routing hebt van publiek.jinvanthee.nl en een geheim.jinvanthee.nl waarbij die laatste enkel toegankelijk mag zijn vanaf huis? Kun je daar in de routing regels niet iets toevoegen?

Je benoemt het niet, maar staat de Synology bij je thuis ook? Dat maar de oplossingsrichting natuurlijk ook anders.

Andere vraag: als je wilt filteren op je publieke eigen IP, heb je een vast IP? Hoe erg is het als je een nieuw IP krijgt en je services tijdelijk niet beschikbaar zijn totdat je dit hebt gerepareerd?