vendredi 7 janvier 2011

BIENVENUE

salut à tous, bienvenue sur mon blog et que la technologie soit!!!!!!!!!!! AMEN

installation d'un serveur Bind 9 sur une Debian

Principe de fonctionnement de la recherche de noms

Lorsque qu’une demande de résolution de nom est demandée, Linux commence par regarder le fichier « /etc/hosts.conf : voici sa configuration
nano /etc/hosts.conf
order hosts,bind
multi on
La première ligne de ce fichier indique qu’il faut commencer la recherche en regardant la table hosts locale et ensuite il faut interroger le serveur DNS (bind).
La table hosts locale est enregistrée dans le fichier « /etc/hosts  » (nano /etc/hosts) elle contient une table de correspondance entre des adresses IP et des noms, elle ressemble à :
127.0.0.1       localhost.localdomain   localhost
192.168.0.6     debian1.mondomaine.com     debian1
La première ligne est obligatoire pour que le système fonctionne même quand le réseau est désactivé. L’adresse IP 127.0.0.1 est toujours associée au nom localhost.
Les lignes suivantes peuvent être ajoutées manuellement pour faire la correspondance entre des adresses IP et des noms. C’est ce qui est fait en l’absence de serveur DNS.
Si le résultat n’est pas trouvé dans la table hosts,le système recherche le serveur DNS indiqué dans le fichier « /etc/resolv.conf » :
search mondomaine.com
nameserver 192.168.0.1
nameserver 194.2.0.50
La première ligne indique quel domaine il faut ajouter au noms si celui-ci n’est pas indiqué lors d’une demande de résolution de nom. Exemple :
- ping monserveur.mondomaine.com -> Aucun domaine ne sera ajouté lors de la résolution du nom, car le domaine est fourni.
- ping monserveur -> Le domaine mondomaine.com, sera ajouté avant d’effectuer la demande de résolution du nom (La recherche du nom, portera donc sur monserveur.mondomaine.com)
La deuxième ligne indique le serveur DNS principal.
Et c’est donc le serveur DNS qui sera chargé de donner le résultat s’il connaît la réponse ou de transmettre la question à un autre serveur DNS.
Si le serveur principal n’est pas disponible, le serveur DNS indiqué sur la ligne suivante sera utilisé.

Pourquoi installer un serveur DNS

Pour au moins deux raisons :
- Éviter de tenir à jour la table hosts de chaque poste client d’un réseau.
- Avoir un cache DNS qui accélère la recherche des noms.
- Sur un réseau locale, un serveur DNS permet d’accélérer le trafic sur le réseau car de nombreux services ont besoins d’un serveur DNS bien configuré pour fonctionner correctement (WEB, POP, SMTP,..)

Cas pratique de l'installation de mon serveur DNS (nom de domaine DOLTAIRE)

Installation de Bind 9

Sous Debian, il faut installer le paquet suivant :
# aptitude install bind9
dans mon cas j'ai installé un serveur en local(adresse de ma machine grâce à la commande ifconfig: 192.168.0.7),(nom de ma machine grâce à la commande hostname: pc-doltaire)
modification du fichier  /etc/bind/named.conf.local (nano /etc/bind/named.conf.local)
on rajoute ces lignes 
;la zone directe 
zone "doltaire.bj" {
       type master;
       file " /etc/bind/db.doltaire ";
       };
  ;la zone inverse; pour l'adresse 192.168.0.7 on aura 0.168.192 comme inverse 
zone "0.168.192.in-addr.arpa" {
       type master;
       file "/etc/bind/rev.doltaire";
       };
 on copie le contenu original du local vers notre fichier /etc/bind/db.doltaire
# cp /etc/bind/db.local /etc/bind/db.doltaire
modification ensuite de /etc/bind/db.doltaire
$TTL    604800
@ IN SOA pc-doltaire.doltaire.bj. root.doltaire.bj.  (
   ; dans mon cas le serial fait 20101201 (année 2010 décembre premier fichier)
    20041122   ; Serial  -> N° de série à incrémenter à chaque modif
                   ;            de ce fichier. Ce N° est utilisé par les
                   ;            serveurs esclaves pour lui indiquer qu'il
                   ;            doit mettre à jour sa base. Par commodité
                   ;            ce n° est une date à l'envers.
        604800     ;Refresh ->  A l'expiration du délai Refresh exprimé en
                   ;            secondes, le serveur excalve va entrer en
                   ;            communication avec le maitre et si il ne
                   ;            le trouve pas, il fera une nouvelle
                   ;            tentative au bout du délai Retry et si au
                   ;            bout du délai Expire il considerera que le
                   ;            serveur n'est plus disponible.
        86400      ; Retry
        2419200    ; Expire
        604800 )   ; Minimum -> Durée de vie minimum du cache en secondes


