Vous utilisez un navigateur obsolète. Il se peut qu'il n'affiche pas correctement ce site ou d'autres. Vous devez le mettre à niveau ou utiliser un navigateur alternatif.
Merci pour ce tuto qui m'a permis de mettre en oeuvre swag sur mon nas DIY.
Mon nas DIY est compose
Processeur : Amd Athlon II X2 215
Ram : 4Go
Stockage : 2 DD de 6To
Os : OMV 5.6.26-1
Sur mon reseau local mon nas a pour Ip 192.168.1.186 (sur lequel tourne openmediavault qui héberge (grâce a docker (nextcloud, nextclouddb, swag)) un nextcloud accessible par l'Url ar.duckdns.org/nextcloud
Mon nas est connecte a ma Freebox dont les ports sont rediriges comme suit :
80 (internet) vers : 80 de la machine 192.168.1.186
443 (internet) vers : 443 de la machine 192.168.1.186
Je souhaiterais a ajouter une autre machine sur le réseau : un serveur web 192.168.1.196 pour heberger deux sites web dynamique (ayant chacun un nom de domaine différents soit testrl.fr et exemplerl.fr
Y a t il un moyen pour configurer swag afin que les requêtes venant du web du type :
ar.duckdns.org/nextcloud soient dirigées vers la machine 192.168.1.186 (port 80 et 443)
testrl.fr soient dirigées vers la machine 192.168.1.186 (port 80 et 443)
exemplerl.fr soient dirigées vers la machine 192.168.1.186 (port 80 et 443)
Bien sur, dans SWAG, sert toi du template d'exemple _template.subdomain.conf.sample qui ce trouve dans config/nginx/proxy-confs :
Exemple , dans le cas de testrl.fr, si tu souhaite que testrl.fr renvoi vers l'adresse local 192.168.1.186:80 alors dans le dossier proxy-confs créer un fichier nommé testrl.subdomain.conf qui contient ceci :
Code:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name testrl.fr;
include /config/nginx/ssl.conf;
client_max_body_size 0;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app 192.168.1.186;
set $upstream_port 80;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
}
A confirmer, mais il me semble que server_name peut contenir plusieurs noms, dans ce cas tu pourrai déclarer testrl.fr et exemplerl.fr dans la meme config, comme ceci :
Code:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name testrl.fr exemplerl.fr;
include /config/nginx/ssl.conf;
client_max_body_size 0;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app 192.168.1.186;
set $upstream_port 80;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
}
Bien sur, ces nom de domaine doivent etre configurer dans SWAG pour que le certificat généré soit OK. Cela ce passe avec la variable du conteneur : EXTRA_DOMAINS=testrl.fr,exemplerl.fr
Bonjour à tous,
j'ai installé swag sur mon AS3302T, mais je bute sur le reverse proxy avec un serveur domoticz sur un raspberry sur mon réseau.
Sur la console du conteneur swag (j'utilise portainer) je vois l'ip 192.168.0.10, je peux même faire un wget http://192.168.0.10, mais lorsque je me connecte à mon https://xxxx.dyndns.org/Domoticz mon .conf me ramène systématiquement vers un
404 Not Found
j'en peux plus ! Si quelqu'un peut m'aider.. Au moins m'indiquer comment débuguer ce genre de problème, je ne trouve pas.
vi /volume1/Docker/Swag/config/nginx/proxy-confs/domoticz.subfolder.conf
Ton fichier conf pour domoticz devrai ressembler a cela :
Code:
location ^~ /domoticz/ {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app 192.168.0.10;
set $upstream_port 8080;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
Par contre, pourquoi tu as des choses comme :
- resolver 192.168.0.254; mais visiblement tu l'intègre manuellement plutot que de laisser la ligne #include /config/nginx/resolver.conf;
- proxy_pass http://192.168.0.10:8080; Bien que fonctionnel, ce n'est pas la "norme" des confs SWAG
- rewrite /Torrents(.*) $1 break; et proxy_set_header X-Deluge-Base "/Torrents/";
location ^~ /Domoticz/ {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
proxy_pass http://192.168.0.10:8080;
}
Pas mieux. Pour le resolv.conf j'ai fait pas mal de tests, c'est pour ça.
cat /volume1/Docker/Swag/config/nginx/resolver.conf
Code:
# This file is auto-generated only on first start, based on the container's /etc/resolv.conf file. Feel free to modify it as you wish.
resolver 127.0.0.11 valid=30s;
root@Swag:/#curl http://192.168.0.10:8080 |more
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
C'est pareil. Le pire c'est que j'ai un serveur jeedom sur une ip 192.168.0.14 et un jellyfin sur le NAS sur le port 8096 et ça fonctionne (certes pas avec la même conf mais le proxy_pass est pareil)
Il va falloir penser a passer sur OMV6 OMV5 est End-of-Life
Bien sur, dans SWAG, sert toi du template d'exemple _template.subdomain.conf.sample qui ce trouve dans config/nginx/proxy-confs :
Exemple , dans le cas de testrl.fr, si tu souhaite que testrl.fr renvoi vers l'adresse local 192.168.1.186:80 alors dans le dossier proxy-confs créer un fichier nommé testrl.subdomain.conf qui contient ceci :
Code:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name testrl.fr;
include /config/nginx/ssl.conf;
client_max_body_size 0;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app 192.168.1.186;
set $upstream_port 80;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
}
A confirmer, mais il me semble que server_name peut contenir plusieurs noms, dans ce cas tu pourrai déclarer testrl.fr et exemplerl.fr dans la meme config, comme ceci :
Code:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name testrl.fr exemplerl.fr;
include /config/nginx/ssl.conf;
client_max_body_size 0;
location / {
include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf;
set $upstream_app 192.168.1.186;
set $upstream_port 80;
set $upstream_proto http;
proxy_pass $upstream_proto://$upstream_app:$upstream_port;
}
}
Bien sur, ces nom de domaine doivent etre configurer dans SWAG pour que le certificat généré soit OK. Cela ce passe avec la variable du conteneur : EXTRA_DOMAINS=testrl.fr,exemplerl.fr
Cela va vous créer un dashboard.subdomain.conf dans le dossier proxy-confs. qui par défaut n'autorise que les ip de réseau interne; si on tente d'accéder de l’extérieure, nous avons un beau :
Salut ^^
J'ai installé SWAG en docker macvlan sur mon Synology, je suis en phase de test, et pour le moment mes fichiers de conf fonctionnent bien.
Me reste une chose à faire, c'est utiliser le Fail2Ban intégré plutôt que celui d'une instance séparée.
Mais j'ai besoin des notifications emails, et pour ça, il me faut trouver comment indiquer à F2B le serveur SMTP à utiliser ainsi que les identifiants de ce serveur.
Mais là, malgré mes recherches, je ne trouve pas comment faire.
Quelqu'un saurait-il comment faire ?
Il y a bien des fichiers de configuration pour sendmail, mais dedans je ne vois pas de quoi spécifier un serveur SMTP et les identifiants de connexion...
C'est bien là tout le soucis...
Je n'ai pas de commande dans le action.d/sendmail-whois.conf
NGINX:
# Fail2Ban configuration file
#
# Author: Cyril Jaquier
#
#
[INCLUDES]
before = sendmail-common.conf
mail-whois-common.conf
[Definition]
# bypass ban/unban for restored tickets
norestored = 1
# Option: actionban
# Notes.: command executed when banning an IP. Take care that the
# command is executed with Fail2Ban user rights.
# Tags: See jail.conf(5) man page
# Values: CMD
#
actionban = printf %%b "Subject: [Fail2Ban] <name>: banned <ip> from <fq-hostname>
Date: `LC_ALL=C date +"%%a, %%d %%h %%Y %%T %%z"`
From: <sendername> <<sender>>
To: <dest>\n
Hi,\n
The IP <ip> has just been banned by Fail2Ban after
<failures> attempts against <name>.\n\n
Here is more information about <ip> :\n
`%(_whois_command)s`\n
Regards,\n
Fail2Ban" | <mailcmd>
[Init]
# Default name of the chain
#
name = default
Mais maintenant que je sais quoi chercher, j'ai trouvé dans le sendmail-common.conf ceci :
NGINX:
# Fail2Ban configuration file
#
# Common settings for sendmail actions
#
# Users can override the defaults in sendmail-common.local
[INCLUDES]
after = sendmail-common.local
[Definition]
# Option: actionstart
# Notes.: command executed on demand at the first ban (or at the start of Fail2Ban if actionstart_on_demand is set to false).
# Values: CMD
#
actionstart = printf %%b "Subject: [Fail2Ban] <name>: started on <fq-hostname>
Date: `LC_ALL=C date +"%%a, %%d %%h %%Y %%T %%z"`
From: <sendername> <<sender>>
To: <dest>\n
Hi,\n
The jail <name> has been started successfully.\n
Regards,\n
Fail2Ban" | <mailcmd>
# Option: actionstop
# Notes.: command executed at the stop of jail (or at the end of Fail2Ban)
# Values: CMD
#
actionstop = printf %%b "Subject: [Fail2Ban] <name>: stopped on <fq-hostname>
Date: `LC_ALL=C date +"%%a, %%d %%h %%Y %%T %%z"`
From: <sendername> <<sender>>
To: <dest>\n
Hi,\n
The jail <name> has been stopped.\n
Regards,\n
Fail2Ban" | <mailcmd>
# Option: actioncheck
# Notes.: command executed once before each actionban command
# Values: CMD
#
actioncheck =
# Option: actionban
# Notes.: command executed when banning an IP. Take care that the
# command is executed with Fail2Ban user rights.
# Tags: See jail.conf(5) man page
# Values: CMD
#
actionban =
# Option: actionunban
# Notes.: command executed when unbanning an IP. Take care that the
# command is executed with Fail2Ban user rights.
# Tags: See jail.conf(5) man page
# Values: CMD
#
actionunban =
[Init]
# Your system mail command
#
mailcmd = /usr/sbin/sendmail -f "<sender>" "<dest>"
# Recipient mail address
#
dest = root
# Sender mail address
#
sender = fail2ban
# Sender display name
#
sendername = Fail2Ban
Je suppose que la commande est là :
# Your system mail command
#
mailcmd = /usr/sbin/sendmail -f "<sender>" "<dest>"
Je testerais demain, là il est grand temps que j'aille me coucher
Merci pour l'aide ^^
@Poluxor Tu peux me confirmer que ça chiffre bien le transfert du MDP et du mail envoyé ?
Par contre, pas moyen de faire fonctionner des variables dans la commande avec des <variable_1>.
Enfin faudrait que je retente les variables avec cette commande mise dans le sendmaim-common.local car j'ai essayé hier avec la commande dans le jail.local dans la partie default, mais ça n'a pas marché. (ni même cette commande en claire...
Sinon j'ai constaté une différence entre le fail2ban intégré à SWAG et celui crazy-max/fail2ban : il y a ssmtp présent dans l'image crazy-max/fail2ban et pas dans celle de SWAG.
D'ailleurs quand je regarde les variables d'environnement que j'utilise pour l'image crazy-max/fail2ban, c'est
YAML:
- SSMTP_HOST=smtp.gmail.com
- SSMTP_PORT=587 # Pour gmail : 587
- SSMTP_HOSTNAME=Docker-Fail2ban # Ce sera le nom qui sera affiché dans les emails
- SSMTP_USER=mon-mail@gmail.com
- SSMTP_PASSWORD=MON-MDP
Du coup je suis partagé entre l'envie de continuer à utiliser le fail2ban dédié (crazy-max/fail2ban) et celui de SWAG...
Car pour les deux, je peux avoir accès aux mêmes log... suffit de bien mettre les volumes