DNS et gestion de sous-domaine

Nouveau WRInaute
Bonjour,

Je viens vous demander un peu d'aide en attendant de trouver un superbe administrateur serveur aka "Server Admin".

J'ai deux serveurs dédiés.

1/ Mon server A gérait les domaine domain.net, http://www.domain.net, blog.domain.net, mail.domain.net, test.domain.net, beta.domain.net, ainsi que les MX et la conf pour l'envoie de mail.

2/ J'ai décidé de transférer blog.domain.net, http://www.domain.net, domain.net vers mon nouveau serveur B (il est plus costaud et je souhaitais faire des tests plus poussé sur server A _ redémarrer fréquemment, installer des lib pas stable, etc... )

3/ J'ai configuré server A pour redirigé les www, blog et mail vers l'adresse ip de server B :

Server A :

/etc/bind/named.conf

Code:
// This is the primary configuration file for the BIND DNS server named.
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

/etc/bind/named.conf.options

Code:
options {
	directory "/var/cache/bind";

	// forwarders {
	// 	0.0.0.0;
	// };

	auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
        listen-on { any; };
        allow-recursion { 127.0.0.1; };
        allow-transfer { 213.186.33.199; };
        forwarders { 213.186.33.199; };
};

/etc/bind/named.conf.local

Code:
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "domain.net" {
	type master;
	allow-transfer { 213.186.33.199; };
	file "/var/lib/bind/domain.net.hosts";
	notify yes;
	};

/etc/bind/named.conf.default-zones

Code:
// prime the server with knowledge of the root servers
zone "." {
	type hint;
	file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
	type master;
	file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
	type master;
	file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
	type master;
	file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
	type master;
	file "/etc/bind/db.255";
};

Et finalement :

/var/lib/bind/domain.net.hosts
Code:
$ttl 38400
dev.domain.net. 14400 IN SOA ks22267.kimsufi.com. root.ks22267.kimsufi.com. (
                        2011071213 ; Serial number
                        10800 ; Refresh rate in seconds
                        3600 ; Update Retry in seconds
                        604800 ; Expiry in seconds
                        600 ; minimum in seconds
)
 
@	IN	NS	ks22267.kimsufi.com.
dev.domain.net. IN 	A 	ip.server.A
dev.domain.net. IN 	NS 	ns.kimsufi.com.
ftp.domain.net.	IN	A	ip.server.B
m.domain.net.	IN	A	ip.server.B
localhost.domain.net.	IN	A	127.0.0.1
webmail.domain.net.	IN	A	ip.server.B
admin.domain.net.	IN	A	ip.server.B
mail.domain.net.	IN	A	ip.server.B
domain.net.	IN	MX	10      spool.mail.gandi.net.
domain.net.	IN	MX	50	fb.mail.gandi.net.
dev.domain.net.	IN	A	ip.server.A
www.dev.domain.net.	IN	A	ip.server.A
ftp.dev.domain.net.	IN	A	ip.server.A
m.dev.domain.net.	IN	A	ip.server.A
localhost.dev.domain.net.	IN	A	127.0.0.1
webmail.dev.domain.net.	IN	A	ip.server.A
admin.dev.domain.net.	IN	A	ip.server.A
mail.dev.domain.net.	IN	A	ip.server.A
blog.domain.net.	IN	A	ip.server.B
www.blog.domain.net.	IN	A	ip.server.B
ftp.blog.domain.net.	IN	A	ip.server.B
m.blog.domain.net.	IN	A	ip.server.B
localhost.blog.domain.net.	IN	A	127.0.0.1
admin.blog.domain.net.	IN	A	ip.server.B
mail.blog.domain.net.	IN	A	ip.server.B
test.domain.net.	IN	A	ip.server.B
www.test.domain.net.	IN	A	ip.server.B
ftp.test.domain.net.	IN	A	ip.server.B
m.test.domain.net.	IN	A	ip.server.B
localhost.test.domain.net.	IN	A	127.0.0.1
www.m.domain.net.	IN	A	ip.server.B
ftp.m.domain.net.	IN	A	ip.server.B
m.m.domain.net.	IN	A	ip.server.B
localhost.m.domain.net.	IN	A	127.0.0.1


Du coup le server B est configuré comme suit :


Server B :

/etc/bind/named.conf

Code:
// This is the primary configuration file for the BIND DNS server named.
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";

/etc/bind/named.conf.options

Code:
options {
	options {
	directory "/var/cache/bind";

	// forwarders {
	// 	0.0.0.0;
	// };

	auth-nxdomain no;    # conform to RFC1035
	listen-on-v6 { any; };
	listen-on { any; };
	allow-recursion { 127.0.0.1; };
	allow-transfer { 213.251.128.136; };
        forwarders { 213.251.128.136; };
};
};

/etc/bind/named.conf.local

Code:
//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

