Aller au contenu

Rechercher dans la communauté

Affichage des résultats pour les étiquettes 'HAProxy'.



Plus d’options de recherche

  • Rechercher par étiquettes

    Saisir les étiquettes en les séparant par une virgule.
  • Rechercher par auteur

Type du contenu


Forums

  • Bienvenue
    • Nouveau ? Présentez-vous
    • Le bistrot
    • Mon installation domotique
    • Annonces et suggestions
  • La Home Center et ses périphériques
    • La Home Center pour les nuls
    • HC 2 & Lite
    • HC 3
    • Modules Fibaro
    • Modules Z-wave
    • Périphériques et matériels autres
    • Plugins
    • Quick App
    • Multimédia (audio, vidéo ...)
    • Chauffage et Energie
    • Actionneurs & Ouvrants (Portail, volets, piscines, ...)
    • Eclairage
    • Applications Smartphones et Tablettes
  • Autres solutions domotiques
    • Box / Logiciel
    • Modules Nice (433 & 866 MHz)
    • Modules Zigbee
    • GCE Electronics
    • Modules Bluetooth Low Energy
  • Objets connectés
    • Les Assistants Vocaux
    • Netatmo
    • Philips Hue
    • DIY (Do It Yoursel)
  • Sécurité
    • Alarmes
    • Caméras
    • Portiers
    • Serrures
  • Informatique / Réseau
    • Tutoriels
    • Matériels Réseaux
    • Matériels Informatique
    • NAS
    • Virtualisation
  • Les bonnes affaires
    • Sites internet
    • Petites annonces

Rechercher les résultats dans…

Rechercher les résultats qui…


Date de création

  • Début

    Fin


Dernière mise à jour

  • Début

    Fin


Filtrer par nombre de…

Inscription

  • Début

    Fin


Groupe


Jabber


Skype


Ville :


Intéret :


Version

