En esta configuración rápida, configuraremos el servicio de dominio de nombres de Internet (DNS) de Berkeley named
. Primero, describamos brevemente nuestro entorno y el escenario propuesto. Configuraremos un servidor DNS para alojar un archivo de zona única para el dominio linuxconfig.org. Nuestro servidor DNS actuará como una autoridad maestra para este dominio y resolverá el dominio completo (FQDN) linuxconfig.org
y www.linuxconfig.org
a una dirección IP 1.1.1.1
.
Además, nuestro named
El demonio escuchará en dos direcciones IP locales, la dirección IP de loopback 127.0.0.1 y la interfaz de red local 10.1.1.100. Por último, el servidor DNS permitirá consultas desde cualquier dirección IP externa.
Instalación del servidor DNS
Ahora que hemos descrito nuestro escenario básico, comencemos con la instalación de un servidor DNS. Para instalar el servidor DNS en RHEL7, use yum
comando a continuación:
# yum install bind ... RHEL_7_Disc/productid | 1.6 kB 00:00 Verifying : 32:bind-9.9.4-14.el7.x86_64 1/2 Verifying : 32:bind-libs-9.9.4-14.el7.x86_64 2/2 Installed: bind.x86_64 32:9.9.4-14.el7 Dependency Installed: bind-libs.x86_64 32:9.9.4-14.el7 Complete!
Una vez que finalice la instalación de DNS, ahora haremos una configuración rápida para hacer named
daemon escucha en nuestra dirección de interfaz de red local y loopback:
[root@rhel7 ~] # ip addr show | grep inet inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host inet 10.1.1.110/8 brd 10.255.255.255 scope global enp0s3 inet6 fe80::a00:27ff:fe15:38b7/64 scope link
Desde el resultado del comando anterior podemos ver nuestras direcciones IP IPv4 e IPv6. Hagamos que nuestro named
daemon para escuchar en ambos. Abra el archivo de configuración principal con nombre /etc/named.conf
y cambiar línea:
listen-on port 53 { 127.0.0.1; }; TO: listen-on port 53 { 127.0.0.1; 10.1.1.110; };
En este punto podemos empezar named
demonio:
[root@rhel7 ~]# service named start Redirecting to /bin/systemctl start named.service
Si el service
anterior el comando se cuelga, asegúrese de haber configurado correctamente su nombre de host y de que pueda resolverlo:
[root@rhel7 ~]# ping -c 1 `hostname` ping: unknown host rhel7
La forma más rápida de solucionar esto es editar su /etc/hosts
archivo a algo como:
[root@rhel7 ~]# vi /etc/hosts 127.0.0.1 rhel7 localhost localhost.localdomain localhost4 localhost4.localdomain4 10.1.1.110 rhel7 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 [root@rhel7 ~]# ping -c 1 `hostname` PING rhel7 (127.0.0.1) 56(84) bytes of data. 64 bytes from rhel7 (127.0.0.1): icmp_seq=1 ttl=64 time=0.080 ms --- rhel7 ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 0.080/0.080/0.080/0.000 ms
En este punto, debería poder iniciar su servidor DNS sin ningún problema. Una vez que hayas named
daemon comenzó a verificar el puerto 53 usando un netstat
comando que es parte de net-tools
paquete:
[root@rhel7 ~]# netstat -ant | grep -w 53
En este punto, deberíamos tener el servidor DNS configurado para escuchar en al menos dos sockets:
10.1.1.110:53 127.0.0.1:53
Configuración del cortafuegos
Ahora es el momento de abrir un firewall para permitir consultas de DNS de fuentes externas. Asegúrate de tener ambos protocolos TCP y UDP:
[root@rhel7 ~]# firewall-cmd --zone=public --add-port=53/tcp --permanent success [root@rhel7 ~]# firewall-cmd --zone=public --add-port=53/udp --permanent success [root@rhel7 ~]# firewall-cmd --reload success
Pruebe que puede acceder al puerto 53 desde algún otro host externo. La forma más fácil es usar nmap
comando:
[lrendek@localhost ~]$ nmap -p 53 10.1.1.110 Starting Nmap 6.45 ( http://nmap.org ) at 2014-11-08 16:40 AEDT Nmap scan report for rhel7.local (10.1.1.110) Host is up (0.00040s latency). PORT STATE SERVICE 53/tcp open domain Nmap done: 1 IP address (1 host up) scanned in 0.04 seconds
Además de verificar si se puede acceder al puerto DNS 53 mediante el protocolo UDP. Necesitará privilegios de root para esto:
# nmap -sU -p 53 10.1.1.110 Starting Nmap 6.45 ( http://nmap.org ) at 2014-11-08 17:15 AEDT Nmap scan report for rhel7.local (10.1.1.110) Host is up (0.00044s latency). PORT STATE SERVICE 53/udp open domain MAC Address: 08:00:27:15:38:B7 (Cadmus Computer Systems) Nmap done: 1 IP address (1 host up) scanned in 0.51 seconds
Configuración del archivo de zona
Todo bien. Ahora es el momento de definir nuestro archivo de zona para el dominio linuxconfig.org. Primero creamos un directorio para alojar todos nuestros archivos de zona maestra:
[root@rhel7 ~]# mkdir -p /etc/bind/zones/master/
A continuación, vamos a crear el archivo de zona real con el siguiente contenido:
crear un archivo de zona:
[root@rhel7 ~]# vi /etc/bind/zones/master/db.linuxconfig.org ; ; BIND data file for linuxconfig.org ; $TTL 3h @ IN SOA linuxconfig.org admin.linuxconfig.org. ( 1 ; Serial 3h ; Refresh after 3 hours 1h ; Retry after 1 hour 1w ; Expire after 1 week 1h ) ; Negative caching TTL of 1 day ; @ IN NS ns1.rhel7.local. @ IN NS ns2.rhel7.local. linuxconfig.org. IN A 1.1.1.1 www IN A 1.1.1.1
Cambie el archivo de zona anterior para adaptarlo a su entorno, agregue registros MX y cambie los registros del servidor de nombres ns1.rhel7.local. and ns2.rhel7.local.
a su FQDN con el que se puede resolver su nuevo servidor DNS, por ejemplo. ns1.mydomain.com. and ns2.mydomain.com.
. Una vez que esté listo, incluya nuestro nuevo archivo de zona en el archivo de configuración nombrado /etc/named.rfc1912.zones
:
zone "linuxconfig.org" { type master; file "/etc/bind/zones/master/db.linuxconfig.org"; };
Reinicie su servidor DNS:
[root@rhel7 ~]# service named restart Redirecting to /bin/systemctl restart named.service
Configuración del servidor DNS
Si no hay errores y el named
El demonio se inició correctamente una vez más, abra el archivo de configuración principal con nombre /etc/named.conf
y cambiar línea:
FROM: allow-query { localhost; }; TO: allow-query { any; };
Lo anterior permitirá consultar su servidor DNS desde fuentes externas. Reinicie su named
demonio:
[root@rhel7 ~]# service named restart Redirecting to /bin/systemctl restart named.service
Como queda un último paso de configuración, asegúrese de que nuestro servidor DNS se inicie después de reiniciar nuestro servidor Linux RHEL7:
[root@rhel7 ~]# systemctl enable named ln -s '/usr/lib/systemd/system/named.service' '/etc/systemd/system/multi-user.target.wants/named.service'
Pruebas de servidor DNS de RHEL 7
En esta etapa, debería estar listo para pedirle a su servidor DNS que resuelva el dominio linuxconfig.org. Desde algún host externo ahora intente consultar su servidor DNS para un dominio linuxconfig.org usando dig
comando:
[lrendek@localhost ~]$ dig @10.1.1.110 www.linuxconfig.org
Todo funciona como se esperaba.
La configuración anterior lo ayudó a comenzar con algunas configuraciones básicas de su servidor DNS en el servidor Linux RHEL7.