zone "domain.net" {
	type master;
	allow-transfer {213.251.128.136; };
	file "/var/lib/bind/domain.net.hosts";
	notify yes;
	};

/etc/bind/named.conf.default-zones

Code:
// prime the server with knowledge of the root servers
zone "." {
	type hint;
	file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912

zone "localhost" {
	type master;
	file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
	type master;
	file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
	type master;
	file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
	type master;
	file "/etc/bind/db.255";
};

Et finalement :

/var/lib/bind/domain.net.hosts


Code:
$ttl 38400
@	IN	SOA	ns394583.ovh.net. domain.domain.net. (
			1310643014
			10800
			3600
			604800
			38400 )
@	IN	NS	ns394583.ovh.net.
domain.net.	IN	A	ip.server.B
www.domain.net.	IN	A	ip.server.B
domain.net.     IN      NS      ns.ovh.net.
ftp.domain.net.	IN	A	ip.server.B
m.domain.net.	IN	A	ip.server.B
localhost.domain.net.	IN	A	127.0.0.1
webmail.domain.net.	IN	A	ip.server.B
admin.domain.net.	IN	A	ip.server.B
mail.domain.net.	IN	A	ip.server.B

domain.net.     IN      MX      10      spool.mail.gandi.net.
domain.net.	IN	MX	50 	fb.mail.gandi.net.
pop 10800 IN CNAME access.mail.gandi.net.
imap 10800 IN CNAME access.mail.gandi.net.
smtp 10800 IN CNAME relay.mail.gandi.net.
webmail 10800 IN CNAME agent.mail.gandi.net

blog.domain.net.	IN	A	ip.server.B
www.blog.domain.net.	IN	A	ip.server.B
ftp.blog.domain.net.	IN	A	ip.server.B
m.blog.domain.net.	IN	A	ip.server.B
localhost.blog.domain.net.	IN	A	127.0.0.1
webmail.blog.domain.net.	IN	A	ip.server.B
admin.blog.domain.net.	IN	A	ip.server.B

Hors un simple test avec le zonecheck de l'AFNIC m'envoie bouler en me répondant :

[TEST SOA record present]: server failure: (SOA domain.net)

Par ailleurs il se perd au niveau des infos puisqu'il me répond :

Code:
Zone information

	domain.net
	ks22267.kimsufi.com	ip.server.A
	ns.kimsufi.com	213.186.33.199, 2001:41D0:3:1C7::1

au lieu de suivre le ip.server.B et de trouvé, le ns.ovh.net.

Bref, un peu d'aide serait bienvenu.

En résumé, je souhaite que server A ne répondent qu'en tant que sous-domaine dev/test/blabla de domain.net et que server B ne gérent que www.domain.net, domain.net, m.domain.net, mail.domain.net

Merci par avance !
 
WRInaute accro
C'est clair que ta config est complètement à l'Ouest.

Quand tu as un domaine (example.net), il a des serveurs de noms (NS) qui sont enregistrés dans le domaine "du dessus" (.net dans cet exemple). Ces NS sont ceux qui as enregistré auprès de ton registrar (OVH je suppose d'après ta conf), et qui apparaissent dans le whois. Sauf cas très particulier (pas le tien), tous les NS listés doivent servir la même zone. On définit donc un serveur primaire sur lequel on maintiant la zone, et un ou plusieurs secondaires qui reçoivent cette zone du primaire. Les NS listés doivent aussi apparaître dans la zone elle-même.

Il faut donc que tu choisisses lequel de tes serveurs va être le primaire. Dessus, tu vas avoir une zone qui sera ensuite récupérée par le(s) secondaires. Si tu utilises le secondaire d'OVH, ça s'arrête là. Si tu utilises ton propre secondaire, celui-ci aura dans named.conf.local une section zone pour ce domaine, mais en type slave, et l'indication de qui est le primaire.

Dans la zone:
- le SOA doit être associé au domaine en question (là sur ton premier serveur il est associé à dev.domain.net). Le plus simple est de laisser "@".
- tu dois avoir deux lignes NS (toujours associées à "@") qui indiquent les deux serveurs NS enregistrés
- tu peux ensuite faire pointer ce que tu veux vers la machine que tu veux

Jacques.
 
Nouveau WRInaute
Bonjour. !
Merci pour cette réponse que je lis seulement maintenant.
En gros, il suffit que je configure correctement server B que je signale en zone master.

Puis sur server A, je dis que c'est un slave de server B. Et donc je n'ai aucune autre conf ?

C'est bien cela ?

Merci,
 
WRInaute accro
Tout dépend des NS qui sont déclarés (auprès de ton registrar) pour ta zone. Il faut que ces deux serveurs-là servent la zone, que l'un des deux soit "master" et l'autre "slave". Le "master" a la zone complète, l'autre juste la conf qui lui dit qu'il est slave et où chercher la zone (l'IP du master). Mais il faut ensuite que ta zone soit cohérente.

Jacques.
 
Discussions similaires
Haut