2 résultats trouvés

  1. Installation reverse proxy Haproxy et Cerbot (letsencrypt) sur debian (Topics En cours de construction) Je vais vous expliquez comment installer un reverse proxy via Haproxy sur linux debian Matériel nécessaires : 1 nom de domaine (dans ce tutoriel j'utiliserai domaine.fr) donc pour par exemple DSM j'utiliserai le sous domaine suivant dsm.domaine.fr hc2.domaine.fr unifi.domaine.fr ces sous domaines doivent être créés chez votre fournisseur de domaine 1 routeur ou box internet 1 machine qui tourne sous debian (dans cette exemple je considère que l'adresse IP sera 192.168.0.100) Je vous recommande fortement surtout pour les personnes qui ne connaissent pas bien linux de ne pas installer autre chose que haproxy sur cette machine afin d'éviter les conflits de ports Installation de linux debian : Configuration du routeur il va falloir rediriger les ports 80 et 443 du routeur vers les ports 80 et 443 de notre machine debian haproxy Installation de Haproxy via Putty apt-get install haproxy j'ai rencontré une problème lors de cette installation je ne sais pas si cela pareil pour vous Si probléme erreur 1 executer les commandes suivantes : mv /var/lib/dpkg/info/haproxy.* /tmp apt autoremove apt-get install -f haproxy Maintenant que l'installation de Haproxy est terminer je vous donne les commandes pour redémarrer stopper ou redémarrer haproxy (Cela sera utile car a chaque modification du fichier config il faudra redémarrer haproxy) -- lancement haproxy service haproxy restart service haproxy start service haproxy stop Nous en avons fin avec l'installation de Haproxy nous allons maintenant ouvrir le fichier de configuration Haproxy soit via winscp /etc/haproxy/haproxy.cfg soit via Putty nano /etc/haproxy/haproxy.cfg Voici un Exemple de configuration pour avoir un accès un NAS synology, Home center 2 et un contrôleurs Unifi en HTTPS (pour le moment vous aurez des erreur car nous n'avons pas de certificat) global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon maxconn 2048 # Default SSL material locations ca-base /etc/ssl/certs crt-base /etc/ssl/private # Default ciphers to use on SSL-enabled listening sockets. # For more information, see ciphers(1SSL). This list is from: # https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ # An alternative list with additional directives can be obtained from # https://mozilla.github.io/server-side-tls/ssl-config-generator/?server=haproxy ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:RSA+AESGCM:RSA+AES:!aNULL:!MD5:!DSS ssl-default-bind-options no-sslv3 tune.ssl.default-dh-param 2048 defaults log global mode http option httplog option forwardfor option http-server-close option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 errorfile 400 /etc/haproxy/errors/400.http errorfile 403 /etc/haproxy/errors/403.http errorfile 408 /etc/haproxy/errors/408.http errorfile 500 /etc/haproxy/errors/500.http errorfile 502 /etc/haproxy/errors/502.http errorfile 503 /etc/haproxy/errors/503.http errorfile 504 /etc/haproxy/errors/504.http #--------------------------------------------------------------------------- # teste de la configuration : haproxy -c -V -f /etc/haproxy/haproxy.cfg # demmarrer Haproxy : service haproxy (restart, start, stop) # voir les logs : less /var/log/haproxy.log #--------------------------------------------------------------------------- #------------------------------------------------------------------------------ # H T T P #------------------------------------------------------------------------------ frontend http-in option http-keep-alive compression algo gzip compression type text/html text/plain text/css application/x-javascript bind :::80 v4v6 acl letsencrypt-acl path_beg /.well-known/acme-challenge reqadd X-Forwarded-Proto:\ http mode http option httplog #******************************************************** # Define hosts http #******************************************************** #acl unifi hdr(host) unifi.domaine.fr #******************************************************** # Use backend #******************************************************** #use_backend backendUNIFI if unifi #******************************************************** use_backend letsencrypt-backend if letsencrypt-acl default_backend www-backend # default_backend poubelle #------------------------------------------------------------------------------ # H T T P S #------------------------------------------------------------------------------ frontend https-in bind :::443 ssl crt /etc/haproxy/certs/ no-sslv3 reqadd X-Forwarded-Proto:\ https acl letsencrypt-acl path_beg /.well-known/acme-challenge #******************************************************** # Define hosts https #******************************************************** acl dsm hdr(host) dsm.domaine.fr acl unifi hdr(host) unifi.domaine.fr acl hc2 hdr(host) hc2.domaine.fr #******************************************************** # Use backend #******************************************************** use_backend backendDSM if dsm use_backend backendUNIFI if unifi use_backend backendHC2 if hc2 #******************************************************** use_backend letsencrypt-backend if letsencrypt-acl default_backend www-backend #----------------------------------------------------------------------------- # Define backend #----------------------------------------------------------------------------- backend www-backend redirect scheme https if !{ ssl_fc } server www-1 127.0.0.1:8888 check backend letsencrypt-backend server letsencrypt 127.0.0.1:8888 backend poubelle mode http http-request deny backend backendDSM mode http option httpchk option forwardfor except 127.0.0.1 http-request add-header X-Forwarded-Proto https if { ssl_fc } server DSM_ESXI 192.168.0.101:5000 backend backendHC2 mode http option httpchk option forwardfor except 127.0.0.1 http-request add-header X-Forwarded-Proto https if { ssl_fc } server HC2 192.168.0.150:80 backend backendUNIFI mode http option httpchk option forwardfor except 127.0.0.1 http-request add-header X-Forwarded-Proto https if { ssl_fc } server unifi 192.168.0.201:8443 check maxconn 32 ssl verify none Quels explication sur notre fichier config. il peut le décomposer ne plusieurs partie Paramètre Haproxy La redirection HTTP #------------------------------------------------------------------------------ # H T T P #------------------------------------------------------------------------------ frontend http-in option http-keep-alive compression algo gzip compression type text/html text/plain text/css application/x-javascript bind :::80 v4v6 acl letsencrypt-acl path_beg /.well-known/acme-challenge reqadd X-Forwarded-Proto:\ http mode http option httplog #******************************************************** # Define hosts http #******************************************************** #acl unifi hdr(host) unifi.domaine.fr #******************************************************** # Use backend #******************************************************** #use_backend backendUNIFI if unifi #******************************************************** use_backend letsencrypt-backend if letsencrypt-acl default_backend www-backend # default_backend poubelle La redirection HTTPS #------------------------------------------------------------------------------ # H T T P S #------------------------------------------------------------------------------ frontend https-in bind :::443 ssl crt /etc/haproxy/certs/ no-sslv3 reqadd X-Forwarded-Proto:\ https acl letsencrypt-acl path_beg /.well-known/acme-challenge #******************************************************** # Define hosts https #******************************************************** acl dsm hdr(host) dsm.domaine.fr acl unifi hdr(host) unifi.domaine.fr acl hc2 hdr(host) hc2.domaine.fr #******************************************************** # Use backend #******************************************************** use_backend backendDSM if dsm use_backend backendUNIFI if unifi use_backend backendHC2 if hc2 #******************************************************** use_backend letsencrypt-backend if letsencrypt-acl default_backend www-backend Backend #----------------------------------------------------------------------------- # Define backend #----------------------------------------------------------------------------- backend www-backend redirect scheme https if !{ ssl_fc } server www-1 127.0.0.1:8888 check backend letsencrypt-backend server letsencrypt 127.0.0.1:8888 backend poubelle mode http http-request deny backend backendDSM mode http option httpchk option forwardfor except 127.0.0.1 http-request add-header X-Forwarded-Proto https if { ssl_fc } server DSM_ESXI 192.168.0.101:5000 backend backendHC2 mode http option httpchk option forwardfor except 127.0.0.1 http-request add-header X-Forwarded-Proto https if { ssl_fc } server HC2 192.168.0.150:80 backend backendUNIFI mode http option httpchk option forwardfor except 127.0.0.1 http-request add-header X-Forwarded-Proto https if { ssl_fc } server unifi 192.168.0.201:8443 check maxconn 32 ssl verify none Pour le moment je ne détaillerai pas plus ce ficher je ferai cela ultérieurement Installation de cerbot et non pas d'un plugin pour apache2 ou autres Pour éviter les problèmes de port je vous conseil si apache2 est installer de le supprimer -- suppression apache2 apt remove apache2 -Supprimer des paquets inutile apt autoremove installation cerbot apt-get install -y certbot Création des certificats letsencrypt ne pas modifier le port si vous utiliser l'exemple que je vous ai donné certbot certonly --standalone -d dsm.domaine.fr -d unifi.domaine.fr -d hc2.domaine.fr \--non-interactive --agree-tos --email VotreEmail \--http-01-port=8888 nous allons récupérer le certificats afin qu'il soit utilisable sur Haproxy mkdir /etc/haproxy/certs/ cat /etc/letsencrypt/live/dsm.domaine.fr/fullchain.pem /etc/letsencrypt/live/dsm.domaine.fr/privkey.pem > /etc/haproxy/certs/domaine.fr.pem Puis nous redémarrons HaProxy service haproxy restart
  2. Introduction : Suite à une discussion tenue il y a quelques temps dans le sujet Accès HC2 de l'extérieur, je propose un tutoriel sur le mise en Å“uvre d'un Reverse Proxy avec HAProxy sur un NAS Synology. Certes, c'est de l'informatique, et non pas de la domotique, mais le but principal est d'accéder à nos équipements domotiques (en particulier les box Fibaro Home Center 2 ou Home Center Lite) depuis l'extérieur. La discussion citée précédemment décrit différentes méthodes d'accès aux ressources du réseau local depuis Internet, notamment la technique du Port Forwarding, qui consiste à ouvrir un port TCP coté WAN pour chaque équipement interne à joindre. Cette méthode fonctionne bien si on se connecte à son HC2 depuis la connexion Internet d'un ami, depuis un hôtel, depuis le partage d'accès 3G/4G de son smartphone, ou depuis une entreprise qui ne filtre pas trop les connexions. Mais la plupart des entreprises mettent en place des proxy filtrants, qui ne laissent assez souvent passer que les ports 80 (HTTP) et 443 (HTTPS). Même les connexions FTP, VPN, SSH, etc... sont bloquées, donc forcément les ports personnalisés qu'on a choisi. Donc on doit mettre en place un Reverse Proxy. Sur Synology, on peut utiliser HAProxy, ou sinon on se créer son propre serveur Linux qui fera le boulot. Le principe de fonctionnement est simple : avec notre domaine DNS, on crée autant de sous-domaines qu'on souhaite joindre d'équipements dans notre LAN. Par exemple, dsm.domaine.com, hc2.domaine.com, ecodevice.domaine.com, etc... dans l'interface d'administration du routeur, on redirige le port TCP 80 externe vers le port 80 du NAS qui héberge HAProxy au sein du LAN. dans la configuration de HAProxy, on crée toutes les règles pour rediriger les sous-domaines vers la bonne adresse IP dans le LAN. Le schéma est donc le suivant : Utilisateur sur le WAN => Routeur ADSL => Reverse Proxy => Equipement final (HC2, ...) Glossaire simplifié des termes employés dans ce tutoriel : LAN = Local Area Network, désigne le réseau local domestique WAN = Wide Area Network, désigne Internet Routeur = équipement réseau assurant la communication entre le LAN et le WAN. En France, nous sommes majoritairement équipés de Box Internet prêtées par les fournisseurs d'accès à Internet, telles que Freebox, LiveBox, etc... Adresse IP = adresse sur 4 nombres (par exemple 192.168.1.1) permettant d'identifier un équipement sur le réseau, que ce soit le LAN ou le WAN. A noter que coté WAN, les adresses IP sont uniques sur tout Internet, tandis que coté LAN, on utilise des plages d'adresses dites "privées" (192.168.x.y, ou 172.16.x.y, ou 10.x.y.z) c'est à dire qu'elle ne sont pas visibles depuis Internet. Le routeur se charge d'effectuer de la translation d'adresse, si bien que lorsque nous surfons sur Internet, ce n'est pas l'adresse IP de notre ordinateur/téléphone/tablette qui est vue, mais l'adresse IP externe du routeur. Adresse IP fixe : l'adresse IP fournie par le fournisseur d'accès à Internet peut être fixe (notamment chez Free) ou variable, c'est à dire qu'elle sera différente à chaque nouvelle connexion (ou tranche de 24h, cela dépend). Les adresses IP fixes sont bien sà»r préférables pour pouvoir se connecter chez soit depuis l'extérieur, mais la méthode du DynDNS existe pour s'en sortir même avec une adresse IP variable. Nom de Domaine DNS : sur Internet, nous n'utilisons couramment pas les adresses IP, mais plutôt les noms de domaine, tels que google.com ou domotique-fibaro.fr. Pour chaque domaine, on peut créer pratiquement autant de sous-domaine que l'on souhaite, qui sont placés en préfixe du nom de domaine. Le plus célèbre d'entre eux est www, ce qui donne www.google.com ou www.domotique-fibaro.fr. Il est bien entendu possible de créer le sous-domaine de son choix, afin d'obtenir des adresses telles que hc2.mondomaine.com, ou ecodevices.mondomaine.fr, ... Limitations de ce tutoriel : Je me limite volontairement à l'utilisation du port 80 avec le protocole http non-sécurisé. En effet, si il pourrait paraitre tentant d'utiliser le protocole https sur le port 443, il faut savoir que nous n'avons qu'un certificat auto-signé, donc non reconnu par les navigateurs Web, et donc également par les proxy d'entreprises, qui peuvent rejeter la connexion pour les plus filtrants, par mesure de sécurité. Le but de mon tutoriel étant de passer au travers d'un maximum de proxy d'entreprise, cela a plus de chance de réussir en utilisant le port 80. Dans la pratique, tant que votre nom de domaine n'est pas blacklisté, cela devrait fonctionner. Si vraiment la sécurité est nécessaire, il faut acheter un certificat SSL et l'importer dans la configuration de HAProxy, ce qui sort du cadre de ce tutoriel. De plus, je tourne sous la version 4.3 de DSM, pour plusieurs raisons : C'est un version stable et en production chez moi Comme j'utilise Xpenology dans une machine virtuelle VMware ESXi, la version 5.0 n'est pas encore suffisamment stable à mon goà»t (les derniers patchs posent problème) Cependant, je pense qu'il est aisé de suivre le tutoriel sous la version 5.0 de DSM qui est assez similaire, exceptée la refonte de l'interface graphique. Pré-requis pour ce tutoriel : Une box/routeur Internet Un NAS Synology Un nom de domaine DNS Une adresse IP fixe, ou à défaut un système de DynDNS Liens permettant d'approfondir le sujet : http://forum.hardware.fr/hfr/reseauxpersosoho/Reseaux/synology-dsm-disponible-sujet_5497_686.htm#t741030 http://www.nas-forum.com/forum/topic/39737-tuto-haproxy-et-regroupement-des-parametrages-trouves-sur-le-fofo/
×