Karena kebiasaan menggunakan FreeBSD, maka program yang saya jalankan pada saat mesin tersebut booting biasanya saya letakkan di /etc/rc.local, saya tidak membutuhkan lokasi seperti /usr/local/etc/rc.d/ karena memang tidak diperlukan script yang panjang untuk cuma memanggil (misal) squid -DNYM. Tapi sempet bingung juga ketika ingin melakukan hal yang sama di Debian. Tapi akhirnya ketemu juga.

Ketika saya sudah menuliskan script firewall saya, saya mengeksekusinya dan jalan dengan baik. Cuma masalahnya saya ingin rule-rule iptables tersebut dijalankan tiap kali booting.

Pertama saya menjalankan sebuah text editor untuk kemudian saya tuliskan semua perintah iptables yang dijalankan, misal:

/sbin/iptables -t mangle -A PREROUTING -p tcp -m tcp \
–tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP

/sbin/iptables -t mangle -A PREROUTING -p tcp -m tcp \
–tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP

/sbin/iptables -t mangle -A PREROUTING -p tcp -m tcp –tcp-flags SYN,RST SYN,RST -j DROP
/sbin/iptables -t mangle -A PREROUTING -p tcp -m tcp –tcp-flags FIN,SYN FIN,SYN -j DROP
/sbin/iptables -t mangle -A PREROUTING -p tcp -m tcp \
–tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j DROP

/sbin/iptables -t mangle -A PREROUTING -p tcp -m tcp \
–tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP

/sbin/iptables -t mangle -A PREROUTING -p tcp -m tcp –tcp-flags SYN,RST SYN,RST -j DROP
/sbin/iptables -t mangle -A PREROUTING -p tcp -m tcp –tcp-flags FIN,SYN FIN,SYN -j DROP

…dst…

Setelah yakin dengan rule-rule tersebut, paste semuanya di shell console, dan pastikan tidak ada error. Jika ada error, dan ingin mengulangi lagi proses paste nya, jangan lupa flush dulu iptables yang (siapa tau) sudah terlanjur jalan dengan:

shell> iptables -F
shell> iptables -X

Setelah yakin dengan semua rule dan setelah dipaste ke shell console tidak ada error, buatlah sebuah file seperti berikut:

shell> nano /etc/network/if-up.d/iptables

pada file tersebut tambahkan baris:

#!/bin/sh

lalu save. Pada console jalankan command berikut:

shell> iptables-save > /etc/iptables.conf
shell> echo “iptables-restore < /etc/iptables.conf” >> /etc/network/if-up.d/iptables
shell> chmod +x /etc/network/if-up.d/iptables

Nah, tiap kali reboot, script tersebut akan dijalankan dengan otomatis.
Selamat mencoba!