;** Les 3 lignes suivantes permettent au serveur de se retrouver lui même
                   NS      pc-doltaire.doltaire.bj.        ;Nom du serveur
pc-doltaire        A       192.168.0.7                     ;Adresse IP du
                                                       ;serveur de noms


;** Les lignes suivantes définissent la table entre les noms et les IP
pc-doltaire  IN         A       192.168.0.7
lna-marlene  IN         A       192.168.0.74
lna-raymonde IN         A       192.168.0.109
doltaire.bj. IN         A       192.168.0.7
www          IN         A       192.168.0.7

;** Les lignes suivantes sont des alias entre des noms et des autres noms

www             CNAME   pc-doltaire
ldap            CNAME   pc-doltaire
samba           CNAME   pc-doltaire


Résolution Inverse

cp /etc/bind/db.127   /etc/bind/rev.doltaire

modification de /etc/bind/rev.doltaire

$TTL    604800
@       IN      SOA pc-doltaire.doltaire.bj. root.doltaire.bj.  (
                      20101201        
                        604800      
                         86400        
                       2419200      
                        604800 )    

               NS      pc-dolaire.doltaire.bj.  

7        IN        PTR     pc-doltaire.doltaire.bj.  
74       IN        PTR     lna-marlene.doltaire.bj.  
109      IN        PTR     lna-raymonde.doltaire.bj.  
7        IN        PTR     www.doltaire.bj.  
  

modification des fichiers /etc/host.conf # nano /etc/host.conf
order hosts,bind
multi on
modification de /etc/hosts.allow  # nano /etc/hosts.allow
in.telnetd:all
proftpd : all
modification de /etc/hosts.deny  # nano /etc/hosts.deny
all: all EXCEPT .africa.com  
modification de /etc/resolv.conf
# nano /etc/resolv.conf
#search mondomaine.com
search doltaire.bj
# adresse ip de resolution de nom(adresse de mon serveur dns)
nameserver 192.168.0.7
# adresse ip du second serveur de résolution de nom, celle de BENIN-TELECOMS

nameserver 81.91.236.72 
 modification de /etc/bind/named.conf.options pour définir d'autres serveurs de résolutions
on remplace 0.0.0.0 par 
forwaders{
   81.91.236.72
}:


 modification de /etc/hosts pour la table de correspondance
127.0.0.1       localhost.localdomain   localhost
192.168.0.7     pc-doltaire.doltaire.bj    pc-doltaire
192.168.0.74   lna-marlene.doltaire.bj    lna-marlene
192.168.0.109   lna-raymonde.doltaire.bj   lna-raymonde



à la fin on rédémarre bind  /etc/init.d/bind9 restart
test 
ping www.doltaire.bj 
réponse de 192.168.0.7 : octets 32 temps<1 ms TTL=128
réponse de 192.168.0.7 : octets 32 temps<1 ms TTL=128
réponse de 192.168.0.7 : octets 32 temps<1 ms TTL=128
  
nslookup
server par défaut: pc-doltaire.doltaire.bj
> set type = NS si vous souhaitiez avoir les renseignements sur Name server, le serveur de nom


des commandes comme dig et host peuvent être aussi utilisées
host nomduserveur
host adresse ip 
dig nomduserver.nomdedomaine
dig -x @dresseipduserver



jeudi 6 janvier 2011

Récupérer un mot de passe root sous linux

Comment récupérer son mot de passe root, suite à un problème de login sur root qui s'est posé à moi lors de la modification de mes fichiers /etc/pam.d* je n'arrive plus à me connecter à mon root, j'ai comme erreur login:PAM FAILURE,aborting: Critical error -immediate abort. J'ai donc décider de recuperer mon mot de passe afin de pouvoir restaurer les fichiers pam quite à corriger les erreurs qui s'y figuraient.
j'ai redemarré ma machine et booter ensuite sur ma partition où se trouvait mon Debian; 
A l'invite de GRUB, choisissez la ligne concernant votre linux et appuyez sur la touche e (pour édition)
Sélectionnez la deuxième ligne (celle qui commence par kernel ...) avec les curseurs et appuyez de nouveau sur e pour également l'éditer.  Allez à la fin de la ligne et rajoutez le mot single (cela fonctionne aussi avec la lettre s ou le chiffre 
 
sur la plupart des distributions, à vous de choisir) dans mon c'est 1 qui marche, validez ensuite
Appuyez sur la touche b afin de booter avec ces nouveaux paramètres
Le système va alors démarrer en mode single user et vous proposer une invite de commande en root sans vous demander aucun mot de passe. 
(control D) vous tapez votre mot de passe root
et vous validez
au démarrage vous tout redevient comme avant, pour ma part j'ai corrigé mes fichiers pam.d et jai redémarré les services par la suite ma machine
Resultat tout est revenu à sa place.