Wiki source for RunningT1ES
[[RunningT1 English]]
======Guia para configurar y operar un servidor DNS Tier 1======
~&Esta guia solo cubre bind9, otras guias propuestas deben ser enviadas a support@opennicproject.org
~& Rev. 1
Instalar y Configurar un servidor Tier-1 requiere que tu servidor DNS sea esclavo de todas las zonas TLD del espacio de nombres OpenNIC.
Vamos a ir zona por zona (este documento se actualiza cuando hay mas zonas).
La forma mas simple de obtener copia de una zona completa es con
%%
dig zona axfr @servidor > archivo_local
%%
De forma alternativa, [[srvzoneScript|esta página]] muestra como configurar bind9 para que actualize automáticamente los nuevos TLDs disponibles y sus servidores maestros.
Como verás debajo, todas mis zonas residen en /etc/bind/zones y /etc/bind/zones/slaves. Debes cambiar estas rutas para adaptarlas al estilo de tu servidor. También es recomendable que corras bind en una jaula chroot y que otros servidores T1 se incluyan en las zonas como maestros por redundancia.
Lo siguiente es la zona raiz (root). Incluyelo en tu named.conf
%%
zone "." {
type slave;
file "/etc/bind/zones/db.root";
masters { 75.127.96.89; };
allow-transfer { any; };
notify no;
};
%%
Lo siguiente son las zonas para cada TLD de OpenNIC, incluyelas en tu named.conf.
opennic.glue
%%
zone "opennic.glue" IN{
type slave;
file "/etc/bind/zones/slaves/glue.zone";
masters { 75.127.96.89; };
allow-transfer { any; };
notify no;
};
%%
dns.opennic.glue
%%
zone "dns.opennic.glue" IN{
type slave;
file "/etc/bind/zones/slaves/dns.glue.zone";
masters { 75.127.96.89; };
allow-transfer { any; };
notify no;
};
%%
geek
%%
zone "geek" IN{
type slave;
file "/etc/bind/zones/slaves/geek.zone";
masters { 202.83.95.229; };
allow-transfer { any; };
notify no;
};
%%
free
%%
zone "free" IN{
type slave;
file "/etc/bind/zones/slaves/free.zone";
masters { 202.83.95.229; };
allow-transfer { any; };
notify no;
};
%%
indy
%%
zone "indy" IN{
type slave;
file "/etc/bind/zones/slaves/indy.zone";
masters { 202.83.95.229; };
allow-transfer { any; };
notify no;
};
%%
parody
%%
zone "parody" IN{
type slave;
file "/etc/bind/zones/slaves/parody.zone";
masters { 216.87.84.210; };
allow-transfer { any; };
notify no;
};
%%
bbs
%%
zone "bbs" IN{
type slave;
file "/etc/bind/zones/slaves/bbs.zone";
masters { 207.192.71.13; };
allow-transfer { any; };
notify no;
};
%%
fur
%%
zone "fur" IN {
type slave;
file "/etc/bind/zones/slaves/fur.zone";
masters { 84.200.228.200; };
allow-transfer { any; };
notify no;
};
%%
null
%%
zone "null" IN{
type slave;
file "/etc/bind/zones/slaves/null.zone";
masters { 202.83.95.229; };
allow-transfer { any; };
notify no;
};
%%
oss
%%
zone "oss" IN{
type slave;
file "/etc/bind/zones/slaves/oss.zone";
masters { 216.87.84.210; };
allow-transfer { any; };
notify no;
};
%%
ing
%%
zone "ing" IN{
type slave;
file "/etc/bind/zones/slaves/ing.zone";
masters { 128.177.28.254; };
allow-transfer { any; };
notify no;
};
%%
dyn
%%
zone "dyn" IN{
type slave;
file "/etc/bind/zones/slaves/dyn.zone";
masters { 207.192.71.13; };
allow-transfer { any; };
notify no;
};
%%
gopher
%%
zone "gopher" IN{
type slave;
file "/etc/bind/zones/slaves/gopher.zone";
masters { 66.244.95.11; };
allow-transfer { any; };
notify no;
};
%%
micro
%%
zone "micro" IN{
type slave;
file "/etc/bind/zones/slaves/micro.zone";
masters { 128.177.28.254; };
allow-transfer { any; };
notify no;
};
%%
neo
%%
zone "neo" IN{
type slave;
file "/etc/bind/zones/slaves/neo.zone";
masters { 199.30.58.57; };
allow-transfer { any; };
notify no;
};
%%
pirate
%%
zone "pirate" IN{
type slave;
file "/etc/bind/zones/slaves/pirate.zone";
masters { 209.141.35.9; };
allow-transfer { any; };
notify no;
};
%%
oz
%%
zone "oz" IN{
type slave;
file "/etc/bind/zones/slaves/oz.zone";
masters { 103.1.185.92; };
allow-transfer { any; };
notify no;
};
%%
¡Tras cambiar tu named.conf, recuerda reiniciar el bind!
%%
/etc/init.d/bind9 restart
%%
Ahora vamos a activar un poco de logueo para tu servidor DNS bind9. Estos logs son interesantes para revisar y detectar problemas, pero no se deben archivar.
Si quieres archivarlos hay un script perl escrito por Brianko que quita todas las direcciones IP y las sustituye por XXX.XXX.XXX.XXX. Esto es importante para
preservar la privacidad de los usuarios de tu servidor, y que puedan navegar por internet sin dejar rastro, de forma que el uso de este script es altamente recomendable.
Para activar el logueo, abre named.conf.options y añade el siguiente texto:
%%
logging {
channel "misc" {
file "/var/log/misc.log" versions 2 size 25M;
severity info; print-severity no;
print-category yes; print-time yes;
};
channel "querylog" {
file "/var/log/named.log" versions 2 size 25M;
severity info; print-severity no;
print-category no; print-time yes;
};
category "queries" { "querylog"; };
category default { "misc"; };
};
%%
Dependiendo de tu configuracion (siempre recomendamos chroot), el directorio de logs puede estar en dos sitios. En una configuracion con chroot esta en /var/lib/named/var/log
y en una instalacion normal en /var/log.
Ve al directorio del log que te corresponda segun tu instalación, y escribe:
%%
touch named.log
chown bind:bind named.log
touch misc.log
chown misc.log
%%
Aquí está el script que Brianko escribió:
%%
#! /usr/bin/perl
#
# blurAddys.pl - Obfuscate IP addresses in a file
#
# cat some.log | blurAddys.pl > some_blurred.log
#
#####################################################################
use strict;
while(<STDIN>)
{
s/\d{1,3}(\.|-)\d{1,3}(\.|-)\d{1,3}(\.|-)\d{1,3}/XX$1XX$2XX$3XX/g;
print $_;
}
%%
También se puede añadir esto al script, que es lo que yo usaba antes:
%%
#!/bin/sh
date=`date +%d`
current=`date +%d%m%y`
if [ "$(echo $date)" = 01 ];then
tar cfvz /var/log/named/named.$current.tar.gz /var/log/named/*.log.*
rm /var/log/named/*.log.*
fi
cat /var/lib/named/var/log/named.log | /usr/local/bin/blurAddys.pl > /var/log/named/named.log.$current
rm /var/lib/named/var/log/named.log
touch /var/lib/named/var/log/named.log
chown bind:bind /var/lib/named/var/log/named.log
/etc/init.d/bind9 restart
%%
Yo suelo usar el metodo logrotate para limpiar los logs. Uso syslog-ng, de forma que añado la siguiente entrada en /etc/logrotate.d/syslog-ng
%%
/var/lib/named/var/log/named-query.log {
rotate 7
daily
compress
prerotate
/usr/local/bin/blurAddys.pl
endscript
}
%%
Espero que esta guia te haya sido de ayuda para configurar tu servidor Tier-1 y tenerlo listo para tu nuevo TLD.
Recuerda seguir las instrucciones para crear un TLD si no tienes tu TLD aprobado para uso en OpenNIC por voto de los miembros: [[CreatingNewTLDsES Proponiendo y creando nuevos TLDs via OpenNIC]]
~& Este documento solo existe en el wiki.
======Guia para configurar y operar un servidor DNS Tier 1======
~&Esta guia solo cubre bind9, otras guias propuestas deben ser enviadas a support@opennicproject.org
~& Rev. 1
Instalar y Configurar un servidor Tier-1 requiere que tu servidor DNS sea esclavo de todas las zonas TLD del espacio de nombres OpenNIC.
Vamos a ir zona por zona (este documento se actualiza cuando hay mas zonas).
La forma mas simple de obtener copia de una zona completa es con
%%
dig zona axfr @servidor > archivo_local
%%
De forma alternativa, [[srvzoneScript|esta página]] muestra como configurar bind9 para que actualize automáticamente los nuevos TLDs disponibles y sus servidores maestros.
Como verás debajo, todas mis zonas residen en /etc/bind/zones y /etc/bind/zones/slaves. Debes cambiar estas rutas para adaptarlas al estilo de tu servidor. También es recomendable que corras bind en una jaula chroot y que otros servidores T1 se incluyan en las zonas como maestros por redundancia.
Lo siguiente es la zona raiz (root). Incluyelo en tu named.conf
%%
zone "." {
type slave;
file "/etc/bind/zones/db.root";
masters { 75.127.96.89; };
allow-transfer { any; };
notify no;
};
%%
Lo siguiente son las zonas para cada TLD de OpenNIC, incluyelas en tu named.conf.
opennic.glue
%%
zone "opennic.glue" IN{
type slave;
file "/etc/bind/zones/slaves/glue.zone";
masters { 75.127.96.89; };
allow-transfer { any; };
notify no;
};
%%
dns.opennic.glue
%%
zone "dns.opennic.glue" IN{
type slave;
file "/etc/bind/zones/slaves/dns.glue.zone";
masters { 75.127.96.89; };
allow-transfer { any; };
notify no;
};
%%
geek
%%
zone "geek" IN{
type slave;
file "/etc/bind/zones/slaves/geek.zone";
masters { 202.83.95.229; };
allow-transfer { any; };
notify no;
};
%%
free
%%
zone "free" IN{
type slave;
file "/etc/bind/zones/slaves/free.zone";
masters { 202.83.95.229; };
allow-transfer { any; };
notify no;
};
%%
indy
%%
zone "indy" IN{
type slave;
file "/etc/bind/zones/slaves/indy.zone";
masters { 202.83.95.229; };
allow-transfer { any; };
notify no;
};
%%
parody
%%
zone "parody" IN{
type slave;
file "/etc/bind/zones/slaves/parody.zone";
masters { 216.87.84.210; };
allow-transfer { any; };
notify no;
};
%%
bbs
%%
zone "bbs" IN{
type slave;
file "/etc/bind/zones/slaves/bbs.zone";
masters { 207.192.71.13; };
allow-transfer { any; };
notify no;
};
%%
fur
%%
zone "fur" IN {
type slave;
file "/etc/bind/zones/slaves/fur.zone";
masters { 84.200.228.200; };
allow-transfer { any; };
notify no;
};
%%
null
%%
zone "null" IN{
type slave;
file "/etc/bind/zones/slaves/null.zone";
masters { 202.83.95.229; };
allow-transfer { any; };
notify no;
};
%%
oss
%%
zone "oss" IN{
type slave;
file "/etc/bind/zones/slaves/oss.zone";
masters { 216.87.84.210; };
allow-transfer { any; };
notify no;
};
%%
ing
%%
zone "ing" IN{
type slave;
file "/etc/bind/zones/slaves/ing.zone";
masters { 128.177.28.254; };
allow-transfer { any; };
notify no;
};
%%
dyn
%%
zone "dyn" IN{
type slave;
file "/etc/bind/zones/slaves/dyn.zone";
masters { 207.192.71.13; };
allow-transfer { any; };
notify no;
};
%%
gopher
%%
zone "gopher" IN{
type slave;
file "/etc/bind/zones/slaves/gopher.zone";
masters { 66.244.95.11; };
allow-transfer { any; };
notify no;
};
%%
micro
%%
zone "micro" IN{
type slave;
file "/etc/bind/zones/slaves/micro.zone";
masters { 128.177.28.254; };
allow-transfer { any; };
notify no;
};
%%
neo
%%
zone "neo" IN{
type slave;
file "/etc/bind/zones/slaves/neo.zone";
masters { 199.30.58.57; };
allow-transfer { any; };
notify no;
};
%%
pirate
%%
zone "pirate" IN{
type slave;
file "/etc/bind/zones/slaves/pirate.zone";
masters { 209.141.35.9; };
allow-transfer { any; };
notify no;
};
%%
oz
%%
zone "oz" IN{
type slave;
file "/etc/bind/zones/slaves/oz.zone";
masters { 103.1.185.92; };
allow-transfer { any; };
notify no;
};
%%
¡Tras cambiar tu named.conf, recuerda reiniciar el bind!
%%
/etc/init.d/bind9 restart
%%
Ahora vamos a activar un poco de logueo para tu servidor DNS bind9. Estos logs son interesantes para revisar y detectar problemas, pero no se deben archivar.
Si quieres archivarlos hay un script perl escrito por Brianko que quita todas las direcciones IP y las sustituye por XXX.XXX.XXX.XXX. Esto es importante para
preservar la privacidad de los usuarios de tu servidor, y que puedan navegar por internet sin dejar rastro, de forma que el uso de este script es altamente recomendable.
Para activar el logueo, abre named.conf.options y añade el siguiente texto:
%%
logging {
channel "misc" {
file "/var/log/misc.log" versions 2 size 25M;
severity info; print-severity no;
print-category yes; print-time yes;
};
channel "querylog" {
file "/var/log/named.log" versions 2 size 25M;
severity info; print-severity no;
print-category no; print-time yes;
};
category "queries" { "querylog"; };
category default { "misc"; };
};
%%
Dependiendo de tu configuracion (siempre recomendamos chroot), el directorio de logs puede estar en dos sitios. En una configuracion con chroot esta en /var/lib/named/var/log
y en una instalacion normal en /var/log.
Ve al directorio del log que te corresponda segun tu instalación, y escribe:
%%
touch named.log
chown bind:bind named.log
touch misc.log
chown misc.log
%%
Aquí está el script que Brianko escribió:
%%
#! /usr/bin/perl
#
# blurAddys.pl - Obfuscate IP addresses in a file
#
# cat some.log | blurAddys.pl > some_blurred.log
#
#####################################################################
use strict;
while(<STDIN>)
{
s/\d{1,3}(\.|-)\d{1,3}(\.|-)\d{1,3}(\.|-)\d{1,3}/XX$1XX$2XX$3XX/g;
print $_;
}
%%
También se puede añadir esto al script, que es lo que yo usaba antes:
%%
#!/bin/sh
date=`date +%d`
current=`date +%d%m%y`
if [ "$(echo $date)" = 01 ];then
tar cfvz /var/log/named/named.$current.tar.gz /var/log/named/*.log.*
rm /var/log/named/*.log.*
fi
cat /var/lib/named/var/log/named.log | /usr/local/bin/blurAddys.pl > /var/log/named/named.log.$current
rm /var/lib/named/var/log/named.log
touch /var/lib/named/var/log/named.log
chown bind:bind /var/lib/named/var/log/named.log
/etc/init.d/bind9 restart
%%
Yo suelo usar el metodo logrotate para limpiar los logs. Uso syslog-ng, de forma que añado la siguiente entrada en /etc/logrotate.d/syslog-ng
%%
/var/lib/named/var/log/named-query.log {
rotate 7
daily
compress
prerotate
/usr/local/bin/blurAddys.pl
endscript
}
%%
Espero que esta guia te haya sido de ayuda para configurar tu servidor Tier-1 y tenerlo listo para tu nuevo TLD.
Recuerda seguir las instrucciones para crear un TLD si no tienes tu TLD aprobado para uso en OpenNIC por voto de los miembros: [[CreatingNewTLDsES Proponiendo y creando nuevos TLDs via OpenNIC]]
~& Este documento solo existe en el wiki.