DNS
La DNS est gérée par le xNetServer hébergé actuellement sur heol. Les autres machines sont des esclaves. Les DNS sont simplement dupliquées toutes les 5 minutes si le sérial a été incrémenté.
DNS Principale
Elle est géré par un bind patché mysql (USE flag bind-mysql sous gentoo). La DNS est gérée par la base xnet.
La DNS proprement dite est dans la table DNS alors que la DNS inverse est dans la table reverse_DNS. Pour chaque domaine on a :
zone "$domain$" { type master; database "mysql $dbname$ $tablename$ localhost $dbuser$ $dbpasswd$"; allow-transfer { 129.104.201.51; 129.104.201.52; 129.104.201.54;}; also-notify { 129.104.201.51; 129.104.201.52; 129.104.201.54; }; notify explicit; };
avec domain égal à :
- pour la DNS :
- eleves.polytechnique.fr (DNS principale des élèves)
- frankiz.eleves.polytechnique.fr
- pour le reverse DNS :
- xxx.104.129.in-addr.arpa avec xxx égal à :
- 201 : bâtiment binets, batiment des langues
- 203, 204 : BEM
- 205 - 208 : Foch
- 209 - 212 : Fayolle
- 214 : PEM
- 215 - 218 : Joffre
- 219 - 222 : Maunouri
- 223 : Bat 411
- 224 - 229 : Nouveaux caserts
- xxx.104.129.in-addr.arpa avec xxx égal à :
DNS du domaine windows
Le domaine windows gère sa propre DNS, celle-ci est dupliquée sur la DNS principale par la config :
zone "windows.eleves.polytechnique.fr" { type forward; forward first; forwarders { 129.104.201.61; }; };
DNS Secondaires
3 serveurs hébergent des DNS secondaires. Ces DNS sont synchronisées par le script /root/bin/reload_dns.all qui doit être lancé par un cron toutes les 5 minutes pour avoir les DNS les plus synchronisées possible.
Chacun des domaines décrit si dessus est chargé par une entrée de la forme suivant dans /etc/bind/named.conf :
zone "$domain$" { type slave; masters {129.104.201.53; }; file "db.$domain$"; };
En cas de modification de la DNS
Toutes les modifications de la DNS doivent être faite sur la DNS principale en priorité.
Pour ajouter une entrée dans la base DNS :
mysql> insert into DNS (name, ttl, rdtype, rdata) values ('$nom$.eleves.polytechnique.fr', 3200, 'A', '$ip$'); mysql> insert into reverse_DNS (name, ttl, rdtype, rdata) values ('$ip_inversée$.in-addr.arp', 3200, 'PTR', '$nom$.eleves.polytechnique.fr'); mysql> insert into clients (username, lastip, status) values ('$nom$', '$ip$', 1); Changer son pseudo sur qRezix
Pour ajouter un alias à la DNS :
mysql> insert into DNS (name, ttl, rdtype, rdata) values ('$nom$.eleves.polytechnique.fr', 3200, 'Cname', '$dest$.eleves.polytechnique.fr'); mysql> insert into clients (username, lastip, status) values ('$nom$', '$ip$', 1); Changer son pseudo sur qRezix
Pour rajouter un sous-domaine :
mysql> insert into reverse_DNS (name, ttl, rdtype, rdata) values ('xxx.104.129.in-addr-arpa', 3200, 'NS', 'eleves.polytechnique.fr'); mysql> insert into reverse_DNS (name, ttl, rdtype, rdata) values ('xxx.104.129.in-addr-arpa', 3200, 'SOA', 'eleves.polytechnique.fr root.eleves.polytechnique.fr $serial$ 86400 3600 864000 3600'); Rajouter le domaine aux confs de tous les serveurs (utiliser la cvs config-etc) Rajouter le domaine dans reload_dns.all Changer de pseudo sur qRezix