DNS el acrónimo de Domain Name System, nos permite entre otras cosas asociar los nombres de dominio a direcciones ip y la localización de los servidores de correo.
Bind es por su parte, el servidor de DNS más comúnmente usado en Internet, especialmente en sistemas Linux y Unix. (Antes de continuar quiero aclarar que este tutorial lo he desarrollado con mi poca experiencia con servidores, y basado en otros tutoriales, que al final hago referencia, por lo que si cuenta con algun error, porfavor haganmelo saber para así, irlo mejorando.)
Para fines prácticos de este tutorial se usara una dirección ficticia al igual que la ip. El dominio que usaremos sera: debianix.com.mx La dirección ip: 74.125.95.104
Modificamos las siguientes líneas del /etc/resolv.conf para que haga las búsquedas en él mismo que sera el DNS. domain debianix.com.mx search debianix.com.mx nameserver 74.125.95.104
— Agregamos a /etc/hosts nuestro nombre de servidor+dominio interno vinculado con su IP. 127.0.0.1 localhost 74.125.95.104 server01.debianix.com.mx server01
— Añadimos las 2 últimas linias en /etc/network/interfaces para que busque en nuestro propio DNS. auto eth0 iface eth0 inet static address 192.168.1.254 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1
Primero veremos el archivo principal de bind cuyo nombre es named.conf, que en realidad en Debian no se modifica, ya que este direccionara a otro(named.conf.local), sin embargo otros sistemas Linux y Unix, no usan tal redirección. Solo lo veremos como un punto de referencia y para conocer de manera general como funciona.
Al abrir el archivo podremos ver algo como esto:
// This is the primary configuration file for the BIND DNS server named. // // Please read /usr/share/doc/bind9/README.Debian.gz for information on the // structure of BIND configuration files in Debian, *BEFORE* you customize // this configuration file. // // If you are just adding zones, please do that in /etc/bind/named.conf.local
include "/etc/bind/named.conf.options";
// 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"; };
include "/etc/bind/named.conf.local";
¡Extraño!, pues no tanto si se comprende el funcionamiento, vamos por partes(tomando en cuenta que las “//” son los comentarios), la primera linea:
Una redirección al archivo named.conf.options, siendo una de sus funciones el de indicar los fordwardes, cuya funcion se mecionará mas adelante.
include "/etc/bind/named.conf.options";
zone “.” es el inicio de la búsqueda, es decir, cuando el dns está tratando de resolver un nombre de dominio, el comienzo de la búsqueda son los servidores raíz, hay 13 en el mundo y estos servidores tienen la información de la siguiente parte de la búsqueda.
De zone “localhost” a zone “225.in-addr.arpa” permite traducir a localhost.
En la ultima linea: include “/etc/bind/named.conf.local”;
En esta ultima linea podemos ver que hay una redirección al archivo named.conf.local, en este archivo es donde pondremos nuestro dominio(Al parecer en otros linux, se configura el dominio directamente en el archivo named.conf).
Comencemos con la configuración del dominio:
abrimos el archivo
#nano /etc/bind/named.conf.local
usaremos el dominio ficticio debianix.com.mx
zone "debianix.com.mx" { type master; file "/etc/bind/zones/db.debianix.com.mx"; allow-query { any; }; allow-transfer { slaves; }; };
El orden de las zonas es completamente irrelevante, pero se recomienda dejarlas en orden alfabético para una más fácil localización en el futuro (por ejemplo, por tareas de mantenimiento). Nótese que el nombre de la zona no termina en "." (punto). Este es el cometido de los parámetros de cada zona:
1. type master; significa que el servidor de dominios es primario o maestro de la zona. Al configurar servidores secundarios, se usará type slave;.
2. file "/etc/bind/zones/db.debinaix.com.mx"; es el fichero donde especificaremos la configuración de esa zona.
3. allow−query { any; }; significa que se permiten consultas (del inglés, queries) externas a la zona. Esto es algo útil y necesario, a menos que se quiera ser muy paranoico con la seguridad. Simplemente se ofrece de forma técnicamente ordenada la información que es públicamente accesible.
4. allow−transfer { slaves; }; posibilita la transferencia automática de esta configuración a los servidores secundarios de las zonas bajo nuestro control que se especifiquen en la lista slaves.
Ahora hay que crear el fichero de definición de zona, el primero es que indicamos en la linea file "/etc/bind/zones/db.debianix.com.mx"; como podemos ver se creo una carpeta llamada zones, así que abrimos un terminal y procedemos a a crearlo(zones es una carpeta, esto es para tener una mejor organización de zonas en caso de que sean mas): ; ; BIND data file for zone debianix.com.mx ; $TTL 604800 @ IN SOA ns.debianix.com.mx. hostmaster.debianix.com.mx. ( 2009030401 ; Serial yyyy/mm/dd/id 10800 ; Refresh (3 hours) 7200 ; Retry (2 hours) 1296000 ; Expire (15 days) 172800 ) ; Negative Cache TTL (2 days) ; NS ns1.debianix.com.mx. NS ns2.debianix.com.mx. MX 1 ns1.debianix.com.mx. MX 2 ns2.debianix.com.mx. TXT "Debianix" HINFO "pemtium III" "Debian GNU/Linux" LOC 39 34 58 N 2 38 2 E 100m 10000m 20m 100m ; localhost A 127.0.0.1 debianix.com.mx. A 74.125.95.104 ns1 A 74.125.95.104 ns2 A 74.125.95.104 www A 74.125.95.104 pop3 A 74.125.95.104 smtp A 74.125.95.104 ftp A 74.125.95.104 server01 A 74.125.95.104
Se comentan acto seguido todas y cada una de las directivas y opciones de estos ficheros de configuración (un punto y coma, ";", indica que todo lo que hay a su derecha es un comentario):
1. $TTL 604800: directiva obligatoria a partir de la versión 9 de Bind (RFC1035 y RFC2308), indica el tiempo de vida (TTL, del inglés, Time To Live) de la información contenida en el fichero. Es decir, el tiempo máximo de validez, tras el cual deberá refrescarse o actualizarse (para comprobar que no haya cambiado). Es lo que se conoce como caché positiva/negativa (del inglés, positive/negative caching), como se especifica en el RFC2308. Por defecto se usan segundos (604800 segundos equivale a siete días exactos), pero pueden usarse también semanas ($TTL 1w), días ($TTL 7d), horas ($TTL 168h) y minutos ($TTL 10080m). Estas abreviaturas se usan asimismo en el registro SOA, que se explica a continuación. Otra directiva interesante, aunque no se use en los ejemplos, es $INCLUDE , que hace que named incluya otro fichero de zona en el lugar donde la directiva se usa. Esto permite almacenar parámetros de configuración comunes a varias subzonas en un lugar separado del fichero de la zona principal. 2. @ IN SOA ns.debianix.com.mx. hostmaster.debianix.com.mx.: el registro SOA (del inglés, Start Of Authority) se encuentra siempre tras las directivas y proclama información relevante sobre la autoridad de un dominio al servidor de nombres. Es siempre el primer recurso en un fichero de zona. El símbolo "@" (arroba) equivale a la directiva $ORIGIN (o el nombre de la zona si dicha directiva no se ha usado − caso más frecuente) como espacio de nombres de dominio definido por este registro. Este sería el esqueleto de este registro:
@ IN SOA (primary−name−server) (hostmaster−email) ( (-serial−number) (time−to−refresh) (time−to−retry) (time−to−expire) (minimum−TTL) )
Gracias por el comentario, es lo que yo sufri un poco, algunos post algo enredados y otros un poco desfasados, pero espero sea entendible y de utilidad
Muy buen trabajo amigo, es lo mas claro que encontré después de mucho buscar. Me queda una duda, la ip de ejemplo es pública o privada (creo que pública pero no estoy seguro). Gracias y enhorabuena por el trabajo
5 comentarios:
muy bueno tu post. La unica lata es que lo pillé muy tarde. Pero mucho mejor explicado que el k leí.
Gracias por el comentario, es lo que yo sufri un poco, algunos post algo enredados y otros un poco desfasados, pero espero sea entendible y de utilidad
saludos.
Muy buen trabajo amigo, es lo mas claro que encontré después de mucho buscar. Me queda una duda, la ip de ejemplo es pública o privada (creo que pública pero no estoy seguro). Gracias y enhorabuena por el trabajo
10th Tone Tails Premium Titanium Hair Cutter Reviews
We stiletto titanium hammer use our best titanium trim hair cutting to babyliss pro titanium achieve the best results, making for a 출장마사지 better shave. 10th Tone Tails Premium 2020 escape titanium Titanium Hair Cutter 2019 ford fusion hybrid titanium is premium
Publicar un comentario