In dieser Schnellkonfiguration richten wir den Berkeley Internet Name Domain (DNS)-Dienst named
ein . Lassen Sie uns zunächst kurz unsere Umgebung und das vorgeschlagene Szenario beschreiben. Wir werden einen DNS-Server einrichten, um eine einzelne Zonendatei für die Domäne linuxconfig.org zu hosten. Unser DNS-Server fungiert als Master Authority für diese Domain und löst die vollqualifizierte Domain (FQDN) linuxconfig.org
auf und www.linuxconfig.org
an eine IP-Adresse 1.1.1.1
.
Außerdem ist unser named
Daemon überwacht zwei lokale IP-Adressen, die Loopback-IP-Adresse 127.0.0.1 und die lokale Netzwerkschnittstelle 10.1.1.100. Schließlich erlaubt der DNS-Server Abfragen von jeder externen IP-Adresse.
DNS-Server-Installation
Nachdem wir nun unser grundlegendes Szenario beschrieben haben, beginnen wir mit der Installation eines DNS-Servers. Um den DNS-Server auf RHEL7 zu installieren, verwenden Sie yum
Befehl unten:
# 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!
Sobald die DNS-Installation abgeschlossen ist, werden wir nun eine schnelle Konfiguration vornehmen, um named
zu erstellen Daemon lauscht auf unserer Loopback- und lokalen Netzwerkschnittstellenadresse:
[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
Aus der obigen Befehlsausgabe können wir sowohl unsere IPv4- als auch unsere IPv6-IP-Adressen sehen. Lassen Sie uns unseren named
machen Daemon, um auf beiden zu lauschen. Öffnen Sie die benannte Hauptkonfigurationsdatei /etc/named.conf
und Zeile ändern:
listen-on port 53 { 127.0.0.1; }; TO: listen-on port 53 { 127.0.0.1; 10.1.1.110; };
An dieser Stelle können wir mit named
beginnen Dämon:
[root@rhel7 ~]# service named start Redirecting to /bin/systemctl start named.service
Wenn der obige service
Befehl hängt, vergewissern Sie sich, dass Sie Ihren Hostnamen korrekt eingerichtet haben und dass Sie ihn auflösen können:
[root@rhel7 ~]# ping -c 1 `hostname` ping: unknown host rhel7
Der schnellste Weg, dies zu beheben, besteht darin, Ihre /etc/hosts
zu bearbeiten Datei in etwas wie:
[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
An dieser Stelle sollten Sie Ihren DNS-Server problemlos starten können. Sobald Ihr named
Der Daemon hat die Überprüfung von Port 53 mit einem netstat
gestartet Befehl, der Teil von net-tools
ist Paket:
[root@rhel7 ~]# netstat -ant | grep -w 53
An diesem Punkt sollte der DNS-Server so konfiguriert sein, dass er mindestens zwei Sockets abhört:
10.1.1.110:53 127.0.0.1:53
Firewall-Einstellungen
Jetzt ist es an der Zeit, eine Firewall zu öffnen, um DNS-Abfragen von externen Quellen zuzulassen. Stellen Sie sicher, dass Sie beide Protokolle TCP und UDP haben:
[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
Testen Sie, ob Sie von einem anderen externen Host aus auf Port 53 zugreifen können. Der einfachste Weg ist die Verwendung von nmap
Befehl:
[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
Überprüfen Sie außerdem, ob der DNS-Port 53 über das UDP-Protokoll zugänglich ist. Dafür benötigen Sie Root-Rechte:
# 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
Konfiguration der Zonendatei
Alles gut. Jetzt ist es an der Zeit, unsere Zonendatei für die Domäne linuxconfig.org zu definieren. Zuerst erstellen wir ein Verzeichnis, um alle unsere Masterzonendateien zu hosten:
[root@rhel7 ~]# mkdir -p /etc/bind/zones/master/
Als nächstes erstellen wir die eigentliche Zonendatei mit folgendem Inhalt:
Zonendatei erstellen:
[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
Passen Sie die obige Zonendatei an Ihre Umgebung an, fügen Sie MX-Einträge hinzu und ändern Sie die Nameserver-Einträge ns1.rhel7.local. and ns2.rhel7.local.
zu Ihrem FQDN, mit dem Ihr neuer DNS-Server aufgelöst werden kann, z. ns1.mydomain.com. and ns2.mydomain.com.
. Sobald Sie fertig sind, fügen Sie unsere neue Zonendatei in die benannte Konfigurationsdatei /etc/named.rfc1912.zones
ein :
zone "linuxconfig.org" { type master; file "/etc/bind/zones/master/db.linuxconfig.org"; };
Starten Sie Ihren DNS-Server neu:
[root@rhel7 ~]# service named restart Redirecting to /bin/systemctl restart named.service
DNS-Serverkonfiguration
Wenn keine Fehler vorliegen und der named
Daemon korrekt gestartet Öffnen Sie erneut die benannte Hauptkonfigurationsdatei /etc/named.conf
und Zeile ändern:
FROM: allow-query { localhost; }; TO: allow-query { any; };
Das obige ermöglicht die Abfrage Ihres DNS-Servers von externen Quellen. Starten Sie Ihren named
neu Dämon :
[root@rhel7 ~]# service named restart Redirecting to /bin/systemctl restart named.service
Als letzter Konfigurationsschritt bleibt sicherzustellen, dass unser DNS-Server startet, nachdem wir unseren RHEL7-Linux-Server neu gestartet haben:
[root@rhel7 ~]# systemctl enable named ln -s '/usr/lib/systemd/system/named.service' '/etc/systemd/system/multi-user.target.wants/named.service'
Testen des DNS-Servers von RHEL 7
Zu diesem Zeitpunkt sollten Sie bereit sein, Ihren DNS-Server zu bitten, die Domäne linuxconfig.org aufzulösen. Versuchen Sie nun, von einem externen Host aus Ihren DNS-Server mit dig
nach einer Domain linuxconfig.org abzufragen Befehl:
[lrendek@localhost ~]$ dig @10.1.1.110 www.linuxconfig.org
Alles funktioniert wie erwartet.
Die obige Konfiguration hat Ihnen geholfen, mit einigen grundlegenden Konfigurationen Ihres DNS-Servers auf dem RHEL7-Linux-Server zu beginnen.