Cara Konfigurasi Server DNS BIND untuk PFSense
· 2 min read · Label UnixBSDFirewall PFSense memiliki banyak fungsi, tugasnya tidak hanya sebagai router yang menyediakan layanan internet bagi klien. Dengan berbagai fitur yang dimilikinya, fungsi PFSense dapat ditingkatkan. Sebab, banyak plugin bawaan FreeBSD yang telah dimodifikasi oleh PFSense, seperti server DNS ISC-Bind.
Keberadaan plugin ISC-Bind dapat dirasakan oleh pengguna PFSense yang memiliki jaringan internet lambat. Dengan bantuan server DNS yang mampu melakukan caching dan melayani name server, kecepatan internet Anda akan meningkat. Sebab, setiap klien yang mengakses internet dari PFSense Anda tidak lagi mencari server DNS, hanya database PFSense yang melayani permintaan DNS.
Di PFSense terdapat banyak sekali layanan aplikasi DNS yang dapat Anda gunakan, seperti Unbound dan DNS Forwarding. Namun, pada artikel ini kami khususkan untuk menjelaskan secara detail proses instalasi dan konfigurasi server DNS ISC-Bind. Tidak hanya itu, artikel ini juga membahas layanan name server yang dapat dimanfaatkan oleh server DHCP.
Pada gambar di atas, yang perlu Anda garis bawahi adalah pengaturan pada opsi "Forwarder IPs" dan "Custom Options". Untuk mengatur "Custom Options", Anda ketikkan skrip di bawah ini.
Langkah selanjutnya adalah membuat pengaturan di "Views". Lihat gambar di bawah untuk panduan pengaturan "Views".
Keberadaan plugin ISC-Bind dapat dirasakan oleh pengguna PFSense yang memiliki jaringan internet lambat. Dengan bantuan server DNS yang mampu melakukan caching dan melayani name server, kecepatan internet Anda akan meningkat. Sebab, setiap klien yang mengakses internet dari PFSense Anda tidak lagi mencari server DNS, hanya database PFSense yang melayani permintaan DNS.
Di PFSense terdapat banyak sekali layanan aplikasi DNS yang dapat Anda gunakan, seperti Unbound dan DNS Forwarding. Namun, pada artikel ini kami khususkan untuk menjelaskan secara detail proses instalasi dan konfigurasi server DNS ISC-Bind. Tidak hanya itu, artikel ini juga membahas layanan name server yang dapat dimanfaatkan oleh server DHCP.
1. Konfigurasi Dasar
Sebelum kita melangkah lebih jauh, tentang cara memasang dan mengonfigurasi ISC-Bind, langkah pertama yang harus Anda lakukan adalah mengatur nama host dan resolver PFsense.Setelah itu, Anda lanjutkan dengan mengklik menu System ->> General Setup. Silakan atur sesuai dengan spesifikasi komputer PFSense Anda. Untuk lebih jelasnya, lihat gambar di bawah ini.Yang perlu diperhatikan di sini adalah "DNS Resolution Behavior", jangan sampai salah pilih. Untuk pengaturan lainnya, biarkan saja default.
Setelah proses instalasi selesai, saatnya untuk mulai melakukan konfigurasi. Kita mulai dengan mengklik Services ->> Bind DNS Server. Untuk pengaturannya, Anda dapat melihat gambar berikut.
2. Instal DNS server ISC-Bind
Jika Anda menggunakan ISC-Bind sebagai server yang melayani permintaan DNS, PFSense menyediakan kemudahan. Mengapa?, karena PFSense telah menyediakan repositori resmi ISC-Bind. Repositori tersebut diambil dari repositori FreeBSD, tetapi telah dimodifikasi agar dapat digunakan di PFSense. Oke, sekarang kita langsung saja install ISC-Bind, klik System ->> Package Manager >>> Available Packages. Kemudian cari aplikasi bind, lanjutkan dengan menekan tombol Install berwarna hijau.Setelah proses instalasi selesai, saatnya untuk mulai melakukan konfigurasi. Kita mulai dengan mengklik Services ->> Bind DNS Server. Untuk pengaturannya, Anda dapat melihat gambar berikut.
Pada gambar di atas, yang perlu Anda garis bawahi adalah pengaturan pada opsi "Forwarder IPs" dan "Custom Options". Untuk mengatur "Custom Options", Anda ketikkan skrip di bawah ini.
Custom Options
allow-query { localnets; };
allow-query-cache { localnets; };
allow-transfer { none; };
empty-zones-enable yes;
auth-nxdomain no;
Setelah itu kita lanjut ke pengaturan "ACL". Hapus semua "ACL" bawaan Bind PFSense. Kemudian Anda buat "ACL" baru. Ikuti petunjuk yang kami jelaskan pada gambar untuk membuat "ACL" baru. Dalam contoh ini, kita akan membuat dua ACL:
- localnets,
- localhosts.
Langkah selanjutnya adalah membuat pengaturan di "Views". Lihat gambar di bawah untuk panduan pengaturan "Views".
3. Setup Zones
Langkah terakhir adalah mengatur "Zones". Kita akan membuat 4 Zones, yaitu kursor.my.id, localhost, 7.168.192.in-addr.arpa dan 127.in-addr.arpa.a. Zone kursor.my.id
Zone Name: kursor.my.idZone Type: Master
View: dnspfsense
Name Server: ns5.kursor.my.id
b. Zone localhost
Zone Name: localhostZone Type: Master
View: dnspfsense
Name Server: ns5.localhost
allow-transfer: localhosts
c. Zone 7.168.192.in-addr.arpa
Zone Name: 7.168.192.in-addr.arpaZone Type: Master
View: dnspfsense
Name Server: ns5.kursor.my.id
d. Zone 127.in-addr.arpa
Zone Name: 127.in-addr.arpaZone Type: Master
View: dnspfsense
Name Server: ns5.localhost
allow-transfer: localhosts
4. Test Zones
Bagian ini juga sangat penting, karena kita akan memeriksa setiap zona untuk melihat apakah zona tersebut dapat memuat nomor seri. Sebelum kita memeriksa zona tersebut, buatlah symlink terlebih dahulu dengan perintah di bawah ini.Create symlink
[2.7.2-RELEASE][root@ns5.kursor.my.id]/root: ln -s /var/etc/named/etc/namedb /etc
Kita akan memeriksa berkas konfigurasi utama terlebih dahulu, yaitu named.conf. Jalankan perintah berikut untuk memeriksa berkas named.conf.
Check named.conf
[2.7.2-RELEASE][root@ns5.kursor.my.id]/root: named-checkconf /etc/namedb/named.conf
Check kursor.my.id zone
[2.7.2-RELEASE][root@ns5.kursor.my.id]/root: named-checkzone kursor.my.id /etc/namedb/master/dnspfsense/kursor.my.id.DB
zone kursor.my.id/IN: loaded serial 2714365806
OK
Check 7.168.192.in-addr.arpa zone
[2.7.2-RELEASE][root@ns5.kursor.my.id]/root: named-checkzone 7.168.192.in-addr.arpa /etc/namedb/master/dnspfsense/7.168.192.in-addr.arpa.DB
zone 7.168.192.in-addr.arpa/IN: loaded serial 2714374177
OK
Check localhost zone
[2.7.2-RELEASE][root@ns5.kursor.my.id]/root: named-checkzone localhost /etc/namedb/master/dnspfsense/localhost.DB
zone localhost/IN: loaded serial 2714373907
OK
Check 127.in-addr.arpa zone
[2.7.2-RELEASE][root@ns5.kursor.my.id]/root: named-checkzone 127.in-addr.arpa /etc/namedb/master/dnspfsense/127.in-addr.arpa.DB
zone 127.in-addr.arpa/IN: loaded serial 2714374263
OK
5. Cara Test Bind DNS Server
Setelah kita memeriksa semua zona dan tidak ada masalah, saatnya untuk memeriksa server DNS BIND. Kita akan menggunakan perintah dig dan nslookup untuk memeriksa BIND. Jalankan perintah berikut untuk memeriksa Server DNS BIND.Check BIND
[2.7.2-RELEASE][root@ns5.kursor.my.id]/root: dig yahoo.com
; <<>> DiG 9.18.19 <<>> yahoo.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25968
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 6c557890f8ed5b2401000000662f72862924cfbb3f954331 (good)
;; QUESTION SECTION:
;yahoo.com. IN A
;; ANSWER SECTION:
yahoo.com. 1800 IN A 74.6.143.26
yahoo.com. 1800 IN A 98.137.11.164
yahoo.com. 1800 IN A 74.6.231.21
yahoo.com. 1800 IN A 98.137.11.163
yahoo.com. 1800 IN A 74.6.143.25
yahoo.com. 1800 IN A 74.6.231.20
;; Query time: 34 msec
;; SERVER: 192.168.7.1#53(192.168.7.1) (UDP)
;; WHEN: Mon Apr 29 10:12:22 UTC 2024
;; MSG SIZE rcvd: 162
Check BIND
[2.7.2-RELEASE][root@ns5.kursor.my.id]/root: nslookup google.com
Server: 192.168.7.1
Address: 192.168.7.1#53
Non-authoritative answer:
google.com canonical name = forcesafesearch.google.com.
Name: forcesafesearch.google.com
Address: 216.239.38.120
Name: forcesafesearch.google.com
Address: 2001:4860:4802:32::78
6. Buat DNS Dinamis Untuk Server DHCP
Setelah memastikan bahwa server DNS BIND Anda berjalan normal di mesin PFSense, kita lanjutkan dengan membuat "Dynamic DNS". Untuk melakukannya, klik Services ->> DHCP Server. Untuk lebih mudah menjelaskannya, silakan lihat gambar di bawah ini.7. Skrip yang Dihasilkan oleh Server DNS BIND PFSense
Agar artikel ini lengkap dan dapat menjadi bahan pembelajaran bagi Anda, berikut ini kami lampirkan contoh skrip server DNS BIND./var/etc/named/etc/namedb/named.conf
#Bind pfsense configuration
#Do not edit this file!!!
key "rndc-key" {
algorithm hmac-sha256;
secret "4vgWNftJMHE59MIczVG+I0OkMTAE0GHGi1TNQmgbv/4=";
};
controls {
inet 127.0.0.1 port 8953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
statistics-file "/var/log/named.stats";
max-cache-size 256M;
dnssec-validation yes;
listen-on-v6 port 53 { none; };
listen-on port 53 { 192.168.7.1; };
forwarders { 1.1.1.1; 8.8.8.8; };
allow-query { localnets; };
allow-query-cache { localnets; };
allow-transfer { none; };
empty-zones-enable yes;
auth-nxdomain no;
};
logging { category default { null; }; };
acl "localhosts" {
127.0.0.1;
};
view "dnspfsense" {
recursion yes;
match-clients { localnets; localhosts; };
allow-recursion { localnets; localhosts; };
zone "kursor.my.id" {
type master;
file "/etc/namedb/master/dnspfsense/kursor.my.id.DB";
allow-query { none; };
allow-transfer { none; };
allow-update { none; };
};
zone "localhost" {
type master;
file "/etc/namedb/master/dnspfsense/localhost.DB";
allow-query { none; };
allow-transfer { localhosts; };
allow-update { none; };
};
zone "7.168.192.in-addr.arpa" {
type master;
file "/etc/namedb/master/dnspfsense/7.168.192.in-addr.arpa.DB";
allow-query { none; };
allow-transfer { none; };
allow-update { none; };
};
zone "127.in-addr.arpa" {
type master;
file "/etc/namedb/master/dnspfsense/127.in-addr.arpa.DB";
allow-query { none; };
allow-transfer { localhosts; };
allow-update { none; };
};
};
/var/etc/named/etc/namedb/master/dnspfsense/kursor.my.id.DB
$TTL 43200
;
$ORIGIN kursor.my.id.
; Database file kursor.my.id.DB for kursor.my.id zone.
; Do not edit this file!!!
; Zone version 2714365806
;
kursor.my.id. IN SOA ns5.kursor.my.id. zonemaster.kursor.my.id. (
2714365806 ; serial
1d ; refresh
2h ; retry
4w ; expire
1h ; default_ttl
)
;
; Zone Records
;
@ IN NS ns5.kursor.my.id.
ns5 IN A 192.168.7.1
/var/etc/named/etc/namedb/master/dnspfsense/7.168.192.in-addr.arpa.DB
$TTL 43200
;
$ORIGIN 7.168.192.in-addr.arpa.
; Database file 7.168.192.in-addr.arpa.DB for 7.168.192.in-addr.arpa zone.
; Do not edit this file!!!
; Zone version 2714374177
;
7.168.192.in-addr.arpa. IN SOA ns5.kursor.my.id. zonemaster.7.168.192.in-addr.arpa. (
2714374177 ; serial
1d ; refresh
2h ; retry
4w ; expire
1h ; default_ttl
)
;
; Zone Records
;
@ IN NS ns5.kursor.my.id.
100 IN PTR ns5.kursor.my.id.
/var/etc/named/etc/namedb/master/dnspfsense/localhost.DB
$TTL 43200
;
$ORIGIN localhost.
; Database file localhost.DB for localhost zone.
; Do not edit this file!!!
; Zone version 2714373907
;
localhost. IN SOA ns5.localhost. zonemaster.localhost. (
2714373907 ; serial
1d ; refresh
2h ; retry
4w ; expire
1h ; default_ttl
)
;
; Zone Records
;
@ IN NS ns5.localhost.
ns5 IN A 127.0.0.1
/var/etc/named/etc/namedb/master/dnspfsense/127.in-addr.arpa.DB
$TTL 43200
;
$ORIGIN 127.in-addr.arpa.
; Database file 127.in-addr.arpa.DB for 127.in-addr.arpa zone.
; Do not edit this file!!!
; Zone version 2714374263
;
127.in-addr.arpa. IN SOA ns5.localhost. zonemaster.127.in-addr.arpa. (
2714374263 ; serial
1d ; refresh
2h ; retry
4w ; expire
1h ; default_ttl
)
;
; Zone Records
;
@ IN NS ns5.localhost.
1.0.0 IN PTR localhost.
Silahkan Berkomentar, Kakak...! Bunda...!
Posting Komentar