Domain Name System (DNS) adalah akar dari internet yang menerjemahkan nama domain ke Alamat IP dan sebaliknya. Paket BIND9 (Berkeley Internet Name Domain) menyediakan fungsionalitas konversi nama ke IP.
Postingan ini akan memandu Anda untuk mengonfigurasi server DNS di Ubuntu 18.04 / Ubuntu 16.04.
Lingkungan
Nama Domain:itzgeek.local | ||
---|---|---|
ns1.itzgeek.local | 192.168.0.10 | Server DNS Utama |
Setup DNS Server di Ubuntu 18.04 / Ubuntu 16.04
Prasyarat
Perbarui indeks repositori.
sudo apt update
Pastikan server DNS memiliki alamat IP statis.
BACA: Cara mengkonfigurasi alamat IP statis di Ubuntu 18.04 / Ubuntu 16.04 menggunakan ifupdown
Jika Anda menggunakan Netplan – alat jaringan baru untuk mengkonfigurasi jaringan di Ubuntu 18.04, lalu.
BACA :Cara Mengkonfigurasi Alamat IP Statis di Ubuntu 18.04 menggunakan Netplan
Instal Server DNS
Nama paket untuk server DNS di Ubuntu adalah bind9 dan tersedia di repositori dasar. Gunakan perintah apt untuk menginstal paket bind9.
sudo apt install -y bind9 bind9utils bind9-doc dnsutils
Konfigurasi Server DNS
Direktori /etc/bind/ adalah direktori konfigurasi utama server DNS, dan menyimpan file konfigurasi dan file pencarian zona.
File konfigurasi global adalah /etc/bind/named.conf. Anda tidak boleh menggunakan file ini untuk zona DNS lokal Anda, tetapi Anda dapat menggunakan file /etc/bind/named.conf.local.
Buat Zona
Mari kita mulai dengan membuat zona penerusan untuk domain Anda.
sudo nano /etc/bind/named.conf.local
Zona Maju
Berikut ini adalah entri zona maju untuk domain itzgeek.local dalam file bernama.conf.local.
zone "itzgeek.local" IN { // Domain name type master; // Primary DNS file "/etc/bind/forward.itzgeek.local.db"; // Forward lookup file allow-update { none; }; // Since this is the primary DNS, it should be none. };
Zona Terbalik
Entri berikut adalah untuk zona terbalik dalam file bernama.conf.local.
zone "0.168.192.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order type master; // Primary DNS file "/etc/bind/reverse.itzgeek.local.db"; //Reverse lookup file allow-update { none; }; //Since this is the primary DNS, it should be none. };
Buat file pencarian Zona
Setelah membuat zona, Anda dapat melanjutkan dan membuat file data zona yang menyimpan catatan DNS untuk zona maju dan zona mundur.
File pencarian Forward Zone
Salin entri sampel ke file zona bernama forward.itzgeek.local.db untuk zona penerusan di bawah /etc/bind direktori.
Jenis rekaman dalam file zona,
SOA – Mulai Otoritas
NS – Server Nama
A – Catatan
MX – Mail for Exchange
CN – Canonical Nama
Nama domain harus diakhiri dengan titik (.).
sudo cp /etc/bind/db.local /etc/bind/forward.itzgeek.local.db
Edit zona.
sudo nano /etc/bind/forward.itzgeek.local.db
Perbarui konten yang ditampilkan di bawah.
Setiap kali Anda mengubah catatan apa pun dalam file pencarian, pastikan Anda memperbarui nomor seri ke beberapa nomor acak, lebih tinggi dari saat ini.$TTL 604800 @ IN SOA ns1.itzgeek.local. root.itzgeek.local. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; ;@ IN NS localhost. ;@ IN A 127.0.0.1 ;@ IN AAAA ::1 ;Name Server Information @ IN NS ns1.itzgeek.local. ;IP address of Name Server ns1 IN A 192.168.0.10 ;Mail Exchanger itzgeek.local. IN MX 10 mail.itzgeek.local. ;A – Record HostName To Ip Address www IN A 192.168.0.100 mail IN A 192.168.0.150 ;CNAME record ftp IN CNAME www.itgeek.local.
File pencarian Reverse Zone
Salin entri sampel ke file zona bernama reverse.itzgeek.local.db untuk zona terbalik di bawah direktori /etc/bind dan buat penunjuk balik untuk catatan zona maju di atas.
PTR – Pointer
SOA – Mulai Otoritas
sudo cp /etc/bind/db.127 /etc/bind/reverse.itzgeek.local.db
Edit file zona terbalik.
sudo nano /etc/bind/reverse.itzgeek.local.db
Perbarui konten yang ditampilkan di bawah.
Setiap kali Anda mengubah catatan DNS dalam file pencarian, pastikan untuk memperbarui nomor seri ke beberapa nomor acak, lebih tinggi dari yang sekarang.$TTL 604800 @ IN SOA itzgeek.local. root.itzgeek.local. ( 3 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; ;@ IN NS localhost. ;1.0.0 IN PTR localhost. ;Name Server Information @ IN NS ns1.itzgeek.local. ;Reverse lookup for Name Server 10 IN PTR ns1.itzgeek.local. ;PTR Record IP address to HostName 100 IN PTR www.itzgeek.local. 150 IN PTR mail.itzgeek.local.
Periksa Sintaks Konfigurasi BIND
Gunakan perintah bernama-checkconf untuk memeriksa sintaks dan file bernama.conf* untuk menemukan kesalahan.
sudo named-checkconf
Perintah akan kembali ke shell jika tidak ada kesalahan.
Selain itu, Anda dapat menggunakan bernama-checkzone untuk memeriksa kesalahan sintaks dalam file zona.
Zona maju
sudo named-checkzone itzgeek.local /etc/bind/forward.itzgeek.local.db
Keluaran:
zone itzgeek.local/IN: loaded serial 3 OK
Zona terbalik
named-checkzone 0.168.192.in-addr.arpa /etc/bind/reverse.itzgeek.local.db
Keluaran:
zone 0.168.192.in-addr.arpa/IN: loaded serial 3 OK
Mulai ulang layanan pengikatan.
sudo systemctl restart bind9
Aktifkan saat startup sistem.
sudo systemctl enable bind9
Periksa status layanan bind9.
sudo systemctl status bind9
Pembaruan Data DNS
Setiap kali Anda mengubah catatan DNS, jangan lupa untuk mengubah nomor seri di file zona dan memuat ulang zona.
Ubah itzgeek.local &0.168.192.in-addr.arpa dengan nama zona Anda.
### Forward Zone ### sudo rndc reload itzgeek.local ### Reverse Zone ### sudo rndc reload 0.168.192.in-addr.arpa
Verifikasi Server DNS
Buka mesin klien mana pun dan tambahkan Alamat IP server DNS baru kami di file /etc/resolv.conf.
sudo nano /etc/resolv.conf
Buat entri seperti di bawah ini.
nameserver 192.168.0.10
ATAU
Baca tutorial di bawah ini untuk mengatur IP server DNS di Linux.
BACA: Cara Mengatur alamat IP DNS di CentOS / Fedora
BACA: Cara Mengatur alamat IP DNS di Ubuntu / Debian – ifupdown
BACA: Cara Mengatur Alamat IP DNS di Ubuntu 18.04 – Netplan
Gunakan perintah dig untuk memeriksa zona maju.
dig www.itzgeek.local
Jika Anda mendapatkan perintah tidak ditemukan, maka instal paket bind-utils.
Keluaran:
; <<>> DiG 9.10.3-P4-Ubuntu <<>> www.itzgeek.local ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18022 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.itzgeek.local. IN A ;; ANSWER SECTION: www.itzgeek.local. 604800 IN A 192.168.0.100 ;; AUTHORITY SECTION: itzgeek.local. 604800 IN NS ns1.itzgeek.local. ;; ADDITIONAL SECTION: ns1.itzgeek.local. 604800 IN A 192.168.0.10 ;; Query time: 0 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Mon Dec 30 12:42:18 EST 2019 ;; MSG SIZE rcvd: 96
Jawaban server DNS untuk pencarian ke depan:192.168.0.100 sebagai alamat IP untuk www.itzgeek.local .
Konfirmasi pencarian terbalik dengan perintah dig.
dig -x 192.168.0.100
Keluaran:
; <<>> DiG 9.10.3-P4-Ubuntu <<>> -x 192.168.0.100 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37122 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;100.0.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 100.0.168.192.in-addr.arpa. 604800 IN PTR www.itzgeek.local. ;; AUTHORITY SECTION: 0.168.192.in-addr.arpa. 604800 IN NS ns1.itzgeek.local. ;; ADDITIONAL SECTION: ns1.itzgeek.local. 604800 IN A 192.168.0.10 ;; Query time: 0 msec ;; SERVER: 127.0.1.1#53(127.0.1.1) ;; WHEN: Mon Dec 30 12:43:20 EST 2019 ;; MSG SIZE rcvd: 120
Jawaban server DNS untuk pencarian terbalik:www.itzgeek.local sebagai nama untuk 192.168.0.100.
Hasil ini mengonfirmasi bahwa kedua pencarian zona berfungsi dengan baik.
Kesimpulan
Itu saja. Anda sekarang telah berhasil mengonfigurasi server DNS di Ubuntu 18.04 / Ubuntu 16.04 sebagai server master. Di postingan berikutnya, kita akan mengonfigurasi server DNS slave di Ubuntu 18.04 / Ubuntu 16.04.