En este artículo, aprenderá lo fácil y rápido que es tener su propio servidor DNS de resolución de almacenamiento en caché (sin vincular), así como un servidor DNS autorizado / maestro (nsd) que se ejecuta localmente en su propia instancia de OpenBSD Vultr.
Para instalar OpenBSD, consulte el siguiente artículo: Configuración de OpenBSD 5.5 de 64 bits . Solo asegúrese de utilizar la imagen ISO 5.6 más nueva.
Si bien nsd también estaba disponible en la versión anterior, unbound estaba vinculado a la compilación para la versión 5.6. A partir de la versión 5.7, BIND se eliminará por completo del sistema base (y estará disponible a través de los puertos).
sin consolidar
Para resolver DNS, las personas generalmente usan los valores predeterminados proporcionados por su distribución / proveedor o un servicio de Google (DNS público) y OpenDNS. Si bien estos generalmente están bien, ejecutarlo usted mismo le brinda más control, mejor rendimiento (una vez que complete su propia caché), mejor privacidad, etc. Es muy fácil obtener su propia configuración de resolución de DNS en OpenBSD.
-
Habilitar el servicio:
sudo rcctl enable unbound
-
Comience el servicio:
sudo rcctl start unbound
-
Para activarlo, ingrese lo siguiente /etc/resolv.conf
(y elimine cualquier otra nameserver
entrada):
nameserver 127.0.0.1
Ahora puedes probarlo:
dig google.com
Estamos buscando las siguientes dos líneas:
;; Query time: 35 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
El servidor utilizado fue localhost
, que es lo que queríamos. El tiempo de consulta es de 35 segundos en un arranque en frío. Probemos el mismo dig
comando una vez más:
;; Query time: 1 msec
En este punto, el almacenamiento en caché está funcionando y podemos continuar con el servidor nsd autorizado.
nsd
A diferencia de unbound, nsd es un servidor DNS autorizado, que se utiliza para servir sus propias zonas. Por lo general, un servidor no es suficiente, por lo que podría activar otra instancia de Vultr como servidor secundario en otra ubicación, por redundancia.
Dado que configurar el servicio primario / secundario (aunque no es difícil) está un poco fuera del alcance de este artículo, mostraremos cómo servir una zona de dominio único.
-
Primero editemos el /var/nsd/etc/nsd.conf
archivo. Aquí hay un ejemplo completo:
server:
hide-version: yes
ip-address: 108.xx.xxx.xx
remote-control:
control-enable: yes
zone:
name: "example.com"
zonefile: "example.com.zone"
Nota: Reemplace 108.xx.xxx.xx
con la dirección IP de su instancia y example.com
con su propio dominio.
-
Los archivos de zona van al /var/nsd/zones
directorio. Aquí hay un /var/nsd/zones/example.com.zone
archivo de zona corta :
$ORIGIN example.com.
$TTL 86400
@ 3600 SOA a.ns.example.com. hostmaster.example.com. (
2014110502 ; serial
1800 ; refresh
7200 ; retry
1209600 ; expire
3600 ) ; negative
NS a.ns.example.com.
NS b.ns.example.com.
MX 0 mail.example.com.
a.ns A 108.xx.xxx.xx
b.ns A 108.xx.xxx.xx
mail A 108.xx.xxx.xx
-
Ahora podemos habilitar e iniciar el servicio:
sudo rcctl enable nsd
sudo rcctl start nsd
Ahora debería tener tanto su propio servidor DNS de almacenamiento en caché / resolución, como uno autorizado.
La sintaxis de la zona BIND y los detalles sobre cómo ejecutar su propio maestro están un poco fuera del alcance de esta breve guía y se dejan como ejercicio para el lector. ¡Disfruta de OpenBSD!