[[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() { 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.