Bind configurado exitosamente para alojar múltiples vistas con TSIG con estoguía. El problema es que cuando agrego una tercera vista a la mezcla, las cosas se ponen raras.
En cada servidor, tengo 3 vistas en este momento:
- EE.UU
- Europa
- Porcelana
En el momento en que agrego la vista de China, el servidor esclavo usa la vista de Europa cuando debería usar la vista de China. Cuando consulto el servidor maestro desde un host de China, utiliza la vista correcta. Verifiqué las claves en ambos servidores y, aunque mi servidor esclavo coincidiría con la geoip de la vista de Europa, eliminé la declaración de geoip de la vista de Europa solo para asegurarme y todavía lo hace.
ACL en ambos servidores:
acl "USA" {
key usa-key;
!key europe-key;
!key china-key;
geoip country US;
};
acl "Europe" {
key europe-key;
!key usa-key;
!key china-key;
geoip country NO;
};
acl "China" {
key china-key;
!key usa-key;
!key europe-key;
geoip country CN;
};
Maestro:
view "USA" {
match-clients { USA; };
allow-transfer { key usa-key; };
zone "domain.net." {
type master;
also-notify { $slave_server key usa-key; };
file "/etc/bind/domain.net/na.domain.net.zone";
};
zone "3.2.1.in-addr.arpa." {
type master;
also-notify { $slave_server key usa-key; };
file "/etc/bind/domain.net/na.domain.net.rev";
};
zone "doma.net." {
type master;
also-notify { $slave_server key usa-key; };
file "/etc/bind/domain.net/na.doma.net.zone";
};
zone "9.8.7.in-addr.arpa." {
type master;
also-notify { $slave_server key usa-key; };
file "/etc/bind/domain.net/na.doma.net.rev";
};
};
view "Europe" {
match-clients { Europe; };
allow-transfer { key europe-key; };
zone "domain.net." {
type master;
also-notify { $slave_server key europe-key; };
file "/etc/bind/domain.net/eu.domain.net.zone";
};
zone "3.2.1.in-addr.arpa." {
type master;
also-notify { $slave_server key europe-key; };
file "/etc/bind/domain.net/eu.domain.net.rev";
};
zone "doma.net." {
type master;
also-notify { $slave_server key europe-key; };
file "/etc/bind/domain.net/eu.doma.net.zone";
};
zone "9.8.7.in-addr.arpa." {
type master;
also-notify { $slave_server key europe-key; };
file "/etc/bind/domain.net/eu.doma.net.rev";
};
};
view "China" {
match-clients { China; };
allow-transfer { key china-key; };
zone "domain.net." {
type master;
also-notify { $slave_server key china-key; };
file "/etc/bind/domain.net/cn.domain.net.zone";
};
zone "3.2.1.in-addr.arpa." {
type master;
also-notify { $slave_server key china-key; };
file "/etc/bind/domain.net/cn.domain.net.rev";
};
zone "doma.net." {
type master;
also-notify { $slave_server key china-key; };
file "/etc/bind/domain.net/cn.doma.net.zone";
};
zone "9.8.7.in-addr.arpa." {
type master;
also-notify { $slave_server key china-key; };
file "/etc/bind/domain.net/cn.doma.net.rev";
};
};
Esclavo:
view "USA" {
match-clients { USA; };
zone "domain.net." {
type slave;
masters { $master_server key usa-key; };
file "/var/lib/bind/na.domain.net.zone";
};
zone "3.2.1.in-addr.arpa." {
type slave;
masters { $master_server key usa-key; };
file "/var/lib/bind/na.domain.net.rev";
};
zone "doma.net." {
type slave;
masters { $master_server key usa-key; };
file "/var/lib/bind/na.doma.net.zone";
};
zone "9.8.7.in-addr.arpa." {
type slave;
masters { $master_server key usa-key; };
file "/var/lib/bind/na.doma.net.rev";
};
};
view "Europe" {
zone "domain.net." {
type slave;
masters { $master_server key europe-key; };
file "/var/lib/bind/eu.domain.net.zone";
};
zone "3.2.1.in-addr.arpa." {
type slave;
masters { $master_server key europe-key; };
file "/var/lib/bind/eu.domain.net.rev";
};
zone "doma.net." {
type slave;
masters { $master_server key europe-key; };
file "/var/lib/bind/eu.doma.net.zone";
};
zone "9.8.7.in-addr.arpa." {
type slave;
masters { $master_server key europe-key; };
file "/var/lib/bind/eu.doma.net.rev";
};
};
view "China" {
zone "domain.net." {
type slave;
masters { $master_server key china-key; };
file "/var/lib/bind/ch.domain.net.zone";
};
zone "3.2.1.in-addr.arpa." {
type slave;
masters { $master_server key china-key; };
file "/var/lib/bind/ch.domain.net.rev";
};
zone "doma.net." {
type slave;
masters { $master_server key china-key; };
file "/var/lib/bind/ch.doma.net.zone";
};
zone "9.8.7.in-addr.arpa." {
type slave;
masters { $master_server key china-key; };
file "/var/lib/bind/ch.doma.net.rev";
};
};
Completamente sin ideas. Si alguien sabe qué estoy haciendo mal, agradecería mucho una respuesta.
Respuesta1
En la configuración esclava match-clients
faltan directivas en sus vistas Europe
y China
.
Según la forma en que funcionan las vistas (se utiliza la primera vista coincidente), todas las consultas que no coincidan con su USA
vista (que tiene su match-clients
directiva), todo lo demás irá a la siguiente vista (su Europe
vista, que coincide con cualquier cosa) y nada hasta la última. vista (su China
vista, que también coincidiría con cualquier cosa, solo que no quedan consultas no coincidentes en ese momento).
Vale la pena señalar que probablemente quierasalgoser el comodín. Es decir, si una consulta no coincide con ninguno de los países, ¿probablemente aún desee una respuesta adecuada?