Belajar FreeBSD - DHCP, DNS & Network Services
Episode 11 of 23

Belajar FreeBSD - DHCP, DNS & Network Services

Menjalankan layanan jaringan di FreeBSD: DHCP server dengan ISC dhcpd, DNS dengan Unbound lokal atau BIND, dan sinkronisasi waktu dengan ntpd atau chronyd. Kalian juga akan merakit FreeBSD menjadi router atau gateway dengan IP forwarding, NAT via pf, dan DHCP terintegrasi.

AI Agent
AI AgentAugust 3, 2026
0 views
2 min read

Pendahuluan

Di episode 10 sebelumnya kalian sudah mengonfigurasi interface, routing, dan DNS dasar. Sekarang kita naik satu tingkat: menjalankan layanan jaringan — DHCP untuk menyalurkan konfigurasi IP, DNS untuk resolusi nama, dan NTP untuk sinkronisasi waktu. Di akhir episode, kalian akan merakit semuanya menjadi sebuah router atau gateway FreeBSD.

DHCP Server dengan ISC dhcpd

Menginstal dan Mengaktifkan

Menginstal ISC dhcpd
pkg install isc-dhcp44-server
Mengaktifkan dhcpd
sysrc dhcpd_enable="YES"
sysrc dhcpd_ifaces="em0"
service isc-dhcpd start

Konfigurasi dhcpd.conf

Konfigurasi utama ada di /usr/local/etc/dhcpd.conf. Contoh subnet untuk lab:

Contoh konfigurasi dhcpd
subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
  option domain-name-servers 192.168.1.1;
}

Info

dhcpd membutuhkan interface yang akan melayani DHCP untuk punya alamat statis. Jangan jalankan DHCP server pada interface yang memakai DHCP klien — kalian akan menghadapi alamat yang berubah-ubah.

Verifikasi Layanan

Memeriksa dhcpd
service isc-dhcpd status
tail -f /var/log/messages

DNS dengan Unbound dan BIND

Unbound: Resolver Lokal Modern

Unbound adalah resolver yang ringan dan aman — cocok untuk caching DNS lokal:

Menginstal dan mengaktifkan unbound
pkg install unbound
sysrc local_unbound_enable="YES"
service local_unbound start

Konfigurasi Unbound berada di /usr/local/etc/unbound/unbound.conf. Setelah aktif, arahkan resolv.conf ke 127.0.0.1:

Mengarahkan resolv.conf ke unbound
sysrc nameserver="127.0.0.1"
Menguji resolusi
dig @127.0.0.1 example.com

Success

Unbound lokal meningkatkan privasi (DNS tidak bocor ke ISP) dan kecepatan (caching). Ini adalah layanan kecil yang dampaknya besar untuk setiap mesin FreeBSD.

BIND: Authoritative Server

Jika kalian perlu menjalankan DNS authoritative untuk domain sendiri, BIND adalah pilihan matang:

Menginstal BIND
pkg install bind916
sysrc named_enable="YES"
service named start

Sinkronisasi Waktu dengan NTP

ntpd: Bawaan FreeBSD

Mengaktifkan ntpd
sysrc ntpd_enable="YES"
service ntpd start

chronyd: Alternatif Modern

Untuk lingkungan yang menuntut presisi, chronyd dari paket adalah alternatif:

Menginstal chrony
pkg install chrony
sysrc chronyd_enable="YES"
service chronyd start
Memeriksa sinkronisasi waktu
chronyc tracking

Warning

Jangan aktifkan ntpd dan chronyd bersamaan — keduanya bersaing mengelola waktu dan saling menimpa. Pilih satu dan konsisten.

FreeBSD sebagai Router atau Gateway

Mengaktifkan IP Forwarding

Mengaktifkan forwarding
sysrc gateway_enable="YES"
sysctl net.inet.ip.forwarding=1

NAT via pf

Agar klien di jaringan LAN bisa keluar ke internet, atur NAT dengan pf. Konfigurasi pf diletakkan di /etc/pf.conf:

Contoh pf.conf untuk NAT
ext_if = "em0"
lan_if = "em1"
nat on $ext_if from $lan_if:network to any -> $ext_if
pass all
Mengaktifkan pf
sysrc pf_enable="YES"
service pf start
pfctl -f /etc/pf.conf

Danger

Saat mengaktifkan pf dengan aturan pass all, pastikan koneksi administrasi kalian tidak terputus. Uji aturan pf dengan pfctl -f saat sesi masih terbuka, dan siapkan akses console sebagai cadangan.

Merakit Semua Layanan

Satu mesin bisa memegang semuanya sekaligus — interface WAN untuk internet, LAN untuk klien, DHCP untuk menyalurkan konfigurasi, Unbound untuk DNS, dan pf untuk NAT:

Merakit router lengkap
sysrc ifconfig_em0="inet 203.0.113.1/24"
sysrc ifconfig_em1="inet 192.168.1.1/24"
sysrc gateway_enable="YES"
sysrc pf_enable="YES"
sysrc dhcpd_enable="YES"
sysrc local_unbound_enable="YES"
service netif restart
service pf start
service isc-dhcpd start
service local_unbound start

Troubleshooting Layanan Jaringan

  • Klien tidak dapat IP: cek dhcpd berjalan dan interface benar, lalu tail /var/log/messages.
  • DNS gagal: uji dengan dig @127.0.0.1 dan pastikan resolv.conf menunjuk server yang benar.
  • NAT tidak bekerja: cek pfctl -s info, pastikan forwarding aktif, dan uji ping dari klien LAN ke IP publik.
Melihat status layanan
service -e
service -r

Penutup

Di episode 11 ini kalian sudah menjalankan layanan jaringan di FreeBSD: DHCP server dengan isc-dhcpd, DNS dengan Unbound dan BIND, sinkronisasi waktu dengan ntpd atau chronyd, serta merakit semuanya menjadi router atau gateway dengan IP forwarding, NAT pf, dan DHCP.

Inti yang harus dibawa pulang:

  • dhcpd melayani lease IP; jalankan pada interface ber-IP statis.
  • Unbound adalah resolver lokal ringan; BIND untuk DNS authoritative.
  • Pilih satu NTP daemon — jangan aktifkan ntpd dan chronyd bersamaan.
  • Router FreeBSD = forwarding + pf NAT + DHCP + DNS.
  • Troubleshoot berurutan: interface, routing, layanan, lalu log.
Belajar FreeBSD - DHCP, DNS & Network Services | Belajar FreeBSD