GNU/Linux >> Znalost Linux >  >> Linux

Nastavení serveru DNS pouze s mezipamětí v systému RHEL 7 Linux

Úvod

Unbound je ověřovací, rekurzivní a mezipaměťový server DNS. Nevázaný server DNS však nelze použít jako autoritativní server DNS, což znamená, že jej nelze použít k hostování záznamů vlastních doménových jmen. V důsledku toho, pokud je vaším cílem vybudovat server DNS pouze pro mezipaměť nebo přesměrování, může být Unbound vaší preferovanou volbou, protože to dělá a dělá to dobře.

Cíl

Cílem je poskytnout rychlý a snadno sledovatelný průvodce instalací a konfigurací pro server DNS Unbound cache-only na Redhat 7 Linux. Na konci této příručky budete moci používat Unbound DNS server ze všech klientů ve vaší lokální síti.

Požadavky

Privilegovaný přístup k vašemu serveru Redhat 7 Linux s nakonfigurovanými standardními repozitáři RedHat.

Obtížnost

STŘEDNÍ

Konvence

  • # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
  • $ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Pokyny

Nevázaná instalace a instalace nástrojů DNS

V prvním kroku nainstalujeme skutečný Unbound DNS server a také nástroje DNS, které budou případně použity k testování konfigurace vašeho serveru DNS cache-only. Vzhledem k tomu, že máte správně nakonfigurované úložiště Redhat, můžete oba nainstalovat spuštěním následujícího příkazu pro linux:

# yum install unbound bind-utils

Základní nevázaná konfigurace

Nyní provedeme základní konfiguraci serveru Unbound DNS caching-only. To se provede úpravou konfiguračního souboru Unbound /etc/unbound/unbound.conf buď pomocí textového editoru nebo pomocí níže uvedeného sed příkazy. Nejprve pomocí preferovaného textového editoru vyhledejte řádek # interface: 0.0.0.0 a odkomentujte jej odstraněním úvodního # podepsat. Případně použijte níže uvedený sed příkaz:

# sed -i '/interface: 0.0.0.0$/s/#//' /etc/unbound/unbound.conf

Výše uvedená konfigurace nařídí serveru Unbound DNS, aby naslouchal na všech rozhraních místní sítě. Dále povolte svým klientům LAN dotazovat se na mezipaměť Unbound. Najděte příslušný řádek a změňte výchozí adresu IP zpětné smyčky 127.0.0.0/8 na síťovou adresu vaší LAN, např. 10.0.0.0/24 :

FROM:
access-control: 127.0.0.0/8 allow
TO
access-control: 10.0.0.0/24 allow

Výše uvedené může také provést sed příkaz:

# sed -i 's/127.0.0.0\/8 allow/10.0.0.0\/24 allow/' /etc/unbound/unbound.conf

Nastavení podpory DNSSEC

Dále instruujeme Unbound DNS server, aby vygeneroval RSA klíče za účelem poskytnutí podpory DNSSEC:

# unbound-control-setup 
setup in directory /etc/unbound
generating unbound_server.key
Generating RSA private key, 1536 bit long modulus
.................++++
.........++++
e is 65537 (0x10001)
generating unbound_control.key
Generating RSA private key, 1536 bit long modulus
.........++++
..................................++++
e is 65537 (0x10001)
create unbound_server.pem (self signed certificate)
create unbound_control.pem (signed client certificate)
Signature ok
subject=/CN=unbound-control
Getting CA Private Key
Setup success. Certificates created. Enable in unbound.conf file to use

Zbývá pouze zkontrolovat konfiguraci Unbound:

# unbound-checkconf
unbound-checkconf: no errors in /etc/unbound/unbound.conf

Povolte a spusťte nevázaný server

V této fázi povolíme spuštění serveru Unbound DNS v době spouštění:

# systemctl enable unbound
Created symlink from /etc/systemd/system/multi-user.target.wants/unbound.service to /usr/lib/systemd/system/unbound.service.

a spusťte skutečnou službu:

# service unbound start
Redirecting to /bin/systemctl start  unbound.service

Ujistěte se, že je spuštěn Unbound DNS server kontrolou jeho stavu:

