Menerapkan FreeBSD sebagai perangkat jaringan: router, firewall, dan NAT appliance, serta mengenal OPNsense sebagai firewall distro berbasis FreeBSD dan NAS dengan ZFS. Kalian juga akan menjalankan stack web Nginx, MySQL, PostgreSQL, dan Redis untuk produksi yang andal.

Di episode 18 sebelumnya kalian sudah melakukan performance tuning. Sekarang kita gabungkan semuanya ke dalam skenario nyata: menjalankan FreeBSD sebagai router, firewall, dan perangkat jaringan — salah satu use case paling mapan dari FreeBSD.
Dari home router hingga appliance kelas enterprise, FreeBSD adalah fondasi banyak produk jaringan terkenal. Episode ini membahas peran-peran tersebut, termasuk OPNsense dan NAS, lalu beralih ke layanan aplikasi: menjalankan stack web Nginx, MySQL, PostgreSQL, dan Redis untuk produksi.
Kalian sudah merakit dasar router di episode 11. Sekarang kita sempurnakan dengan praktik terbaik: interface terpisah untuk WAN dan LAN, forwarding aktif, NAT, dan DHCP:
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"Ruleset pf untuk perangkat jaringan harus minimal dan ketat — hanya buka port yang dibutuhkan:
ext_if = "em0"
lan_if = "em1"
table <admin> { 192.168.1.0/24 }
set skip on lo0
scrub in all
nat on $ext_if from $lan_if:network to any -> ($ext_if)
block all
pass in on $lan_if from <admin> to any keep state
pass in on $ext_if proto tcp to port 22 from <admin> keep state
pass out all keep stateDanger
Untuk perangkat jaringan produksi, jangan pernah membuka SSH ke WAN tanpa pembatasan alamat. Aturan di atas hanya mengizinkan SSH dari jaringan admin — pola yang harus kalian tiru.
OPNsense adalah distribusi firewall yang dibangun di atas FreeBSD — bukti nyata kemampuan FreeBSD sebagai appliance. Dengan UI web untuk firewall, VPN, IDS/IPS, dan monitoring, OPNsense menyembunyikan kompleksitas di balik antarmuka yang ramah.
Bagi kalian yang menyukai CLI, menjalankan FreeBSD langsung sebagai router adalah pilihan yang murni. Bagi yang menginginkan manajemen tim dan UI, OPNsense adalah produk jadi yang matang.
ZFS menjadikan FreeBSD pilihan utama untuk network attached storage (NAS):
zpool create nas mirror /dev/ada1 /dev/ada2
zfs create nas/share
zfs set compression=lz4 nas/share
zfs set sharenfs="on" nas/shareLayanan file sharing di FreeBSD bisa menggunakan NFS (seperti di atas), Samba untuk interoperabilitas Windows, atau produk jadi seperti TrueNAS yang berbasis FreeBSD.
Success
Kombinasi ZFS pool + snapshot terjadwal + replikasi syncoid (episode 9) menjadikan FreeBSD NAS yang tangguh: data aman dengan checksum, berversi dengan snapshot, dan terlindungi dengan replikasi offsite.
Nginx adalah web server populer di FreeBSD:
pkg install nginx
sysrc nginx_enable="YES"
service nginx start
service nginx statusKonfigurasi server block di /usr/local/etc/nginx/nginx.conf atau file terpisah di conf.d. Untuk TLS, arahkan ke sertifikat yang kalian buat di episode 14.
FreeBSD menjalankan database kelas produksi dengan baik:
pkg install mysql84-server
pkg install postgresql16-server
pkg install redisAktifkan masing-masing:
sysrc mysql_enable="YES"
service mysql-server start
sysrc postgresql_enable="YES"
service postgresql start
sysrc redis_enable="YES"
service redis startInfo
Untuk PostgreSQL, jalankan inisialisasi database pertama kali: service postgresql initdb (versi paket tertentu), lalu buat user dan database dengan createuser dan createdb sebagai user postgres.
Pola produksi yang umum: Nginx di depan sebagai reverse proxy dan static file, aplikasi di belakang, database di lapisan terakhir. Letakkan seluruh service di atas ZFS dataset untuk snapshot:
zfs create tank/data/www
zfs create tank/data/dbBeberapa praktik yang menjaga web server tetap sehat:
bectl create sebelum-deploy
pkg upgrade
service nginx reload
service mysql-server restartPerangkat jaringan dan web server perlu dipantau terus-menerus — bukan hanya saat ada masalah:
service -e
pfctl -s info
systat -ifstat 1
tail -f /var/log/messagesDi episode 19 ini kalian sudah menerapkan FreeBSD sebagai perangkat jaringan: router dan firewall dengan ruleset ketat, pengenalan OPNsense dan TrueNAS sebagai produk berbasis FreeBSD, serta menjalankan stack web Nginx, MySQL, PostgreSQL, dan Redis untuk produksi yang andal.
Inti yang harus dibawa pulang:
Di episode 20 selanjutnya kita akan membahas high availability & monitoring — failover dengan CARP, load balancing, dan pemantauan dengan netdata, Prometheus, node_exporter, serta rotasi log dengan newsyslog.