Documentation du service Réseau interne - CardinPatson/SysAdmin GitHub Wiki
Les fichiers de configuration du service interne se trouvent ici.
Ils sont organisés de la manière suivante :
Qui contient la configuration du resolver situé sur un docker. Dans le named.conf on retrouve les lignes suivantes
| commande | Description |
|---|---|
listen-on-v6 { none; }; |
N'autorise l'écoute pour les adresses ipv6 |
listen-on port 53 { any; }; |
Permettre à tout le monde d'écouter sur le port 53 |
allow-transfer {none;}; |
Permet d'empêcher le transfert de zone car on n'a qu'un serveur pour la zone |
| allow-recursion { 192.168.0.0/24; 192.168.1.0/24; 192.168.2.0/24; 192.168.3.0/24; 192.168.4.0/24; 192.168.5.0/24; 127.0.0.1/32; }; |
Car on veut rediriger les requêtes vers les zones |
forwarders{<br>8.8.8.8<br>192.168.4.1; //secretaire<br>} |
Car on veut utiliser le resolver de google comme serveur secondaire pour les requêtes |
dnssec-enable yes;dnssec-validation yes; |
Activer la sécurisation pour les requêtes dns |
Configuration de la zone dans le fichier named.conf
zone "m1-3.ephec-ti.be." IN {
type forward; // car notre resolver doit rediriger les requêtes destinées à notre zone interne vers notre domaine
forwarders { 176.96.231.203; };
forward only;
};
//INTERNE
zone "intranet.woody" IN{
type forward;
forwarders { 176.96.231.202 }; // Qui est l'intranet représente le soa interne vers lequel le resolveur va rediriger les requêtes
forward only;
}Dossier soa_interne
On a les fichiers qui nous permettent de configurer notre zone:
- named.conf qui réprésente le fichier principale de configuration
| commande | Description |
|---|---|
listen-on-v6 { none; }; |
N'autorise l'écoute pour les adresses ipv6 |
listen-on port 53 { any; }; |
Permettre à tout le monde d'écouter sur le port 53 |
allow-transfer {none;}; |
Permet d'empêcher le transfert de zone car on n'a qu'un serveur pour la zone |
allow-recursion {none }; |
Car on ne veut pas rediriger les requêtes |
recursion no: |
Bloquer la recursion car notre zone ne doit pas transférer les requêtes |
Configuration de la zone
zone "intranet.woody" IN {
type master;
file "/etc/bind/db.intranet.woody"; # Pointe vers le fichier de configuration de la zone
};- db.intranet.woody qui représente le fichier de configuration de la zone
| commande | Description |
|---|---|
$ORIGIN intranet.woody. |
Permet de définir le domaine de notre zone interne |
@ IN SOA ns.intranet.woody. marina.m1-3.ephec-ti.be. (); |
Permet de définir les paramètres de notre zone comme le délai d'expiration, le délai de rafraichissement, etc |
@ IN NS ns.intranet.woody |
Permet de définir le name server de notre zone intranet.woody |
ns IN A 176.96.231.202 |
Permet de spécifier l'adresse du name server |
mail IN A 176.96.231.203 voip IN A 176.96.231.201 www IN A 176.96.231.202
|
Préciser les IP des autres enregistrements et CNAME |
- smb.conf représente le fichier de configuration principale de samba
[global]
server string = File Server # Définit la chaine à afficher à côté du nom de la machine
workgroup = SAMBA
security = user # Permet l'éxecution uniquement en tant que utilisateur qui doit être connecté avec un mot de passe
server role= standalone server # Définit le mode d'opération de samba : ici il sera un simple serveur
map to guest = Bad User
include = /etc/samba/shares.conf # Permet de prendre en compte la configuration dans shares.conf
usershare allow guests = yes
hosts allow = 192.168.0.0/16 # Permet de définir les utilisateurs qui peuvent partager les fichiers
hosts deny = 0.0.0.0/0 # Permet de restreindre l'accès à internet
log file = /var/log/samba/log.%m # Définit le fichier où les logs samba seront stocké- shares.conf : Se référer au commentaire pour l'explication des lignes
[Public Files]
# Définit le répertoire où seront stocké les fichiers partagés en public
path = /share/public_files
# Permet d'assigner l'utilisateur pour tout les utilisateurs samba
force user = smbuser
# Permet de définir le groupe qui sera assigné pour tous les utilisateurs du service samba
force group = smbgroup
# Définit le mask pour l'utilisateur de samba
create mask = 0664
# Définit les autorisations sur les fichiers nouvelllement crées par le user de samba
force create mode = 0664
# Définit les permissions avec lesquels le user samba peut créer des dossiers
directory mask = 0775
force directory mask = 0775
public = yes
# Permet de définir les fichiers partagés en public accessible en écriture
writable = yes
[Protected Files]
# Définit le répertoire où seront stocké les fichiers partagés en privés
path = /share/private_files
# Permet d'assigner l'utilisateur pour tout les utilisateurs samba
force user = smbuser
force group = smbgroup
create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mask = 0775
public = yes
# Permet de définir les fichiers partagés en public pas accessible en écriture
writable = no - Resolver
- Arretez l'exécution du conteneur et supprimer le
docker stop <nom_conteneur>
docker rm <nom_conteneur>
-
Télécharger l'image mise à jour
docker pull <nom_image> -
Construisez votre conteneur
docker run -d --name <nom_container> <image_container>
- Soa Interne
- Arretez l'exécution du conteneur et supprimer le
docker stop <nom_conteneur>
docker rm <nom_conteneur>
-
Télécharger l'image mise à jour
docker pull <nom_image> -
Construisez votre conteneur
docker run -d -p 53:53/tcp --name <nom_container> <image_container>
- Samba
- Arretez l'exécution du conteneur et supprimer le
docker stop <nom_conteneur>
docker rm <nom_conteneur>
-
Télécharger l'image mise à jour
docker pull <nom_image> -
Construisez votre conteneur
docker run -d -p 139:139 --name <nom_container> <image_container>
- Si nécessaire, entrez dans le conteneur et redemarrez les services samba
service restart smbd
ping intranet.woody # Devrait echouer pour un hote ne faisant par partie de l'intranet et réussir pour tout ceux qui en font parti
- Utilisation de l'outil wireshark qui nous permet d'analyser les requêtes dns pour notre zone interne
Sur un des conteneurs qui représente un partie de l'entreprise
dig intranet.woody
dig -x 192.168.0.5
Utilisez wireshark pour analyser le traffic vers le résolveur.
ping 192.168.0.5
Vérifier si le port 139 de samba est bien accessible
nmap <ip server>
- Dans le conteneur
En cas de dysfonctionnement, voici les éléments à observer pour trouver des informations de debug :
Pour déboguer le conteneur :
docker logs -f <nom_conteneur>
Pour obtenir un shell interactif :
docker exec -it <nom_conteneur> /bin/bash
Logs : Fichiers /var/log/samba/ Procédure de test 1 : Taper la commande dig @ns110.ovh.net m1-3.ephec-ti.be pour tester la joignabilité du NS. Si résultat pas de serveur trouvé: Le problème vient d'une mauvaise configuration des ressources records, sinon, le problème ailleurs.
- Oubli de la configuration des ports UDP => le service n'est pas joignable
- Permissions incorrectes sur le fichier /var/log/misc.log => Les logs ne sont pas générées
- Oubli de rendre le service bind9 accessible en ligne. Pour résoudre ce problème il suffit d'ajouter la ligne suivante dans le fichier named.conf.options :
listen-on port 53 { any; };
- ...