[root@localhost unbound]# service unbound status
Redirecting to /bin/systemctl status  unbound.service
● unbound.service - Unbound recursive Domain Name Server
   Loaded: loaded (/usr/lib/systemd/system/unbound.service; enabled; vendor preset: disabled)
   Active: active (running) since Wed 2016-12-07 10:32:58 AEDT; 6s ago
  Process: 2355 ExecStartPre=/usr/sbin/unbound-anchor -a /var/lib/unbound/root.key -c /etc/unbound/icannbundle.pem (code=exited, status=0/SUCCESS)
  Process: 2353 ExecStartPre=/usr/sbin/unbound-checkconf (code=exited, status=0/SUCCESS)
 Main PID: 2357 (unbound)
   CGroup: /system.slice/unbound.service
           └─2357 /usr/sbin/unbound -d

Dec 07 10:32:57 localhost.localdomain systemd[1]: Starting Unbound recursive Domain Name Server...
Dec 07 10:32:57 localhost.localdomain unbound-checkconf[2353]: unbound-checkconf: no errors in /etc/unbound/unbound.conf
Dec 07 10:32:58 localhost.localdomain systemd[1]: Started Unbound recursive Domain Name Server.
Dec 07 10:32:58 localhost.localdomain unbound[2357]: Dec 07 10:32:58 unbound[2357:0] warning: increased limit(open files) from 1024 to 8266
Dec 07 10:32:58 localhost.localdomain unbound[2357]: [2357:0] notice: init module 0: validator
Dec 07 10:32:58 localhost.localdomain unbound[2357]: [2357:0] notice: init module 1: iterator
Dec 07 10:32:58 localhost.localdomain unbound[2357]: [2357:0] info: start of service (unbound 1.4.20).

Otevřete port brány firewall DNS

Chcete-li umožnit svým klientům místní sítě LAN připojit se k vašemu novému serveru DNS Unbound cache-only, budete muset otevřít port DNS:

# firewall-cmd --permanent --add-service dns
success
# firewall-cmd --reload
success

Vše hotovo, nyní jsme připraveni k testování.

Testování

Konečně jsme se dostali do bodu, kdy můžeme provést základní testování našeho nového serveru Unbound DNS cache-only. K tomu používáme dig příkaz, který je součástí dříve nainstalovaného bind-utils balíček pro provádění některých DNS dotazů. Nejprve proveďte DNS dotaz na skutečném DNS serveru:

# dig @localhost example.com

; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> @localhost example.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53485
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com.                   IN      A

;; ANSWER SECTION:
example.com.            86400   IN      A       93.184.216.34

;; Query time: 817 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 07 10:40:46 AEDT 2016
;; MSG SIZE  rcvd: 56

Všimněte si, že doba dotazu je více než 817 ms. Protože jsme nakonfigurovali server DNS pouze s mezipamětí, tento dotaz je nyní ukládán do mezipaměti, takže jakékoli následné překlady dotazů DNS se stejným názvem domény jsme spíše okamžité:

# dig @localhost example.com

; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> @localhost example.com
; (2 servers found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34443
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;example.com.                   IN      A

;; ANSWER SECTION:
example.com.            86272   IN      A       93.184.216.34

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Dec 07 10:42:54 AEDT 2016
;; MSG SIZE  rcvd: 56

Nakonec můžete nyní otestovat konfiguraci serveru Ubound DNS z vašich místních klientů LAN tak, že je nasměrujete na IP adresu Unbound, např. 10.1.1.45:

$ dig @10.1.1.45 example.com

; <<>> DiG 9.9.5-9+deb8u6-Debian <<>> @10.1.1.45 example.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 50494
;; flags: qr rd ad; QUERY: 0, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; Query time: 0 msec
;; SERVER: 10.1.1.45#53(10.1.1.45)
;; WHEN: Wed Dec 07 10:45:43 AEDT 2016
;; MSG SIZE  rcvd: 12

Linux
  1. Jak nainstalovat DNS server na RHEL 8 / CentOS 8 Linux

  2. Nastavení serveru WebDAV na Ubuntu Linux

  3. Nastavte SysLog Server na CentOS 6 / RHEL 6

  1. Jak nastavit SysLog Server na CentOS 7 / RHEL 7

  2. Jak nastavit server NFS na CentOS 7 / RHEL 7

  3. Jak zaregistruji server Linux se serverem Windows DNS

  1. Nastavte Apache Traffic Server jako reverzní proxy v systému Linux

  2. Nastavte OpenVPN Server na Rocky Linux 8

  3. Jak nastavit SSH bez hesla v systému Linux