Wie kann ich per Port auf Anwendungen zugreifen?

FotoWolle

New member
Hallo,

ich habe folgendes Problem:

Ich nutze eine Fritz!Box 7490 und habe u.a. ein Synology NAS 218+ angeschlossen.

Leider kann ich nicht auf Container auf dem NAS zugreifen, da jeglicher Port-Zugriff blockiert wird. Ich erhalte grundsätzlich die Meldung:

ERR_CONNECTION_REFUSED

Ich hatte auf der Fritz!Box bereits die entsprechenden Ports für die Anwendungen freigegeben (Internet -> Freigaben). Das ändert allerdings nichts daran.

Muss an der FritzBox etwas zusätzlich eingestellt werden, damit ich per IP + Port (z.B. 192.168.xxx.10:3001) z. B. auf den installierten AdGuard-Container zugreifen kann?
Es geht lediglich um den Zugriff aus dem Heimnetzwerk. Ein Fernzugriff via Internet ist nicht erforderlich.

Ich habe jetzt bereits alles durchprobiert, was ich als Netzwerk-Laie finden kann. Das Ergebnis ist aber immer dasselbe.

Für Hilfe wäre ich wirklich dankbar.

Viele Grüße
Wolfgang
 
Hilft mir leider nicht. Ich nutze kein DynDNS.

Ich will lediglich von meinem PC aus auf das NAS zugreifen, um z.B. das WebUI des AdGuard aufzurufen, um diesen einzustellen.
Das funktioniert nicht, da ich immer Fehlermeldungen bekomme.

Ich wollte auch einen UnRaid-Server testen, aber habe es aufgegeben, da ich keinerlei Zugriff auf die installierten Docker-Container bekomme.

Das einzige, was funktioniert, ist der Zugriff auf das DSM per 192.168.xxx.10:5001
Auf installierte Docker-Container erhalte ich keinen Zugriff.

Ich habe in der FritzBox auch den Port 3001 freigegeben, um auf den AdGuard-Container zuzugreifen, allerdings erfolglos.

Alles im Heimnetz, ohne DynDNS, Quickconnect oder MyFritz...
 
Die Portfreigaben in der Fritzbox brauchst du nur, wenn die Container auch aus dem Internet erreichbar sein sollen. Was sagen denn die Logs der Container? Wie sehen die Einstellungen der Container aus? Eigene IP? IP des Hosts? Wenn IP des Hosts, ist der Port vll bereits vom Host belegt? Sind die Ports auch entsprechend konfiguriert?
 
Ok, dann jetzt nochmal ganz langsam: Das erste was Du prüfen musst, ist die "interne" Konnektivität, wenn das nicht funktioniert, muss man sich um alles andere auch keinen Kopf machen (weil es eh nicht funktionieren wird).

Client --LAN--> Container

Wenn das funktioniert, dann kann man sich Gedanken über den Zugriff von aussen machen:

Client --Internet--> Router --LAN--> Container

Der Container sollte intern auf dem NAS eine IP bekommen haben (meist etwas in Richtung 172.x.x.x). Laut Deinem Screenshot - ich kann es nicht genau ausmachen - hat der Container a) ein Problem, läuft aber ansonsten (scheint mir nicht der Fall), b) läuft, aber die Software hat ein Problem, c) Container startet erst garnicht.

Da ich gehört habe (nutze kein Docker auf der Syno, aber anderweitig), dass die Docker-Umgebung auf der Syno doch einiges an Neuerungen erfahren hat, wäre es vielleicht mal einen Versuch wert, wenn Du das ganze mal etwas anders angehst. So ist es wohl mittlerweile möglich, dass Du einfach eine Definition für Docker-Compose nutzen kannst. Dazu findet sich auch ein Beispiel unter:

https://docs.papermerge.io/3.0/setup/docker-compose/

Daher folgender Vorschlag: Vergiss erstmal das, was Du bisher gemacht hast und nutze die Möglichkeit der Syno, dass Du das ganze auch via Docker-Compose-Definition erstellen kannst. Dazu zunächst einmal hier schauen:

https://kb.synology.com/de-de/DSM/help/ContainerManager/docker_project?version=7

Dort ist dann die Rede von:
Quelle: Laden Sie eine „docker-compose.yml“ hoch oder erstellen Sie diese mit dem Editor.
Das ist genau das, was Du haben möchtest. In Deinem Fall kannst Du die Definitionsdatei entweder lokal an Deinem Computer erstellen, oder den gewünschten Inhalt einfach über den erwähnten Editor einfügen. Apropos "gewünschter Inhalt", das wäre dann (für den Start) folgendes:
YAML:
  version: "3.9"

  x-backend: &common
    image: papermerge/papermerge:3.0dev16
    environment:
        PAPERMERGE__SECURITY__SECRET_KEY: 12345
        PAPERMERGE__AUTH__USERNAME: john
        PAPERMERGE__AUTH__PASSWORD: hohoho
        PAPERMERGE__REDIS__URL: redis://redis:6379/0
    volumes:
        - data:/db
        - index_db:/core_app/index_db
        - media:/core_app/media
  services:
    web:
      <<: *common
      ports:
       - "8095:80"
      depends_on:
        - redis
    worker:
      <<: *common
      command: worker
    redis:
      image: redis:6
  volumes:
    data:
    index_db:
    media:

