Cara Install dan Setting DNS Server di CentOS 7 pada Jaringan LAN
DNS (Domain Name System) adalah sebuah sistem yang menyimpan informasi tentang nama host ataupun nama domain dalam bentuk basis data tersebar (distributed database) di dalam jaringan komputer, misalkan: Internet. Secara sederhananya DNS berfungsi menerjemahkan nama domain menjadi alamat IP atau sebaliknya. Website dapat diakses dengan menggunakan alamat IP, tetapi menyulitkan untuk mengingat alamat IP, dibuatlah DNS agar website dapat diakses menggunakan nama domain yang lebih mudah diingat.
Kebutuhan Instalasi
Pada tutorial install DNS server ini saya menggunakan:
- Server: distro Linux CentOS 7
- Client: distro Linux Lite
- Client: Windows 7
- Simulasi di VirtualBox, bisa juga dipraktekkan langsung di jaringan LAN
Konfigurasi alamat IP dan domain
- Server: 192.168.56.50
- Client: 192.168.56.0/24
- Domain: cloudx.mks
- Pastikan jaringan antara server dan client sudah saling terhubung
Install DNS server
DNS server yang digunakan adalah bind.
1 | yum install bind bind-utils -y |
Konfigurasi DNS server
Backup terlebih dahulu file konfigurasi named.conf.
1 2 | cd /etc cp named.conf named.conf.backup |
Buka file konfigurasi.
1 | nano /etc/named.conf |
Ubah atau tambahkan baris kode di bawah ini.
1 2 3 | listen-on port 53 { 127.0.0.1; 192.168.56.50; }; allow-query { localhost; 192.168.56.50; any; }; allow-query-cache { localhost; 192.168.56.50; any; }; |
Hasilnya seperti pada gambar di bawah ini.
Kemudian tambahkan zone (nama domain) dan reverse (alamat IP). Pada opsi file adalah nama file konfigurasi, penulisa nama file tidak harus seperti itu.
1 2 3 4 5 6 7 8 9 | zone "cloudx.mks" { type master; file "/etc/named/cloudx.mks.zone"; }; zone "56.168.192.in-addr.arpa" IN { type master; file "/etc/named/56.168.192.rev"; }; |
Hasilnya seperti pada gambar di bawah ini.
Simpan, keluar dari nano.
Membuat file zone forward.
1 | nano /etc/named/cloudx.mks.zone |
Isinya adalah konfigurasi zone, berisi nama domain, sub-domain, dan alamat IP web server.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $TTL 86400 @ IN SOA cloudx.mks. root.cloudx.mks. ( 2018092501 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) @ IN NS ns1.cloudx.mks. @ IN NS ns2.cloudx.mks. @ IN A 192.168.56.50 ns1 IN A 192.168.56.50 ns2 IN A 192.168.56.50 www IN CNAME cloudx.mks. blog IN A 192.168.56.50 |
Selanjutnya membuat zone reverse.
1 | nano /etc/named/56.168.192.rev |
Isinya seperti di bawah ini.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | $TTL 86400 @ IN SOA cloudx.mks. root.cloudx.mks. ( 2018092501 ;Serial 3600 ;Refresh 1800 ;Retry 604800 ;Expire 86400 ;Minimum TTL ) IN NS ns1.cloudx.mks. IN NS ns2.cloudx.mks. @ IN A 192.168.56.50 ns1 IN A 192.168.56.50 ns2 IN A 192.168.56.50 50 IN PTR cloudx.mks. 50 IN PTR blog.cloudx.mks. |
Setelah membuat file zone dan reverse, aktifkan dan restart service named.
1 2 | systemctl enable named systemctl restart named |
Ubah file DNS resolver
1 | nano /etc/resolv.conf |
Isinya
1 2 | search cloudx.mks nameserver 192.168.56.50 |
Install Web Server
Install web server untuk pengujian akses nama domain di web browser.
1 2 3 | yum install httpd -y systemctl enable httpd systemctl start httpd |
Konfigurasi Firewall
Konfigurasi firewall untuk mengijinkan DNS server dan web server dapat diakses oleh client.
1 2 3 | firewall-cmd --add-service=dns --permanent firewall-cmd --add-service=http --permanent firewall-cmd --reload |
Pengujian
Pengujian dengan nslookup dan dig
Jalankan perintah nslookup untuk menguji konfigurasi DNS apakah sudah bisa dikenali.
1 | nslookup cloudx.mks |
Hasilnya
1 2 3 4 5 | Server: 192.168.56.50 Address: 192.168.56.50#53 Name: cloudx.mks Address: 192.168.56.50 |
Menggunakan perintah dig.
1 | dig cloudx.mks |
Hasilnya
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | ; <<>> DiG 9.9.4-RedHat-9.9.4-61.el7_5.1 <<>> cloudx.mks ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7895 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;cloudx.mks. IN A ;; ANSWER SECTION: cloudx.mks. 86400 IN A 192.168.56.50 ;; AUTHORITY SECTION: cloudx.mks. 86400 IN NS ns2.cloudx.mks. cloudx.mks. 86400 IN NS ns1.cloudx.mks. ;; ADDITIONAL SECTION: ns1.cloudx.mks. 86400 IN A 192.168.56.50 ns2.cloudx.mks. 86400 IN A 192.168.56.50 ;; Query time: 0 msec ;; SERVER: 192.168.56.50#53(192.168.56.50) ;; WHEN: Sel Sep 25 19:47:16 EDT 2018 ;; MSG SIZE rcvd: 123 |
Pengujian Akses Domain di Web Browser
Pada komputer client, pasang IP server pada kolom DNS server.
Konfigurasi IP Address di Windows
Konfigurasi IP Address di Linux
Setelah itu lakukan pengujian dengan mengakses nama domain di web browser.
Web Browser di Windows
Web Browser di Linux
Selamat mencoba 🙂
mau tanya nih gan, disinikan kondisinya koneksi server ke client via LAN, bagaimana kalo kondisinya koneksi server ke client via wireless? bagaiman menentukan ip clientnya? saya mau semua client yang terkoneksi dengan jaringan wireless yang sama dapat mengaksesnya… terimakasih
semua client harus memasang IP server sebagai DNS. solusinya biasa pakai DHCP server. kalau pakai Mikrotik coba set di Static DNS.
selamat siang, perkenalkan saya fikriawan saya mau tanya nih dari tutorial diatas kalau problem di systemctl start named tidak bisa bagaimanakah cara mengatasinya ya soalnyua ada perintah “journalctl -xe” terimakasih.
cek status servicenya buat tahu apa penyebab errornya,
systemctl status named
.kalau misalkan saya punya ip internetnya 192.168.43.1 itu masuk di enpos3 dan 192.168.10.1 enpose8 kalau kaya gitu gimana mas untuk membuat dnsnya apakah kita harus ikut enpose3 apa enpose8 soalnya ip internet dhcp bukan static
targetnya kan client yang berada di LAN, ikuti IP network interface LAN.
mas kalau ada video tutorialnya mungkin saya boleh akses soalnya saya ikutin tutorial dns diatas salah mas
saya gak ada video tutorialnya om.
bantu jawab 192.168.10.1 enpose8 masuk ke sini mas…
Salam Pak Musa..
Kalau untuk di server production berarti IP server (192.168.56.50) tinggal kita ganti IP public yang kita punya saja ya?
yes, betul sekali. silakan baca juga instalasi DNS server memakai Public IP (VPS).
kalau cara tamabahin subdomain gmna yah pak
tambah record
CNAME
saja, seperti record wwwMas, kira2 gmn caranya dns lokal itu bisa jadi nat buat client atau user? Tujuannya agar client bisa dapat akses internet dengan dns lokal tersebut. Apa harus di setting firewalld / ip tables nya? Atau ada cara lain?
coba baca tutorial ini om.
Waktu di restart named ko malah failed to start Berkeley? Solusinya om
cek pesan errornya secara lengkap, error log. cek status servicenya. kalau error saat restart cek kembali file konfigurasinya.
mas mau tanya aku ada masalah yang sama spt diatas, dan setelah di cek “Failed to start Berkeley Internet Name Domain (DNS).” tolong bantuannya mas hehe
cek status servicenya.
cek file konfigurasinya.
– named-checkconf /etc/named.conf
– named-checkzone /etc/named/filezone
Kalau untuk blokir adblock gimana caranya? atau mungkin mau buat tutorial secara terpisah? hehehe.
saya gak tau kalau itu, belum pernah melakukan. kalau wordpress cari saja pluginnya. menurut pendapat saya sebagai visitor, website yang memblokir adblock tidak akan dikunjungi lagi oleh visitor.
kalo tanpa ngatur dns nya bisa ga gan?
maksudnya bagaimana? tidak mau pakai dns server? bisa, konfigurasi file
/etc/hosts
.maap gan saya newbie jd kurang paham, jadi gini ada server baru pake dns alamatnya abc.com, komputer lain bisa akses tanpa ngatur IPV4 DNS Servernya di windows. Nah di server lama ga kepake saya mo nyoba pake DNS, tapi klo di windows ga di set IPV4 DNS server ke IP server ga bisa diakses
harus pasang IP Server sebagai IP DNS di client agar bisa mengenali domain yang ada di server, karena yang menyimpan nama domain tersebut ada di server.
ga ada cara lain kak? cz di server baru bisa akses tanpa atur IPV4 dns di windows. Tapi bukan saya yg ngeset nya, orang luar
kalau tanpa setting sendiri IP, berarti pakai DHCP server
hmm tapi ipnya static kak, 192.168.10.10
client akses alamat dns nya juga ttep ip nya 192.168.10.10
kenapa di centos saya, pas nslookup [namadomain], pas di address nya itu bukan make ip address untuk dns server nya mas ?
cek kembali konfigurasinya dan dns resolver
mas kalau di resolv.conf hanya ada nameserver lan kita aja linux tidak bisa mengakses domain luar untuk download package solusinya gimana ya? jika saya tambahkan domain google saat di ns lookup domain kita sendiri servernya jadi 8.8.8.8
selain dns lokal tambahkan juga dns public seperti google
nameserver 192.168.56.50
nameserver 8.8.8.8
nameserver 8.8.4.4
terima kasih mas sudah bisa dan lancar konfignya, situsnya bermanfaat banget bagi saya yang lagi ngerjain tugas akhir kuliah.
mas, kenapa file resolv.conf nya balik lagi ke default ya setelah restart pv maupun restart network?
coba ini
– nano /etc/NetworkManager/NetworkManager.conf
– cari baris [main]
– tambahkan di bawahnya,
dns=none
– restart network manager,
systemctl restart NetworkManager.service
Mas knp ya ketika saya nslookup muncul notice “server can’t find example.com : NXDOMAIN”
cek kembali konfigurasinya
named-checkconf /etc/named.conf
nxdomain sudah fixed mas, akan tetapi kenapa ketika saya akses domain name di browser tidak bisa ya mas?
web server sudah jalan? port web server sudah terbuka di firewall?
Bang kenapa ia pas mau buka akses nya selalu firewallD is not running
enable service firewalld
Tidak bisa bang, kn sebelum nya saya install ftp lancar dia
Tpi pas add servis dns not runing firewall nya
Mohin izin hu nitip link siapa tau ada yang mau mampir
tutorial install lemp stack