Asustor SWAG Reverse Proxy

atah

Nouveau membre
24 Octobre 2023
10
1
3
Bonjour à tous,

J'ai récemment configuré SWAG sous Docker pour mettre en place un reverse-proxy avec Fail2Ban. Tout semble fonctionner correctement pour différents containers en reverse proxy via HTTPS.

Cependant, je souhaite désormais restreindre l'accès à l'un de mes containers uniquement depuis mon réseau local et via VPN. J'ai déjà effectué quelques paramétrages dans la configuration Nginx comme suit :


server { listen 443 ssl; listen [::]:443 ssl; server_name secret.domain.com; include /config/nginx/ssl.conf; location / { allow 192.168.2.0/24; # Remplacez par la plage d'adresses IP de votre réseau local allow 192.168.5.0/29; # Remplacez par la plage d'adresses IP de votre VPN deny all; proxy_pass https://192.168.2.2:9443; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } }

Mon problème est que, bien que j'arrive à accéder à ma page secret.domain.com depuis mon téléphone via VPN, je ne peux pas y accéder depuis mon PC ou un Mac sur différents réseaux. Cependant, cela fonctionne lorsque j'utilise le partage de connexion depuis mon téléphone.

Lorsque je vérifie les logs Nginx depuis mon téléphone en 4G, je vois l'adresse IP de mon routeur, tandis que depuis le PC, j'obtiens l'adresse IP publique de l'endroit où je me trouve actuellement. Pourtant, lorsque je consulte monip.org, j'obtiens bien l'adresse IP publique de mon routeur VPN.

Avez-vous des idées sur ce qui pourrait provoquer ce comportement et comment je pourrais résoudre ce problème ? Toute aide serait grandement appréciée.

Merci d'avance
 
Dernière édition:
Bonjour MilesTEG1,

Oui en mode brige

YAML:
version: "2"

services:
  swag:
    image: linuxserver/swag:latest
    container_name: swag
    cap_add:
      - NET_ADMIN
    labels:
     - com.centurylinklabs.watchtower.enable=true
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - URL=domaine1
      - EXTRA_DOMAINS=domain2,www.domain2
      - SUBDOMAINS=wildcard
      - VALIDATION=dns
      - DNSPLUGIN=ovh
      - EMAIL=contact@email.com
      - DOCKER_MODS=linuxserver/mods:swag-dashboard
    volumes:
      - /docker/swag/config:/config
      - /docker/nextcloud_mariadb/data/nextcloud.log:/var/log/nginx/nextcloud.log
      - /docker/gitea_mysql/data/gitea/log/gitea.log:/var/lib/gitea/log/gitea.log
    ports:
      - 443:443
      - 80:80
    restart: unless-stopped
 
ok c’est bien ce que je pensais.
En mode bridge swag , enfin le nginx dedans, ne pourra pas voir les vraies adresses iP de ce qui se connecte dessus. Ne sera vu que l’adresse de la passerelle du réseau docker . Ou les adresses internet. Mais pas les adresses lan locales.

Essaye de le réinstaller en mode host. Sinon en macvlan pour qu’il ait sa propre iP, mais là il faudra créer en plus une iP virtuelle pour faire le lien entre le nas et le conteneur swag .
 
Merci pour ta reponse.
En mode host j'ai le meme probleme..

J'ai créé une macvlan mais j'ai pas compris comment céer en plus une iP virtuelle pour faire le lien entre le nas et le conteneur swag .
 
Code:
docker network create -d macvlan \
  --subnet=192.168.2.0/24 \
  --gateway=192.168.2.1 \
  -o parent=eth0 \
  --ip-range=192.168.2.0/24 \
  swag_macvlan
YAML:
networks:
      swag_macvlan:
        ipv4_address: 192.168.2.10

networks:
  swag_macvlan:
    external: true

mais j'ai une erreur :
nginx: [warn] "ssl_stapling" ignored, host not found in OCSP responder "r3.o.lencr.org" in the certificate "/config/keys/cert.crt"
 
Je suis sur mobile là, je vais voir pour récupérer mes scripts de création de macvlan et d’interface virtuelle.

Mais normalement en host tu ne devrais pas avoir de problèmes. Il faut juste désactiver et désinstaller le reverse proxy de adm.
Je te posterais aussi mon docker compose.
Tu installes via le terminal en ligne de commande ? Ou bien via portainer ?
 
Bonjour

Je confirme qu'il faut le faire via macvlan car j'avais le même problème en bridge et host. En macvlan tout fonctionne parfaitement et on voit bien les ip réelles

Voir mon topic Ici
 
Merci pour vos informations

J'ai reussi à mettre en place la macvlan et l'adresse virtuelle entre les deux, je ping entre mon hote et container, ce dernier résout bien les urls via la commande nslookup

Mais mes redirections proxy ssl ne fonctionne plus

J'ai aucune erreurs dans les logs access.log errors.log ni sur dans la console du docker

Une idée ?
 
Erreur de debutant, j'avais oublié de changé la nouvelle IP sur mon routeur.

Bon d'ailleurs le problème persiste mais se situe au niveau de mon firewall UDM Pro.

Toutes les connexions qui passent par ce port forwarding affichent l'adresse IP interne du UDM Pro, et non l'adresse IP externe du client, comme on pourrait s'y attendre normalement.
 
Attention il faut également que ton conteneur swag puisse accéder également aux éventuels autres conteneur sur lesquels tu pointes si ils font pas partis de la même gamme ip
 
Oui c'est le cas, mon reverse proxy fonctionne sur l'ensemble du reseau.

J'ai suivi à lettre sur internet les différents tutoriaux

Je suis entrain d'installer un Pfsense pour faire des tests et confirmer que mon probleme se situe au niveau de mon firewall en plus du reste

Je reviens vers vous
Merci
 
  • J'aime
Réactions: MilesTEG
Je reviens vers vous, j'ai toujours le meme probleme avec Pfsense, je vois toujours l'ip de mon routeur dans les logs et celle des clients :/
 
Dernière édition:
Je comprends toujourspas pourquoi avec mon téléphone, je vois bien l'ip attribué par mon VPN dans les logs de Nginx mais pas avec mes ordinateurs connectés sur un autre réseau mais si je fais un partage de connexion ca fonctionne depuis mon téléphone à mes ordinateurs

Quelle est la raison que mon téléphone envoi bien l'IP ?

Merci pour votre aide 🙏
 
Quand je suis en ipv6 connecté en VPN à mon reseau local, nginx reverse proxy me retourne bien l'ip attribuée par mon serveur vpn dans les logs par contre en ipv4 j'ai celle de mon routeur ou public de l'endroit où je suis connecté

Actuellement je suis en macvlan, mais idem en host ou en bridge