TP PROXMOX 2e année 

SavoirsMinima ImposéVersion amélioré 
Noms de Domaines – DNS – BINDUNBOUND
Annuaires(AD) NIS / NFS OpenLDAPGlusterFS
Partage de FichiersSAMBA Mode partage SAMBA Mode contrôleur de donnés
Haute disponibilité SQLMaster / Slave Multi Master 
Gestion de config AnsiblePuppet

Service DNS (Domain Name Service)

Installation et configuration du service DNS BIND

BIND (Berkeley Internet Name Domain) est un logiciel de serveur DNS (Domain Name System) largement utilisé pour traduire les noms de domaine (comme exemple.com) en adresses IP numériques (comme 192.168.1.100) et vice versa.

Mise à jour des paquets et installation du service bind9

apt update
apt upgrade
apt install bind9

Vérifier que le service est bien installé 

systemctl status bind9

Fichier Host dans /etc/hosts

plusieurs choix: 

si peu de machines alors modification possible du fichier hosts manuellement

si plusieurs machines alors installation d’un service DNS.

Dans le cas d’une installation d’un service DNS.

Il faut une modification du fichier /etc/bind/named.conf pour indiquer que ce conteneur devient le serveur DNS.


Rajouter : 

zone nomdedomaine IN {
type master;
file « /etc/bind/db/db.nomdedomaine »;
allow-update {  none;  } ;
};

“nomdedomaine” étant le nom de domaine que vous choisissez

Créer un fichier et copier le fichier de base de donnée vide vers le chemin indiqué dans named.conf

Mettre à jour les informations du fichier pour correspondre au conteneur 

nano db.bind.tp

redémarrer le service : 

systemctl restart bind9

Utiliser named-checkzone pour vérifier que le DNS est compris dans bind 

modifier le fichier /etc/resolv.conf

ne pas oublier de rajouter le FQDN dans le fichier /etc/hosts

Ping nom de domaine 

Installation et configuration de Unbound :

Recréer un nouveau de conteneur pour tester ce service

Mettre à jour le conteneur et installer piunbound avec ces commandes :

Cela va installer les fichiers de unbound, pour commencer la configuration, nous irons dans /etc/unbound/unbound.conf

Mise en place d’un nom de domaine sur l’adresse IP du conteneur. Création d’une zone locale. Avant, il faudra initialiser l’interface et le port d’écoute : 0.0.0.0 pour écouter toutes les IP possibles (aucune contrainte) et port 53 (Port UDP utilisé par le service DNS)

# Adresse IP d’écoute
server:
    interface: 0.0.0.0
    port: 53

# Activer les requêtes IPv4
do-ip4: yes

# Désactiver IPv6 si non utilisée
do-ip6: no

# Autoriser les requêtes TCP
do-tcp: yes

# Autoriser les requêtes UDP
do-udp: yes

# Masquer l’identité de la machine lors d’une requête DNS
hide-identity: yes
hide-version: yes

# Permissions d’accès
access-control: 192.168.1.0/24 allow

# Zone locale
domain-insecure: « tp »
private-domain: « tp »

local-zone: « tp. » static
local-data: « sio.tp. IN A [adresse ip du serveur DNS] »
local-data: « www.sio.tp. IN CNAME sio.tp »

[rajouter autant de ligne que d’enregistrement DNS]

Redémarrer le service Unbound : 

systemctl restart unbound

Modification du fichier /etc/resolv.conf 

// pas nécessaire de modifier si les paramètres DNS

Il ne nous reste plus qu’à essayer de ping le serveur DNS avec son nom de domaine : 

(tests de pings sur nouveau CT avec les paramètres DNS)

PS: En utilisant Bind, nous pouvons attribuer un nom de domaine à une adresse IP avec une zone inversée. Cette option n’est pas disponible sur Unbound.

Service d’annuaire avec NIS

Installation et configuration du service NIS (Serveur)

préciser que les conteneurs soient en privileged mode

apt install nis -y

Mise en place du nom de domaine 

echo « [nom de domaine] » | tee /etc/defaultdomain

En bash, effectuer :

nisdomainname [nomdedomaine]

préciser le nom de domaine dans /etc/hosts

nano /etc/hosts
[Nom de domaine] [FQDN] [alias du FQDN]

Pour la configuration du fichier de conf, éditer le fichier /etc/ypserv.conf

#Ajouter ces lignes

dns: no
files: 30
xfr_check_port: yes

