GNU/Linux >> Belajar Linux >  >> Linux

Penyiapan server DNS cache-saja yang tidak terikat di RHEL 7 Linux

Pengantar

Tidak terikat adalah server DNS yang memvalidasi, rekursif, dan menyimpan cache. Karena itu, server DNS Tidak Terikat tidak dapat digunakan sebagai server DNS otoritatif, yang berarti tidak dapat digunakan untuk menghosting catatan nama domain khusus. Akibatnya, jika tujuan Anda adalah membangun server DNS cache-only atau penerusan, Unbound mungkin menjadi pilihan yang Anda pilih, karena ia melakukan hal itu dan melakukannya dengan baik.

Tujuan

Tujuannya adalah untuk menyediakan panduan instalasi dan konfigurasi yang cepat dan mudah diikuti untuk server DNS cache-saja yang tidak terikat di Redhat 7 Linux. Di akhir panduan ini, Anda akan dapat menggunakan server DNS Tidak Terikat dari semua klien di jaringan area lokal Anda.

Persyaratan

Akses istimewa ke server Redhat 7 Linux Anda dengan repositori RedHat standar yang dikonfigurasi.

Kesulitan

SEDANG

Konvensi

  • # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
  • $ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa

Petunjuk

Instalasi alat DNS dan tidak terikat

Pada langkah pertama kita akan menginstal server DNS Tidak Terikat yang sebenarnya serta alat DNS yang pada akhirnya akan digunakan untuk menguji konfigurasi server hanya cache DNS Anda. Mengingat repositori Redhat Anda telah dikonfigurasi dengan benar, Anda dapat menginstal keduanya dengan menjalankan perintah linux berikut:

# yum install unbound bind-utils

Konfigurasi Dasar Tidak Terikat

Sekarang, kita akan melakukan konfigurasi dasar server khusus caching DNS Tidak Terikat. Ini akan dilakukan dengan mengedit file konfigurasi Unbound /etc/unbound/unbound.conf baik dengan menggunakan editor teks atau menggunakan sed di bawah ini perintah. Pertama, gunakan editor teks pilihan Anda untuk menemukan baris # interface: 0.0.0.0 dan batalkan komentar dengan menghapus # leading di depan tanda. Atau gunakan sed di bawah ini perintah:

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

Konfigurasi di atas akan menginstruksikan server DNS Tidak Terikat untuk mendengarkan di semua antarmuka jaringan lokal. Selanjutnya, izinkan klien LAN Anda untuk menanyakan cache Unbound. Temukan baris yang relevan, ubah alamat IP loopback default 127.0.0.0/8 ke alamat jaringan LAN Anda, mis. 10.0.0.0/24 :

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

Hal di atas juga dapat dilakukan dengan sed perintah:

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

Siapkan dukungan DNSSEC

Selanjutnya, kami menginstruksikan server DNS Tidak Terikat untuk membuat kunci RSA untuk memberikan dukungan 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

Yang tersisa hanyalah memeriksa konfigurasi Unbound:

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

Aktifkan dan mulai server Tidak Terikat

Pada tahap ini kami akan mengaktifkan server DNS Tidak Terikat untuk memulai pada saat boot:

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

dan mulai layanan yang sebenarnya:

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

Pastikan server DNS Tidak Terikat berjalan dengan memeriksa statusnya:

[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).

Buka port firewall DNS

Untuk mengizinkan klien LAN lokal Anda terhubung ke server DNS hanya cache Unbound yang baru, Anda harus membuka port DNS:

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

Semua selesai, kami sekarang siap untuk pengujian.

Pengujian

Akhirnya, kami telah sampai pada titik di mana kami dapat melakukan beberapa pengujian dasar server cache-only DNS Tidak Terikat kami yang baru. Untuk ini kami menggunakan dig perintah yang merupakan bagian dari bind-utils yang diinstal sebelumnya paket untuk melakukan beberapa kueri DNS. Pertama, jalankan kueri DNS di server DNS yang sebenarnya:

# 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

Perhatikan, bahwa waktu kueri lebih dari 817 mdtk. Karena kami telah mengonfigurasi server DNS cache-only, kueri ini sekarang di-cache sehingga setiap resolusi kueri DNS berikutnya dari nama domain yang sama, kami menjadi agak instan:

# 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

Terakhir, Anda sekarang dapat menguji konfigurasi server DNS Ubound dari klien LAN lokal Anda dengan mengarahkannya ke alamat IP Unbound, mis. 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. Cara menginstal server DNS di RHEL 8 / CentOS 8 Linux

  2. Pengaturan server WebDAV di Ubuntu Linux

  3. Cara Mengatur Terowongan SSH Terbalik di Linux

  1. Siapkan Server SysLog di CentOS 6 / RHEL 6

  2. Cara Setup SysLog Server di CentOS 7 / RHEL 7

  3. Bagaimana cara mendaftarkan server Linux dengan server DNS Windows

  1. Cara Setup Server NFS di CentOS 7 / RHEL 7

  2. Setup Apache Traffic Server sebagai Reverse Proxy di Linux

  3. Siapkan Server OpenVPN di Rocky Linux 8