Menggantikan firewalld dengan iptables pada CentOS 7
Seperti yang kita tahu bahwa mulai CentOS 7 untuk filter internetnya menggunakan firewalld yang menggantikan iptables. Harus belajar format konfigurasi baru jadinya dan walaupun lebih baik dari iptables tapi kalau sudah terbiasa juga masih ampuh dalam menangani masalah bisa dipertimbangkan untuk diubah aplikasi firewallnya. Ini sekaligus melunasi request dari mbak Shafira. 😀
Sebenarnya juga bukan hal yang sulit, langkah paling pertama adalah mematikan firewalld
:
systemctl stop firewalld
Cegah supaya firewalld dijalankan saat booting/startup CentOS 7:
systemctl mask firewalld
Kemudian mari kita install iptables
:
yum install iptables-services
Aktifkan iptables saat booting/startup sistem operasi:
systemctl enable iptables
Kalau anda mencari tahu tentang topik ini semestinya sudah paham bagaimana setting iptables. Nah… silahkan edit konfigurasinya atau adaptasikan dari server lama anda:
nano /etc/sysconfig/iptables
Misal anda tidak tahu atau tidak yakin ini saya berikan template iptables paling dasar agar akses SSH dan HTTP/HTTPS tidak diblokir:
iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -m state --state NEW -p tcp --dport 443 -j ACCEPT
Saya ingatkan dulu, ini saya asumsikan semuanya masih default. Harap dicek dulu apakah masih cocok dengan kondisi server anda.
Muat ulang konfigurasinya:
systemctl restart iptables
Setelah itu simpan konfigurasi iptables yang baru dibuat secara permanen:
/usr/libexec/iptables/iptables.init save
Selesai. 🙂
Halo mas chandra,
saya lagi belajar dari awal untuk centos 7 😀
saya coba gantikan firewalld dengan iptables sesuai langkah di atas dan berhasil, setelah itu saya edit pengaturan ssh sbb :
lalu saya tambahkan port yang baru saya buat di iptables sbb:
saya coba keluar dari kitty dan login ulang dengan pengaturan yang baru di kitty tapi nggak bisa masuk sama sekali 🙁 kurangnya dimana ya? sudah 3 kali rebuild droplet dan ulangi dari awal tapi masih saja hasilnya sama.
trims sebelumnya mas.
coba balik ke port defaulnya (22) langsung bisa login seperti biasa, sepertinya ada pengaturan lain yang harus diubah.
Siap mbak. 🙂 Pas luang akan saya tes.
Nanti saya coba mbak.
Tapi kalau mau ngetes jangan dimatikan sesi SSH pertamanya. Langsung saja buka sesi SSH baru dengan data baru juga. Errornya nanti dicek dari sesi SSH lama dari lognya.
hari ini saya coba lagi dari awal, setelah menonaktifkan firewalld dan instal iptables lalu masukkan pengaturan baru langsung mengetikkan dari terminal bukan dari editor setelah itu simpan dan reload dan saya coba cek lagi pengaturan yang baru saya input dengan perintah :
iptables -L
daniptables -S
pengaturan baru yang saya masukkan sebelumnya tidak tersimpan, saya coba input lagi pengaturan baru seperti sebelumnya, simpan dan reload, cek lagi oke sudah tersimpan, lanjut ke perubahan port di
/etc/ssh/sshd_config
, simpan dan reload.buka sesi ssh baru seperti anjuran mas chandra tapi masih belum bisa masuk.
percobaan kedua, setelah firewalld nonaktif, instal iptables, masukkan pengaturan baru via editor :
simpan dan reload, coba tes dengan iptables -L dan iptables -S, oke pengaturan tersimpan, lanjut ke perubahan port di
/etc/ssh/sshd_config
, simpan dan reload.buka sesi baru dan berhasil bisa masuk!
iseng balik ke sesi ssh sebelumnya dan coba hapus salah satu pengaturan yg sebelumnya saya input di iptables, coba simpan dan reload lalu cek dengan
iptables -L
daniptables -S
, eh pengaturan yang saya hapus masih ada? padahal sudah dihapus dan simpan.saya nggak tahu dimana letak salahnya, apa mungkin iptables belum sempurna terintegrasi dan menggantikan firewalld yang dinonaktifkan, tapi yang penting masalahnya solved hehehe 😀
maaf mas chandra sudah merepotkan 🙂
Loh belum merepotkan mbak. Droplet saya masih standby sejak ganti tutorial ganti SSH lewat firewalld. 😀
Trims informasinya yang lengkap mbak. Walaupun masih misteri ini beneran bisa atau ga. 🙂
mas saya tadi hapus iptables dengan perintah
yum remove iptables
kok mariadbnya kehapus juga ya mas? apa begitu terus blognya tewas deh…
Seharusnya tidak mas. Coba dicek riwayat atau log dari perintah yumnya mas.
Terimakasih sebelumnya buat Mas Candra.
Website saya sempet offline setelah saya restart VPS dg CentOS7.
Googling, mendarat di sini.
Coba matiin firewalld, wuishhhh… website saya online lagi !!!
karena saya newbie, saya bkn mau pake iptables, tapi mau tetep pake firewalld bawaan CentOS7.
Mau tanya Mas, apa konsekuensinya kalo firewalld nya tetep saya matiin ?
Terimakasih Mas