In questa rapida configurazione imposteremo il servizio Berkeley Internet Name Domain (DNS) named
. Innanzitutto, descriviamo brevemente il nostro ambiente e lo scenario proposto. Configurare un server DNS per ospitare un singolo file di zona per il dominio linuxconfig.org. Il nostro server DNS fungerà da autorità principale per questo dominio e risolverà il dominio completo (FQDN) linuxconfig.org
e www.linuxconfig.org
a un indirizzo IP 1.1.1.1
.
Inoltre, il nostro named
il demone sarà in ascolto su due indirizzi IP locali, l'indirizzo IP di loopback 127.0.0.1 e l'interfaccia di rete locale 10.1.1.100. Infine, il server DNS consentirà query da qualsiasi indirizzo IP esterno.
Installazione del server DNS
Ora che abbiamo descritto il nostro scenario di base, iniziamo con l'installazione di un server DNS. Per installare il server DNS su RHEL7 usa yum
comando seguente:
# 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 volta terminata l'installazione del DNS, faremo ora una rapida configurazione per rendere named
daemon ascolta sul nostro loopback e sull'indirizzo dell'interfaccia di rete locale:
[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
Dall'output del comando precedente possiamo vedere i nostri indirizzi IP sia IPv4 che IPv6. Diamo il nostro named
demone per ascoltare su entrambi. Apri il file di configurazione principale denominato /etc/named.conf
e cambia riga:
listen-on port 53 { 127.0.0.1; }; TO: listen-on port 53 { 127.0.0.1; 10.1.1.110; };
A questo punto possiamo iniziare con named
demone:
[root@rhel7 ~]# service named start Redirecting to /bin/systemctl start named.service
Se il service
sopra il comando si blocca assicurati di aver impostato correttamente il tuo nome host e di poterlo risolvere:
[root@rhel7 ~]# ping -c 1 `hostname` ping: unknown host rhel7
Il modo più rapido per risolvere questo problema è modificare il tuo /etc/hosts
file in qualcosa come:
[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
A questo punto dovresti essere in grado di avviare il tuo server DNS senza problemi. Una volta che il tuo named
il demone ha iniziato a controllare la porta 53 usando un netstat
comando che fa parte di net-tools
pacchetto:
[root@rhel7 ~]# netstat -ant | grep -w 53
A questo punto dovremmo avere il server DNS configurato per essere in ascolto su almeno due socket:
10.1.1.110:53 127.0.0.1:53
Impostazioni firewall
Ora è il momento di aprire un firewall per consentire le query DNS da fonti esterne. Assicurati di avere entrambi i protocolli TCP e 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
Verifica di poter accedere alla porta 53 da qualche altro host esterno. Il modo più semplice è usare 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
Oltre a verificare se la porta DNS 53 è accessibile utilizzando il protocollo UDP. Avrai bisogno dei privilegi di root per questo:
# 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
Configurazione del file di zona
Tutto bene. Ora è il momento di definire il nostro file di zona per il dominio linuxconfig.org. Per prima cosa creiamo una directory per ospitare tutti i nostri file di zona master:
[root@rhel7 ~]# mkdir -p /etc/bind/zones/master/
Quindi, creiamo il file di zona effettivo con il seguente contenuto:
crea un file di 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
Modificare il file di zona sopra per adattarlo al proprio ambiente, aggiungere record MX e modificare i record del server dei nomi ns1.rhel7.local. and ns2.rhel7.local.
al tuo FQDN con cui il tuo nuovo server DNS può essere risolto ad es. ns1.mydomain.com. and ns2.mydomain.com.
. Una volta pronto, includi il nostro nuovo file di zona nel file di configurazione denominato /etc/named.rfc1912.zones
:
zone "linuxconfig.org" { type master; file "/etc/bind/zones/master/db.linuxconfig.org"; };
Riavvia il tuo server DNS:
[root@rhel7 ~]# service named restart Redirecting to /bin/systemctl restart named.service
Configurazione del server DNS
Se non ci sono errori e il named
daemon avviato correttamente ancora una volta apri il file di configurazione principale denominato /etc/named.conf
e cambia riga:
FROM: allow-query { localhost; }; TO: allow-query { any; };
Quanto sopra consentirà di interrogare il tuo server DNS da fonti esterne. Riavvia il tuo named
demone :
[root@rhel7 ~]# service named restart Redirecting to /bin/systemctl restart named.service
Come ultimo passaggio di configurazione rimane quello di assicurarsi che il nostro server DNS si avvii dopo aver riavviato il nostro server Linux RHEL7:
[root@rhel7 ~]# systemctl enable named ln -s '/usr/lib/systemd/system/named.service' '/etc/systemd/system/multi-user.target.wants/named.service'
Test del server DNS RHEL 7
A questo punto dovresti essere pronto a chiedere al tuo server DNS di risolvere il dominio linuxconfig.org. Da qualche host esterno ora prova a interrogare il tuo server DNS per un dominio linuxconfig.org usando dig
comando:
[lrendek@localhost ~]$ dig @10.1.1.110 www.linuxconfig.org
Tutto funzionante come previsto.
La configurazione di cui sopra ti ha aiutato a iniziare con alcune configurazioni di base del tuo server DNS sul server Linux RHEL7.