Tabla de contenidos
Para resolver nombres OpenBSD emplea rutinas propias
de resolución incluidas en la librería de C, se configuran
en /etc/resolv.conf
. Este archivo
puede incluir, dominio (domain
),
lista de servidores (nameserver
), orden de fuentes
donde buscar (lookup
), lista de dominios en los
cuales buscar (search
),
retornar direcciones IP en orden (sortlist
),
opciones (options
). Un ejemplo del
archivo /etc/resolv.conf
es:
search miescuela.edu.co nameserver 192.168.16.1 lookup file bind
lookup
permite especificar un orden para
hacer resolución de acuerdo a uno o más de los siguientes
argumentos separados por espacio:
bind
que indica usar servidor de nombres
(named
)
file
que indica buscar en
/etc/hosts
yp
que indica emplear el sistema YP si
ypbind está corriendo.
OpenBSD incluye entre sus componentes básicos parte del servidor
BIND 9, bajo el nombre named
, que por defecto corre
con chroot en el directorio
/var/named
.
Puede configurarse y probarse antes de iniciarlo en cada
arranque. Para configurarlo por primera vez pueden seguirse primero
los pasos de /etc/rc
.
El archivo de configuración es
/var/named/etc/named.conf
. Se sugiere
que se agregue información de zonas de las cuales es maestro en
en archivos del directorio
/var/named/master
.
Pueden configurarse archivos como dice en [AA_Linux]
por ejemplo los datos un servidor DNS primario del dominio miescuela.edu.co
pueden quedar en el archivo
/var/named/master/miescuela.edu.co
:
$TTL 1D @ IN SOA @ root.localhost. ( 03091025 ; Serial 1D ; Refresco secundario 6H ; Reintento secundario 2D ; Expiración secundaria 1D ) ; Cache de registro de recursos NS @ A 65.8.9.234 MX 5 correo.miescuela.edu.co. correo IN A 201.2.3.74 ns1 IN A 201.2.3.74 www IN A 201.2.3.74
Note que se declara el mismo dominio como servidor de nombre autoritario,
se relaciona con la IP (65.8.9.234), el nombre
correo.miescuela.edu.co
identificara la misma máquina
y es el nombre que se usará para intercambiar correos; el nombre
www.miescuela.edu.co
será un alias para el mismo servidor.
Note que todo nombre que no termine con punto (.), será completado por
bind con el dominio (i.e www
será
completado a
www.miescuela.edu.co
, si se olvida el punto después
de correo.miescuela.edu.co
, bind lo
completará a
correo.miescuela.edu.co.miescuela.edu.co
).
Recuerde aumentar el número serial cada vez que haga algún cambio, para que
la información pueda ser actualizada en los servidores secundarios.
Puede probar cada archivo de zonas que haga con:
named-checkzone miescuela.edu.co /var/named/master/miescuela.edu.co
Agregue una referencia al archivo de zonas maestro en
/var/named/etc/named.conf
, en la sección para
zonas maestras algo de la forma:
zone "miescuela.edu.co" { type master; file "master/miescuela.edu.co"; }
Si desea que un servidor sea secundario de algún servidor primario,
agregue en /var/named/etc/named.conf
en la sección
para zonas esclavas algo como:
zone "miescuela.edu.co" { type slave; file "slave/miescuela.edu.co"; masters { 65.8.9.234; }; }
Cuando named lea de nuevo sus archivos de configuración
traerá la información del servidor primario y la dejará en el archivo
slave/miescuela.edu.co
.
El servidor se inicia con
named
Los errores que se produzcan antes de hacer chroot
son enviados a /var/log/daemon
.
Para probar el funcionamiento antes de modificar
/etc/resolv.conf
puede usar:
dig @localhost miescuela.edu.co
Si requiere volver a leer los archivos de configuración
(por ejemplo después de cambiar los archivos de zonas) puede
enviar la señal SIGHUP
al proceso con:
pkill -HUP named
o con
rndc reload
Una vez compruebe que su servidor DNS está operando correctamente puede
indicar que se inicie en cada arranque agregando a
/etc/rc.conf.local
:
named_flags=""
Si cuenta con una LAN conectada a Internet por medio de un cortafuegos con OpenBSD que maneja el DNS de su organización y si además cuenta con una DMZ tal que las peticiones a algunos puertos del cortafuegos son redirigidas a uno o más servidores, seguramente tendrá inconvenientes al resolver nombres de su dominio en la LAN, pues el nombre de su organización (digamos miescuela.edu.co) será resulto a la dirección externa, la cual conectará al cortafuegos por el puerto pedido y tratará de redirigir la conexión al servidor en la DMZ (i.e se reflejara). Por este motivo desde su LAN en general no resolverá nombres de su dominio.
Una solución (ver /var/named/etc/named-dual.conf
) es configurar
bind para que tenga dos
vistas, una para computadores fuera de la LAN y otra
para computadores dentro de la LAN. Un posible
archivo de configuración (inspirado en los distribuidos
con OpenBSD) es:
acl clients { localnets; ::1; }; options { version ""; listen-on { any; }; listen-on-v6 { any; }; allow-recursion { clients; }; }; logging { category lame-servers { null; }; }; view "internal" { // Para la red interna match-clients { clients; }; match-recursive-only yes; recursion yes; zone "." { type hint; file "standard/root.hint"; }; zone "localhost" { type master; file "standard/localhost"; allow-transfer { localhost; }; } zone "127.in-addr.arpa" { type master; file "standard/loopback"; allow-transfer { localhost; }; }; zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" { type master; file "standard/loopback6.arpa"; allow-transfer { localhost; }; }; zone "com" { type delegation-only; }; zone "net" { type delegation-only; }; zone "miescuela.edu.co" { type master; file "refleja/miescuela.edu.co.org"; }; }; view "external" { // Para Internet recursion no; additional-from-auth no; additional-from-cache no; zone "miescuela.edu.co" { type master; file "master/miescuela.edu.co"; }; zone "168.74.245.200.IN-ADDR.ARPA" { // Para resolución inversa type master; file "master/db.168.74.245.200"; }; };
El archivo master/miescuela.edu.co
sería el típico
para resolver externamente, mientras que en
refleja/miescuela.edu.co
tendría los mismo nombres del
anterior pero con las direcciones de la red local.
master/db.167.74.245.200
tendría datos para resolución
de nombres inversa desde fuera de la organización, por ejemplo:
$TTL 1D @ IN SOA @ root.localhost. ( 49 ; Serial de Zona 1D ; Refesco secundario 6H ; Retintento secundario 2D ; Expiración secundaria 1D ) ; Cache de registros de recurso @ IN NS cortafuegos.miescuela.edu.co. IN PTR www.miescuela.edu.co. IN PTR correo.miescuela.edu.co IN PTR ns1.miescuela.edu.co
Sección sobre DNS de las guías Aprendiendo a aprender Linux. [AA_Linux] Referencia para administradores de BIND 9 [bind9arm]. Ayudas para configurar Bind incluido en OpenBSD. Puede consultar más sobre vistas y reflexión de consultas DNS en http://www.bind9.net/manual/bind/9.3.1/Bv9ARM.ch06.html#view_statement_grammar. [openbsdDnsDhcp]. Las siguientes páginas man: named(8). dig(8).