Modification du fichier /etc/ypserv.securenets (définir les adresses IP autorisées à se connecter au serveur NIS)

Installation de dépendances supplémentaires pour NIS 

Création de la bdd (ctrl + D pour enregistrer)

/usr/lib/yp/ypinit -m

Ajouter le nom des machine dont vous autorisez la connexion

Afin de créer un utilisateur pour se connecter à distance

useradd -m [Username]
passwd [Username]
groupadd [Group]
usermod -a -G [Group] [Username]
chmod u=rwx /home/[Username]     #Permissions de l’utilisateur sur le fichier racine de l’utilisateur
chmod g=rw /home/[Username]     #Permissions de groupe sur le fichier racine de l’utilisateur

Restart le service ypserv

Mettre à jour la BDD après chaque changement

make -C /var/yp

Les modifications sont enregistrées 

Afin de vérifier que NIS est fonctionnel sur le serveur

Vérifiez que le serveur NIS est à l’écoute des requêtes :

apt install net-tools
netstat -tulpn | grep ypserv

Vous devriez voir ypserv écouter sur plusieurs ports.

Installation et configuration du service NIS Client

apt update && apt upgrade -y
apt install nis

Mise en place du nom de domaine 

echo « [nom de domaine] » | tee /etc/defaultdomain

En bash, effectuer :

nisdomainname [nomdedomaine]

Configuration du DN

nano /etc/yp.conf

modifier ces lignes dans /etc/nsswitch.conf

Pour activer le service du client ypbind :

systemctl start ypbindsystemctl enable ypbind

Afin de vérifier que NIS est fonctionnel

  • Vérifiez le nom de domaine NIS sur le client :
domainname
  • Vérifiez si le client peut contacter le serveur NIS :
ypwhich

Afin de se connecter à l’utilisateur distant : login

Service de transfert de fichier avec NFS (complément de NIS)

Configuration du serveur NFS

Installation des paquets :

apt install nfs-kernel-server

Création du répertoire à partager

Créez un répertoire à partager, par exemple :

mkdir -p /export/home

Éditez le fichier /etc/exports

nano /etc/exports

Ajoutez une ligne pour le répertoire partagé :

/export/home    [Adresse IP du réseau ou * pour all](rw,sync,no_subtree_check)

Configuration du client NFS

Installez les paquets NFS :

apt install nfs-common

Créez un point de montage pour le répertoire partagé :

bash
mkdir -p /home/nfs

Éditez le fichier /etc/fstab :

nano /etc/fstab

ip_du_serveur_nfs:/export/home    /home/nfs   nfs   defaults   0   0
Par ex :
192.168.1.100:/export/home  /mnt/home  nfs   rw,hard,intr,timeo=600   0   0

Redémarrez les services :

systemctl restart nis
mount -a

Tester :

showmount -e localhost

Service d’annuaire avec OpenLDAP

Installation

apt update && upgrade
apt install slapd ldap-utils ufw -y

/etc/hosts :

127.0.1.1       [Hostname]
[Adresse IP du serveur LDAP]   [Hostname].[FQDN] [Hostname] [FQDN]

conf pare-feu :
ufw allow port 389/tcp
ufw allow port 636/tcp
dpkg-reconfigure slapd

Répondez « Non » à « Voulez-vous omettre la configuration d’OpenLDAP ? »

Nom de domaine DNS : servldap.fr

Nom d’organisation : servldap

Mot de passe administrateur : [choisissez un mot de passe fort]

Moteur de base de données : MDB

Supprimer la base lors de la purge : Oui

Déplacer l’ancienne base de données : Oui

Vérif conf :

slapcat

Créer le dossier /etc/ldap/changes

mkdir /etc/ldap/changes

Créer le fichier /etc/ldap/changes/update_config.ldif

nano /etc/ldap/changes/update_config.ldif

/etc/ldap/changes/update_config.ldif

dn: olcDatabase={1}mdb,cn=config
changetype: modify
replace: olcSuffix
olcSuffix: dc=servldap,dc=fr

replace: olcRootDN
olcRootDN: cn=admin,dc=servldap,dc=fr

replace: olcRootPW
olcRootPW: {SSHA}votre_nouveau_hash_de_mot_de_passe

ldapmodify -Y EXTERNAL -H ldapi:/// -f update_config.ldif

Créer fichier /etc/ldap/changes/add_ou.ldif :

touch /etc/ldap/changes/add_ou.ldif

Permission sur fichier add_ou.ldif :

chmod 644 /etc/ldap/changes/add_ou.ldif