Den Port habe ich für Dich jetzt schon mal auf 8095 gesetzt, so wolltest Du es ja initial (meine ich) auch haben. Versuch das einfach mal, dann sehen wir weiter :)

EDIT: Wenn das funktioniert, kannst Du es wieder löschen und erstellst das ganze nochmal mit Deinen eigenen Daten (Secretkey, User, Passwort, ggf. auch nochmal den externen Port anpassen).
 
Ok ich versuche das mal.

Zwischendurch zurück zum AdGuard:

Ich habe den Container (über Docker auf der Synology) installiert. Als Netzwerk habe ich "bridge" gewählt und bis auf Ressourcenbeschränkung auf 4096 MB RAM und Automatischen Neustart nichts verändert.

Wenn ich als Netzwerk "host" wähle, kann ich gar keine Port-Einstellungen vornehmen und die Detailsseite zeigt auch keine Ports an.

Anbei das Protokoll dazu und ein Screenshot von den Container.

Der Container hat wohl laut Protokoll die IP-Adressen 127.0.0.1:3000 und 172.17.0.2:3000 bekommen, diese kann ich aber nicht aufrufen:

127.0.0.1:3000 ERR_CONNECTION_REFUSED
172.17.0.2:3000 ERR_CONNECTION_TIMED_OUT

Über den Aufruf über die IP-Adresse des NAS 192.168.xxx.10:3000 erhalte ich ebenfalls ERR_CONNECTION_REFUSED
 

Anhänge

  • Bildschirmfoto vom 2023-12-07 15-39-35.png
    Bildschirmfoto vom 2023-12-07 15-39-35.png
    149,4 KB · Aufrufe: 7
  • Bildschirmfoto vom 2023-12-07 15-31-08.png
    Bildschirmfoto vom 2023-12-07 15-31-08.png
    78,1 KB · Aufrufe: 7
Die Möglichkeit über den Container Manager funktioniert nicht mehr, da diese App nicht mehr vorhanden ist. Über Docker kann ich auf Synology keine "docker-compose.yml" ausführen
 
Der Container hat wohl laut Protokoll die IP-Adressen 127.0.0.1:3000 und 172.17.0.2:3000 bekommen, diese kann ich aber nicht aufrufen
Das ist auch korrekt. 127.0.0.1 ist der "localhost" (ist bei jedem Gerät gleich und ist auch nicht für die externe Kommunikation gedacht). 172.17.0.2 ist eine IP aus dem internen Docker-Netzwerk. Da wäre es dann so, dass Du eine entsprechende "Portweiterleitung" einrichten müsstest. Zwecks Verständnis: Stell Dir einfach vor, dass der Docker-Host (egal ob Syno oder etwas anderes) nochmal wie ein herkömmlicher Router funktioniert (WAN-IP wäre dann hier die normale Adresse der Syno). Daher gibt es in so einer Container-Definition dann auch etwas bzgl. der Ports in Form von: "<externer Port>:<interner Port>", das sieht dann z.B. wie oben im Beispiel aus: "8095:80".

Unter https://github.com/AdguardTeam/AdGuardHome/wiki/Docker#create-and-run-the-container findest Du z.B. ein paar Infos, da werden auch direkt mehrere Ports durchgereicht:
Bash:
docker run --name adguardhome\
    --restart unless-stopped\
    -v /my/own/workdir:/opt/adguardhome/work\
    -v /my/own/confdir:/opt/adguardhome/conf\
    -p 53:53/tcp -p 53:53/udp\
    -p 67:67/udp -p 68:68/udp\
    -p 80:80/tcp -p 443:443/tcp -p 443:443/udp -p 3000:3000/tcp\
    -p 853:853/tcp\
    -p 853:853/udp\
    -p 5443:5443/tcp -p 5443:5443/udp\
    -p 6060:6060/tcp\
    -d adguard/adguardhome

Müsstest Du dann alles bei der Anlage des Containers in der Syno manuell konfigurieren, oder Du beschäftigst Dich ein wenig mit der Docker-Compose-Geschichte (die ich persönlich echt angenehm finde) und schreibst Dir Deine Compose-Definition selbst zusammen.

Ich hab es jetzt nicht getestet, aber die Docker-Compose-Definition könnte z.B. so aussehen:
YAML:
version: '3'

services:
  adguardhome:
    container_name: adguardhome
    image: adguard/adguardhome
    network_mode: "host"
    restart: unless-stopped
    ports:
      - "53:53/tcp" #DNS
      - "53:53/udp" #DNS
      - "3000:3000/tcp" #Konfiguration

    volumes:
      - "/pfad/auf/der/syno/work:/opt/adguardhome/work"
      - "/pfad/auf/der/syno/conf:/opt/adguardhome/conf"

Da die Syno ihre lokalen Pfade anhand der Volumes festmacht, könnte "/pfad/auf/der/syno/" z.B. so aussehen (Ordner müsstest Du - glaube ich - vorher mal anlegen). Heisst innerhalb einer Freigabe ("gemeinsamer Ordner", namentlich als Beispiel mal "Spielwiese") einen Unterordner erstellen und darin ggf. weitere Unterordner, so dass es z.B. ungefähr so aussieht: "/volume1/Spielwiese/docker/adguard". Darin dann noch 2 Unterordner "work" und "config", womit Du dann die o.g. Pfadangaben wie folgt umsetzen könntest:

YAML:
    volumes:
      - "/volume1/Spielwiese/docker/adguard/work:/opt/adguardhome/work"
      - "/volume1/Spielwiese/docker/adguard/work:/opt/adguardhome/conf"

Da es sich um YAML-Code handelt, achte auch bitte immer auf die korrekte Einrückung der Dinge, ansonsten wird es nicht funktionieren :)
 
Das "neue" ist Docker. Allerdings kann ich da keine Installationsscripte ausführen, nur einen Container auf Basis einer URL oder einer bereits runtergeladenen Datei erstellen.
 
Das "neue" ist Docker.
Docker gab es doch auch vorher schon?

Alt: https://www.synology.com/de-de/dsm/packages/Docker?os_ver=6.2
Neu: https://www.synology.com/de-de/dsm/feature/container-manager

Der Container-Manager wird auch für Dein NAS-Modell unterstützt (vgl. https://www.synology.com/de-de/dsm/packages/ContainerManager). Eventuell noch das alte Paket installiert (falls das überhaupt möglich ist), oder ggf. das DSM noch nicht up2date? Vielleicht schaust Du mal im Paketmanager nach und installiert die Container-Manager-App? Mein NAS kann leider kein Docker (DS218j) und die Modell, welche es unterstützen würden, kann ich leider nicht für solche Spielereien benutzen.

Die Anleitung zum Container Manager spricht jedenfalls von einer Datei oder einer direkten Erstellung mit dem Editor:
https://kb.synology.com/de-de/DSM/help/ContainerManager/docker_project?version=7

Wenn Du nur die Option bzgl. der Datei findest, ist das aber auch halb so wild:

Windows-Editor auf, Zeugs von oben reinkopiert, speichern (docker-compose.yaml) und im Container Manager hochladen, dann sollte das auch passen :)
 
Ok, ich habe noch die DSM 7.1.1 42962 drauf. Mache jetzt mal das Update.

Komisch, dass das nicht automatisch die Updates installiert hatte. Ist eigentlich so eingestellt.
 
Danke, die Installation von Papermerge hat nun funktioniert und es ist auch erreichbar. Allerdings fehlen im Programm selbst die meisten Menüpunkte, um das System einzurichten.

Aber da muss ich mich wohl durch die Papermerge-Homepage und ggfs. Foren wühlen ;)
 
Schön zu hören, dass es nun klappt :) Ich würde es auf jeden Fall über Docker-Compose machen, finde ich deutlich leichter zu editieren und Du kannst Dir die (auf Deine Bedürfnisse angepassten) Compose-Files auch bequem auf der Syno ablegen (quasi als Vorlage).
 
Ok, eine (Anfänger-)Frage dazu noch:

Wenn ich das Compose-File richtig interpretiere, wird da ein Ordner "db" für die Daten-/Dokumentenablage genannt. Muss ich diesen selbst auf der Filestation erstellen oder macht das Compose-File das beim einrichten von Papermerge?
 
So fit bin ich dem Thema auch nicht, aber "vermutlich" läuft es wie folgt:

Variante a) Man gibt nur ein "Volume" an, das wird dann automatisch von Docker im Default-Pfad für die Volumes erstellt
Variante b) Man gibt einen Hostpfad an (das war die Sache bzgl. /volume1/Spielwiese/docker/...)

Bei Variante a wird das alles automatisch durch Docker gemanaged, bei Variante b bin ich mir da nicht so sicher. Ich würde es einfach mal ausprobieren und falls der Container dann nicht will, weil er den Pfad nicht findet, dann muss man die Ordner entsprechend vorher anlegen.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
5.021
Beiträge
50.326
Mitglieder
4.713
Neuestes Mitglied
tAntChen
Zurück
Oben