Multitabel Rute Default di FreeBSD

Submitted by w41lf0x on Wed, 07/27/2016 - 18:13

freebsd-logoMestinya banyak yang sudah tahu apa itu tabel rute. Menurut Wikipedia, tabel rute memiliki pengertian sebagai berikut: Dalam jaringan komputer tabel rute atau basis informasi rute (routing information base/RIB), adalah sebuah data tabel yang disimpan di dalam router atau perangkat jaringan yang berisi rute ke tujuan tertentu di jaringan, dan dalam beberapa kasus, jarak (metrik) ke tujuan tersebut. Tabel rute berisi informasi mengenai topologi dari jaringan di sekitarnya. Penyusunan tabel rute adalah pekerjaan utama dari protokol rute.

Normalnya satu mesin di ujung jaringan hanya memiliki satu tabel rute karena umumnya sebuah mesin hanya terhubung ke satu jaringan saja. Pengecualian terdapat pada mesin-mesin router yang memang terhubung ke minimal dua jaringan sekaligus. Artinya mesin-mesin router dapat memiliki lebih dari satu tabel rute untuk keperluan routingnya.

Permasalahan kemudian muncul apabila kita ingin menggunakan dua atau lebih tabel rute sebagai default di instalasi standar FreeBSD dengan kernel GENERIC. Saya juga baru tahu jika kernel GENERIC FreeBSD hanya mengijinkan satu default rute saja. Biasanya sistem ini disebut sebagai Forward Information Base (FIB). Dengan FIB kita dapat membuka layanan di dua tabel rute terpisah. Sistem ini sangat memudahkan administrator jaringan untuk dalam mengisolasi akses layanan di dua atau lebih tabel rute. Kabar baiknya, untuk mengaktifkan dua atau lebih dukungan rute default ternyata cukup mudah. Kita cukup membangun ulang kernel GENERIC dengan menambahkan opsi berikut seperti yang tertulis dalam man 2 setfib:

options ROUTETABLES=N

atau dengan menambahkan opsi berikut di /boot/loader.conf:

net.fibs="N"

Secara default, FIB 0 akan memiliki konfigurasi rute default yang berasal dari konfigurasi jaringan di rc.conf. Jadi kita cukup menambahkan rute default di FIB 1, 2, 3 dan seterusnya.

setfib 1 route add -net 10.5.2.0/24 -iface V_DMZ
setfib 1 route add default 10.5.2.1

Kemudian kita dapat menjalankan servis tertentu di satu atau beberapa FIB sekaligus seperti ini:

setfib 1 /usr/sbin/sshd -f /etc/ssh/sshd_config.fib1

Program seperti nginx sudah mendukung FIB sehingga kita dapat menambahkan baris konfigurasi seperti ini:

listen IP_FIB_0:443 ssl setfib=0;
listen IP_FIB_1:443 ssl setfib=1;

Selamat mencoba.