Alat baris perintah firewall-cmd adalah bagian dari firewall aplikasi, yang diinstal secara default. Ini dapat digunakan untuk membuat perubahan runtime permanen dan non-permanen.
Memasang firewalld
Secara default, firewalld termasuk dalam grup rpm "inti", tetapi jika tidak diinstal, Anda selalu dapat menginstalnya menggunakan yum.
# yum install -y firewalld
Aktifkan firewalld untuk memulai saat boot:
# systemctl enable firewalld
Mulai ulang layanan firewalld sekarang.
# systemctl restart firewalld
Opsi yang tersedia dengan perintah firewall-cmd
# firewall-cmd --help Usage: firewall-cmd [OPTIONS...] General Options -h, --help Prints a short help text and exists -V, --version Print the version string of firewalld -q, --quiet Do not print status messages Status Options --state Return and print firewalld state --reload Reload firewall and keep state information --complete-reload Reload firewall and lose state information --runtime-to-permanent Create permanent from runtime configuration
Perintah firewall-cmd menawarkan kategori opsi seperti General, Status, Permanent, Zone, IcmpType, Service, Adapt and Query Zones, Direct, Lockdown, Lockdown Whitelist, dan Panic. Lihat halaman manual firewall-cmd untuk informasi lebih lanjut.
Contoh firewall-cmd yang berguna
1. Daftar semua zona
Gunakan perintah berikut untuk membuat daftar informasi untuk semua zona. Hanya sebagian keluaran yang ditampilkan.
# firewall-cmd --list-all-zones work target: default icmp-block-inversion: no interfaces: sources: services: dhcpv6-client ssh ports: protocols: masquerade: no forward-ports: sourceports: icmp-blocks: rich rules: drop target: DROP icmp-block-inversion: no interfaces: sources: services: ports: protocols: masquerade: no forward-ports: sourceports: icmp-blocks: rich rules: .....
Publik adalah kumpulan zona default, jika Anda tidak mengubahnya. Untuk memeriksa zona default yang saat ini disetel, gunakan perintah di bawah ini:
# firewall-cmd --get-default-zone public
2. Cantumkan layanan dan port yang diizinkan pada sistem
Untuk menampilkan layanan yang saat ini diizinkan di sistem Anda, gunakan perintah di bawah ini.
# firewall-cmd --list-services dhcpv6-client ssh
Untuk membuat daftar port yang terbuka di sistem Anda:
# firewall-cmd --list-ports
Biasanya Anda tidak akan melihat port yang tercantum di sini saat Anda baru saja mengaktifkan firewalld.
3. Untuk Mengaktifkan semua port masuk untuk suatu layanan
Anda juga dapat membuka port yang diperlukan untuk suatu layanan dengan menggunakan –add-service pilihan. Untuk mengizinkan akses oleh klien HTTP untuk zona publik:
# firewall-cmd --zone=public --add-service=http success
Untuk membuat daftar layanan yang diizinkan untuk zona publik:
# firewall-cmd --zone=work --list-services dhcpv6-client http ssh
Menggunakan perintah ini hanya mengubah konfigurasi Runtime dan tidak memperbarui file konfigurasi. Urutan perintah berikut menunjukkan bahwa perubahan konfigurasi yang dibuat dalam mode konfigurasi Runtime akan hilang saat layanan firewalld di-restart:
# systemctl restart firewalld
# firewall-cmd --zone=work --list-services dhcpv6-client ssh
Untuk membuat perubahan permanen, gunakan opsi –permanen. Contoh:
# firewall-cmd --permanent --zone=public --add-service=http success
Perubahan yang dibuat dalam mode konfigurasi Permanen tidak langsung diterapkan. Contoh:
# firewall-cmd --zone=work --list-services dhcpv6-client ssh
Namun, perubahan yang dibuat dalam konfigurasi Permanen ditulis ke file konfigurasi. Memulai ulang layanan firewalld membaca file konfigurasi dan mengimplementasikan perubahan.
Contoh:
# systemctl restart firewalld
# firewall-cmd --zone=work --list-services dhcpv6-client http ssh
4. Izinkan lalu lintas pada port masuk
Perintah di bawah ini akan segera membuka port 2222, tetapi tidak akan bertahan selama reboot:
# firewall-cmd --add-port=[YOUR PORT]/tcp
Misalnya, untuk membuka port TCP 2222 :
# firewall-cmd --add-port=2222/tcp
Perintah berikut akan membuat aturan tetap, tetapi tidak akan langsung berlaku:
# firewall-cmd --permanent --add-port=[YOUR PORT]/tcp
Misalnya, untuk membuka port TCP 2222 :
# firewall-cmd --permanent --add-port=2222/tcp
Untuk membuat daftar port yang terbuka, gunakan perintah :
# firewall-cmd –-list-ports 2222/tcp
5. Mulai dan hentikan layanan firewall
Untuk memulai/menghentikan/status layanan firewalld gunakan perintah di bawah ini:
# systemctl start firewalld.service # systemctl stop firewalld.service
Untuk memeriksa status layanan firewalld:
# systemctl status firewalld.service