Konfigurasi IPTABLES untuk Laptop
Bismillah,
Firewall IPTABLES saat ini sudah jarang di pakai, namun disini saya menggunakan IPTABLES untuk memblokir akses dari luar ke Laptop, dan mengizinkan akses dari Laptop ke Internet. Konfigurasi ini di tulis dengan script sederhana, yang akan saya jelaskan sedikit makna nya.
Adapun untuk penjelasan yang lebih lanjut, bisa melihat toturial IPTABLES di sini
Linux yang saya gunakan adalah Linux Mint 19. Berikut ini script IPTABLES nya:
#!/bin/bash
echo "jalankan firewall"
IPTABLES=/sbin/iptables
$IPTABLES -F
$IPTABLES -X
#Set default policies
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P INPUT DROP
#Accept localhost
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -I INPUT 1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
echo
echo "iptables firewall is up `date`"Berikut ini penjelasan ringkas nya:
$IPTABLES -F
$IPTABLES -XMembersihkan Perintah IPTABLES sebelumnya, jika ada.
$IPTABLES -P FORWARD DROP
$IPTABLES -P OUTPUT ACCEPT
$IPTABLES -P INPUT DROPKoneksi Masuk dan Forward di Tolak, Koneksi Keluar di izinkan
$IPTABLES -A INPUT -i lo -j ACCEPTIzinkan koneksi dari dan ke Localhost
$IPTABLES -I INPUT 1 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPTSaat koneksi keluar, paket yang datang dari luar memiliki penanda ESTABLISHED, yang berarti paket tersebut adalah balasan dari server yang dituju, maka izin kan paket tersebut Masuk.
Sekian penjelasan makna nya. File script tersebut saya simpan di:
/home/muntaza/bin/iptables_mint.shKemudian, agar tiap booting firewall ini aktif, kita perlu mengkonfigurasi modul rc-local di systemd. Berikut langkahnya:
Edit file
$ vim /etc/systemd/system/rc-local.serviceLalu isi file tersebut adalah:
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
[Install]
WantedBy=mutli-user.targetBuat file /etc/rc.local yang isinya:
#!/bin/bash
/home/muntaza/bin/iptables_mint.shLalu jadikan file tersebut executable:
$ sudo chmod +x /etc/rc.localAktifkan modul rc-local dan cek hasilnya:
$ sudo systemctl stop rc-local
$ sudo systemctl start rc-local
$ sudo systemctl enable rc-local
$ sudo systemctl status rc-local
● rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/rc-local.service.d
└─debian.conf
Active: active (exited) since Sun 2019-12-01 12:53:09 WITA; 20s ago
Tasks: 0 (limit: 2127)
CGroup: /system.slice/rc-local.service
Dec 01 12:53:09 E202SA systemd[1]: Starting /etc/rc.local Compatibility...
Dec 01 12:53:09 E202SA rc.local[8568]: jalankan firewall
Dec 01 12:53:09 E202SA rc.local[8568]: iptables firewall is up Sun Dec 1 12:53:09 WITA 2019
Dec 01 12:53:09 E202SA systemd[1]: Started /etc/rc.local Compatibility.
$ sudo iptables -L -v
Chain INPUT (policy DROP 2 packets, 348 bytes)
pkts bytes target prot opt in out source destination
18 3162 ACCEPT all -- any any anywhere anywhere ctstate RELATED,ESTABLISHED
0 0 ACCEPT all -- lo any anywhere anywhere
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 20 packets, 17275 bytes)
pkts bytes target prot opt in out source destinationSemoga bermanfaat.