/etc/ldap/changes/add_ou.ldif :

dn: ou=users,dc=servldap,dc=fr
objectClass: organizationalUnit
ou: users

ldapadd -x -D cn=admin,dc=servldap,dc=fr -W -f /etc/ldap/changes/add_ou.ldif

Créer le fichier /etc/ldap/changes/update_serverID.ldif :

nano /etc/ldap/changes/update_serverID.ldif
/etc/ldap/changes/update_serverID.ldif :

dn: cn=config
changetype: modify
replace: olcServerID
olcServerID: 0 ServeurLDAP.servldap.fr

ldapmodify -Y EXTERNAL -H ldapi:/// -f update_serverID.ldif

Créer le fichier /etc/ldap/changes/add_base.ldif :

nano /etc/ldap/changes/add_base.ldif
/etc/ldap/changes/add_base.ldif :

dn: dc=servldap,dc=fr
objectClass: top
objectClass: dcObject
objectClass: organization
o: ServeurLDAP
dc: servldap

ldapadd -x -D cn=admin,dc=servldap,dc=fr -W -f /etc/ldap/changes/add_base.ldif

Créer le fichier /etc/ldap/changes/add_user.ldif :

nano /etc/ldap/changes/add_user.ldif :

/etc/ldap/changes/add_user.ldif :

dn: uid=ebaron,ou=users,dc=servldap,dc=fr
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: Erwann Baron
sn: Baron
givenName: Erwann
uid: jdupont
uidNumber: 10000
gidNumber: 10000
homeDirectory: /home/ebaron
loginShell: /bin/bash
userPassword: {SSHA}E8rboh823CDLQ23TC47ce1PCMU6sfe4o

Générer un hashage de votre mot de passe d’utilisateur avec slappasswd 

Ajouter la règle :

ldapadd -x -D cn=admin,dc=servldap,dc=fr -W -f /etc/ldap/changes/add_user.ldif

PS : Si d’autres users sont nécessaires il suffit de recréer un fichier add_user2, et de refaire une conf

Partie Certification et TLS

Création de User Automatique :

(script à part)

#!/bin/bash

# Demander le nom, prénom et le mot de passe à l’utilisateur
read -p « Entrez votre nom:  » nom
read -p « Entrez votre prénom:  » prenom
read -sp « Entrez votre mot de passe:  » password; echo

# Générer le uid à partir du prénom et du nom
uid=$(echo « ${prenom:0:1}${nom} » | tr ‘[:up per:]’ ‘[:lower:]’)

# Trouver le prochain numéro d’utilisateur disponible
availableUID=$(($(ls /etc/ldap/changes/ | grep -c ‘add_user’) + 1))
for i in $(seq 1 $availableUID); do
    if [ ! -f « /etc/ldap/changes/add_user$((i-1)).ldif » ]; then
        availableUID=$i
        break
    fi
done

# Créer le fichier LDIF pour ajouter l’utilisateur

cat <<EOF > /etc/ldap/changes/add_user$((availableUID-1)).ldif
dn: uid=$uid,ou=users,dc=servldap,dc=fr
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
cn: $prenom $nom
sn: $nom
givenName: $prenom
uid: $uid
uidNumber: $availableUID
gidNumber: 0
homeDirectory: /home/$uid
loginShell: /bin/bash
userPassword: $(slappasswd -s « $password »)
EOF

# Ajouter l’utilisateur dans l’annuaire LDAP

ldapadd -x -D cn=admin,dc=servldap,dc=fr -W -f /etc/ldap/changes/add_user$((availableUID-1)).ldif

#Script pour supprimer un user

#!/bin/bash

# Demander le nom d’utilisateur à supprimer
read -p « Entrez le nom d’utilisateur à supprimer :  » username

# Créer le fichier LDIF pour la suppression
cat << EOF > /etc/ldap/changes/delete_user.ldif
dn: uid=$username,ou=users,dc=servldap,dc=fr
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
changetype: delete
EOF

# Supprimer l’utilisateur de l’annuaire LDAP

ldapdelete -x -D cn=admin,dc=servldap,dc=fr -W -f /etc/ldap/changes/delete_user.ldif

Haute disponibilité SQL

-Haproxy

-ProxySQL

  1. Master slave

Maria db master

  1. Multimaster
https://www.formatux.fr/formatux-services/module-133-mysql-master-master/index.html
  1. Clusters
Catégories : Système

0 commentaire

Laisser un commentaire

Emplacement de l’avatar

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *