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