MaraDNS adalah Server Nama Domain yang kecil, gratis, dan ringan. Ini adalah server DNS sumber terbuka alternatif, yang bertindak sebagai server nama caching, rekursif, atau otoritatif. Sangat mudah untuk dikonfigurasi dan tersedia untuk platform Linux dan Windows. Itu dapat diunduh dari sini. Anda dapat membaca lebih lanjut tentang DNS, DNS rekursif, DNS Resmi di sini.
Berikut adalah beberapa karakteristik menarik dari MarDNS:
- Mudah dipasang
- Penggunaan memori rendah (Menggunakan sekitar 5 MB RAM)
- Dapat bertindak sebagai server nama otoritatif dan server nama rekursif.
- Tidak ketinggalan, dokumentasi di website MaraDNS sangat mudah dipahami.
Mari kita mulai dengan MaraDNS di CentOS 7. Langkah-langkah di bawah ini akan memandu Anda tentang instalasi dan konfigurasi MaraDNS:
Menginstal MaraDNS
Sampai sekarang, tidak ada RPM yang tersedia untuk MaraDNS untuk CentOS 7, jadi kami akan menginstal dan mengompilasinya dari sumber.
Instal gcc:
sudo yum install gcc
Unduh arsip sumber terbaru dari sini. Anda dapat melakukannya sebagai:
wget http://maradns.samiam.org/download/2.0/2.0.11/maradns-2.0.11.tar.bz2
Ekstrak isi arsip:
tar -xjf maradns-2.0.11.tar.bz2
Ubah ke direktori MaraDNS yang diekstrak, kompilasi dan instal program:
cd maradns-2.0.11
sudo make
sudo make install
MaraDNS sekarang diinstal. Layanan MaraDNS diinstal di /etc/init.d/maradns. Anda cukup memulai layanan dengan:
sudo /etc/init.d/maradns start
Untuk memulai demon rekursif, jalankan:
sudo /etc/init.d/maradns.deadwood start
Secara default, server nama otoritatif mendengarkan pada port 127.0.0.1 dan server rekursif pada port 127.0.0.2.
Mari kita pastikan untuk memulai MaraDNS saat boot:
chkconfig maradns on
Skrip init server DNS rekursif harus dibuat kompatibel dengan chkconfig sebelum Anda dapat menjalankannya saat startup. Tambahkan konten di bawah ini ke bagian atas file /etc/init.d/maradns.deadwood file:
# chkconfig: - 55 45
# description: MaraDNS is secure Domain Name Server (DNS)
# probe: true
Atur agar berjalan saat boot:
chkconfig maradns.deadwood on
Mengonfigurasi MaraDNS sebagai Server Nama Resmi
Server DNS otoritatif “mengetahui” pemetaan URL ke IP untuk domain apa pun. Mereka adalah sumber informasi yang dikirim oleh server DNS rekursif ke klien web seperti browser (Chrome, Firefox). Anda dapat mengonfigurasi MaraDNS sebagai server nama Resmi sebagai:
Edit file konfigurasi MaraDNS yaitu /etc/mararc:
ipv4_bind_addresses = "127.0.0.1" chroot_dir = "/etc/maradns"
csv2 = {} csv2["example.net."] = "db.example.net"
Baris pertama memberitahu MaraDNS untuk mendengarkan di IP-127.0.0.1. Anda dapat menambahkan lebih banyak IP ke dalamnya, dipisahkan dengan koma. Misalnya.- 127.0.0.1, x.x.x.x
Baris kedua chroot_dir adalah untuk menyebutkan direktori tempat semua file zona akan disimpan.
Baris ketiga menginisialisasi hash csv2 dengan perintah csv2 ={}.
Baris keempat menyebutkan file zona bernama db.example.net untuk nama domain example.net.
Berikut adalah file zona bernama db.example.net untuk nama domain example.net yang cukup jelas:
example.net. +14400 soa ns1.example.net. [email protected] 2012010117 14400 3600 604800 14400 ~ example.net. +14400 ns ns1.example.net. ~ example.net. +14400 ns ns2.example.net. ~ ns1.example.net. +14400 a 127.0.0.1 ~ ns2.example.net. +14400 a 127.0.0.1 ~ example.net. +14400 a 127.0.0.1 ~ www.example.net. +14400 a 127.0.0.1 ~ example.net. +14400 mx 10 mail.example.net. ~ mail.example.net. +14400 a 127.0.0.1 ~
Anda mulai dengan baris Start Of Authority (SOA). Anda kemudian menentukan server nama otoritatif dan catatan lainnya. Sebuah record terdiri dari nama domain, TTL (Time to live), jenis record dan nilai record.
Dua hal yang perlu diperhatikan adalah bahwa semua nama domain diakhiri dengan titik yaitu harus merupakan nama domain yang memenuhi syarat dan semua catatan diakhiri dengan karakter tilde (~). Untuk mengetahui lebih lanjut, lihat dokumentasi tentang format file zona.
Untuk lebih sederhana, mari kita arahkan example.net ke 127.0.0.1. Begini caranya:
example.net. 127.0.0.1 ~
Mulai ulang layanan sebagai:
sudo /etc/init.d/maradns restart
Mengonfigurasi MaraDNS sebagai Server Nama Rekursif
Saat browser web Anda mengirimkan kueri DNS — dengan asumsi browser belum menyimpan pemetaan dalam cache — itu dikirim ke server DNS rekursif. Ini juga disebut sebagai penerusan DNS. Ini secara default mendengarkan pada port- 127.0.0.2 dan Anda dapat menambahkan lebih banyak IP ke dalamnya, dipisahkan dengan koma. Untuk mis.- 127.0.2, x.x.x.x. Anda dapat mengonfigurasi MaraDNS sebagai server nama Rekursif dengan menambahkan baris di bawah ini ke file /etc/dwood3rc :
upstream_servers = {}
upstream_servers["."] = "8.8.8.8, 8.8.4.4" # Forwarding requests to Google DNS Servers
Mulai ulang layanan sebagai:
sudo /etc/init.d/maradns.deadwood restart
Anda selesai menyiapkan server MaraDNS! :)
Tip- Jika Anda ingin server MaraDNS Anda merespons kueri DNS eksternal, Anda perlu:
Tambahkan IP publik mesin Anda ke kedua file konfigurasi (/etc/mararc &/etc/dwood3rc) dan ubah sebagai:
/etc/mararc:
ipv4_bind_addresses = "127.0.0.1, x.x.x.x" #Replace x.x.x.x with your machine's public address.
/etc/dwood3rc:
bind_address="127.0.0.2, x.x.x.x" #Replace x.x.x.x with your machine's public address.
recursive_acl ="0.0.0.0/0" #Untuk mengizinkan koneksi dari mana saja.
Anda dapat mengambil contoh file ini dari sini. Jangan lupa untuk memulai ulang layanan sekali lagi.
Itu saja!