Ajustement d'index et ajout ANSIBLE pour la zone PROXY
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
Vous trouverez ici toute la documentation relative au déploiement via Ansible ainsi que des notes et des conseils issue des précédents déploiement.
|
||||
|
||||
# Table des matières
|
||||
1. [Introduction à Ansible](#)
|
||||
1. [Déploiement via Ansible](deploiement_avec_ansible.md)
|
||||
2. [Déploiement via Ansible](deploiement_avec_ansible.md)
|
||||
3. [Notes et conseils](#)
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Ansible
|
||||
|
||||
Nous allons utilisé Ansible pour la création et la configuration de base (mise à jours, proxy...) de tout les container.
|
||||
Nous allons utilisé Ansible pour la création et la configuration de base (mise à jours, proxy...) de tout les conteneurs.
|
||||
|
||||
## Création du container Ansible
|
||||
Avant de lancer la création et l'installation de tout les container il vous faut mettre en place le réseau et les pare-feux ainsi au minimum l'interface admin sur le pare-feu (avec ip virtuelle en .254).
|
||||
## Création du conteneur Ansible
|
||||
Avant de lancer la création et l'installation de tout les conteneurs il vous faut mettre en place le réseau et les pare-feux ainsi au minimum l'interface admin sur le pare-feu (avec ip virtuelle en .254).
|
||||
|
||||
Une fois que c'est fait, créer un container Ansible avec un numéro élevée (253 max).
|
||||
Une fois que c'est fait, créer un conteneur Ansible avec un numéro élevée (253 max).
|
||||
|
||||
### Réseau
|
||||
Au niveau des interfaces réseau, une sur la partie admin, l'autre sur le zone proxy pour l'accès au futur proxy interne.
|
||||
@@ -14,15 +14,15 @@ Au niveau des interfaces réseau, une sur la partie admin, l'autre sur le zone p
|
||||
- eth1 : vmbr1 VLAN: 20 IP:10.0.1.200/24 GW:10.0.1.254
|
||||
|
||||
### Configuration initiale
|
||||
Vous allez générer une clé ed25519 qui servira à l'administation des container.
|
||||
Vous allez générer une clé ed25519 qui servira à l'administation des conteneurs.
|
||||
```
|
||||
ssh-keygen -o -a 100 -t ed25519 -f /root/.ssh/id_ed25519
|
||||
```
|
||||
|
||||
Avant d'installer Ansible, il faut que vous mettiez en place (vous-même) le container du proxy interne. C'est le seul container, avec celui d'Ansible, que vous aurez à créer.
|
||||
Avant d'installer Ansible, il faut que vous mettiez en place (vous-même) le conteneur du proxy interne. C'est le seul conteneur, avec celui d'Ansible, que vous aurez à créer.
|
||||
|
||||
### Connexion au proxy
|
||||
On doit connecter le container au proxy pour qu'il puisse utiliser wget et apt.
|
||||
On doit connecter le conteneur au proxy pour qu'il puisse utiliser wget et apt.
|
||||
|
||||
#### /root/.wgetrc
|
||||
```
|
||||
@@ -46,13 +46,13 @@ apt-get install -y ansible python python3-proxmoxer
|
||||
```
|
||||
Il faut maintenant remplacer `/usr/lib/python3/dist-packages/ansible/modules/cloud/misc/proxmox.py` par le fichier proxmox.py qui est dans le même dossier.
|
||||
|
||||
Maintenant que Ansible est en place, on va pouvoir installer tous les container nécessaires. L'installation va se faire par zone, en commençant par la zone DMZ.
|
||||
Maintenant que Ansible est en place, on va pouvoir installer tous les conteneurs nécessaires. L'installation va se faire par zone, en commençant par la zone DMZ.
|
||||
|
||||
Pour la création des container, nous allons utiliser la librairie python `proxmoxer` qui s'exécute en local. Pour toutes les autres tâches, Ansible se connectera via SSH au container. Pour savoir sur quel container exécuter son playbook, Ansible utilise un inventaire trouvable dans `/etc/ansible/hosts`.
|
||||
Pour la création des conteneurs, nous allons utiliser la librairie python `proxmoxer` qui s'exécute en local. Pour toutes les autres tâches, Ansible se connectera via SSH au conteneur. Pour savoir sur quel conteneur exécuter son playbook, Ansible utilise un inventaire trouvable dans `/etc/ansible/hosts`.
|
||||
|
||||
Pour notre usage, nous allons faire des groupes pour chaque type de container et un groupe pour chaque zone.
|
||||
Pour notre usage, nous allons faire des groupes pour chaque type de conteneur et un groupe pour chaque zone.
|
||||
|
||||
Il vous faut mettre le mot de passe root de proxmox et la clé publique du container Ansible dans un fichier à l'adresse `/root/src/source_pve.yml` et restreindre la lecture `chmod 640 /root/src/source_pve.yml`.
|
||||
Il vous faut mettre le mot de passe root de proxmox et la clé publique du conteneur Ansible dans un fichier à l'adresse `/root/src/source_pve.yml` et restreindre la lecture `chmod 640 /root/src/source_pve.yml`.
|
||||
|
||||
Structure du fichier source_pve.yml :
|
||||
```
|
||||
@@ -60,7 +60,7 @@ pass_pve:
|
||||
ssh_pub:
|
||||
```
|
||||
|
||||
Par exemple, il y aura un groupe HAProxy regroupant tous les container HAProxy et un groupe DMZ regroupant tous les groupes de container DMZ.
|
||||
Par exemple, il y aura un groupe HAProxy regroupant tous les conteneurs HAProxy et un groupe DMZ regroupant tous les groupes de conteneurs DMZ.
|
||||
|
||||
|
||||
## Zone DMZ
|
||||
@@ -94,14 +94,62 @@ pass_hasync_same:
|
||||
pass_dns:
|
||||
```
|
||||
|
||||
### Templace Ferm pour les container
|
||||
### Templace Ferm et scripts pour les conteneurs
|
||||
|
||||
Le playbook Ansible s'occupe aussi de la mise en place d'un pare-feu. Une template a été réalisée pour la sécurisation des container avec ferm. Le détail de cette template est dans proxmox/securisation/template_ferm.md
|
||||
Le playbook Ansible s'occupe aussi de la mise en place d'un pare-feu. Une template a été réalisée pour la sécurisation des conteneurs avec ferm. Le détail de cette template est dans `proxmox/securisation/template_ferm.md`
|
||||
|
||||
Il vous faut mettre dans `/root/src/ferm/` les deux fichiers de configuration fournis (haproxy_ferm.conf & dns_ferm.conf)
|
||||
Il vous faut mettre dans `/root/src/ferm/` les fichiers de configuration qui sont dans `sources/zone_dmz`
|
||||
|
||||
Une fois que tout est fait, vous trouverez le playbook sous le nom de `ct_dmz.yml` dans le dossier zone_dmz.
|
||||
|
||||
Lancez le avec `ansible-playbook ct_dmz.yml`.
|
||||
Lancez le avec
|
||||
```
|
||||
ansible-playbook ct_dmz.yml
|
||||
```
|
||||
|
||||
Normalement tout est prêt, vous pouvez passer à la configuration des services de la zone DMZ.
|
||||
Normalement tout est prêt, vous pouvez passer à la configuration des services.
|
||||
|
||||
## Zone PROXY
|
||||
|
||||
Comme pour la zone DMZ un playbook Ansible est disponible pour l'installation et la sécurisation de base des conteneurs de base de la zone PROXY. Cela comprend les deux reverse proxy Nginx et la mail gateway.
|
||||
|
||||
Voici les tâches à réaliser avant de lancer le playbook.
|
||||
|
||||
### /etc/ansible/hosts
|
||||
Ajoutez
|
||||
```
|
||||
[nginx]
|
||||
10.1.0.104 #Reverse Alpha
|
||||
10.1.0.105 #Reverse Beta
|
||||
|
||||
[mailgw]
|
||||
10.1.0.109 #Mail Gateway
|
||||
|
||||
[zoneproxy:children]
|
||||
nginx
|
||||
mailgw
|
||||
```
|
||||
|
||||
Pour les mots de passe à vous de les générer, il vous faut ensuite les mettre dans ce fichier.
|
||||
|
||||
### /root/src/password_proxy.yml
|
||||
```
|
||||
pass_nginx_alpha:
|
||||
pass_nginx_beta:
|
||||
pass_mailgw:
|
||||
```
|
||||
|
||||
### Templace Ferm pour les conteneurs
|
||||
|
||||
Le playbook Ansible s'occupe aussi de la mise en place d'un pare-feu. Une template a été réalisée pour la sécurisation des conteneurs avec ferm. Le détail de cette template est dans `proxmox/securisation/template_ferm.md`
|
||||
|
||||
Il vous faut mettre dans `/root/src/ferm/` les fichiers de configuration qui sont dans `sources/zone_proxy`
|
||||
|
||||
Une fois que tout est fait, vous trouverez le playbook sous le nom de `ct_proxy.yml` dans le dossier zone_proxy.
|
||||
|
||||
Lancez le avec
|
||||
```
|
||||
ansible-playbook ct_proxy.yml
|
||||
```
|
||||
|
||||
Normalement tout est prêt, vous pouvez passer à la configuration des services.
|
||||
|
||||
Reference in New Issue
Block a user