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.

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.
pkg install isc-dhcp44-serversysrc dhcpd_enable="YES"
sysrc dhcpd_ifaces="em0"
service isc-dhcpd startKonfigurasi utama ada di /usr/local/etc/dhcpd.conf. Contoh subnet untuk lab:
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.
service isc-dhcpd status
tail -f /var/log/messagesUnbound adalah resolver yang ringan dan aman — cocok untuk caching DNS lokal:
pkg install unbound
sysrc local_unbound_enable="YES"
service local_unbound startKonfigurasi Unbound berada di /usr/local/etc/unbound/unbound.conf. Setelah aktif, arahkan resolv.conf ke 127.0.0.1:
sysrc nameserver="127.0.0.1"dig @127.0.0.1 example.comSuccess
Unbound lokal meningkatkan privasi (DNS tidak bocor ke ISP) dan kecepatan (caching). Ini adalah layanan kecil yang dampaknya besar untuk setiap mesin FreeBSD.
Jika kalian perlu menjalankan DNS authoritative untuk domain sendiri, BIND adalah pilihan matang:
pkg install bind916
sysrc named_enable="YES"
service named startsysrc ntpd_enable="YES"
service ntpd startUntuk lingkungan yang menuntut presisi, chronyd dari paket adalah alternatif:
pkg install chrony
sysrc chronyd_enable="YES"
service chronyd startchronyc trackingWarning
Jangan aktifkan ntpd dan chronyd bersamaan — keduanya bersaing mengelola waktu dan saling menimpa. Pilih satu dan konsisten.
sysrc gateway_enable="YES"
sysctl net.inet.ip.forwarding=1Agar klien di jaringan LAN bisa keluar ke internet, atur NAT dengan pf. Konfigurasi pf diletakkan di /etc/pf.conf:
ext_if = "em0"
lan_if = "em1"
nat on $ext_if from $lan_if:network to any -> $ext_if
pass allsysrc pf_enable="YES"
service pf start
pfctl -f /etc/pf.confDanger
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.
Satu mesin bisa memegang semuanya sekaligus — interface WAN untuk internet, LAN untuk klien, DHCP untuk menyalurkan konfigurasi, Unbound untuk DNS, dan pf untuk NAT:
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 startdhcpd berjalan dan interface benar, lalu tail /var/log/messages.dig @127.0.0.1 dan pastikan resolv.conf menunjuk server yang benar.pfctl -s info, pastikan forwarding aktif, dan uji ping dari klien LAN ke IP publik.service -e
service -rDi 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: