Saya menggunakan CentOS 7 dan saya harus memastikan bahwa port 2888 dan 3888 terbuka.
Saya membaca artikel ini tetapi ini tidak berhasil karena pada CentOS 7 OS tidak ada iptables save
perintah.
Seseorang mengatakan kepada saya bahwa URL di atas tidak berlaku untuk CentOS 7. dan saya harus mengikuti ini . Tetapi artikel ini tidak jelas bagi saya tentang perintah apa yang perlu saya jalankan.
Saya juga menemukan
firewall-cmd --zone=public --add-port=2888/tcp
tapi ini tidak selamat dari reboot.
Jadi bagaimana saya bisa membuka port dan membuatnya selamat dari reboot?
Jawaban:
Gunakan perintah ini untuk menemukan zona aktif Anda:
Itu akan mengatakan publik, dmz, atau sesuatu yang lain. Anda seharusnya hanya menerapkan zona yang diperlukan.
Dalam kasus percobaan publik:
Kemudian ingat untuk memuat ulang firewall agar perubahan diterapkan.
Jika tidak, gantikan publik untuk zona Anda, misalnya, jika zona Anda dmz:
sumber
--zone=dmz
menjadi--zone=public
--permanent
dilakukan, mereka hanya mengatakan untuk melakukannya. Keduanya akan menjadi jawaban yang lebih lengkap dan berguna jika dijelaskan bagaimana jawabannya bekerja. Dari salah satu sumber daya OP: "Aturan dapat dibuat permanen dengan menambahkan opsi --permanent [...]. Jika aturan tersebut tidak dibuat permanen maka mereka harus diterapkan setiap kali setelah menerima permulaan, memulai kembali atau memuat kembali pesan dari firewalld menggunakan D-BUS. "firewall-cmd --get-active-zones
untuk mencari tahu zona apa yang digunakan pada sistem Anda. Juga, man firewall-cmd.The --permanent option needs to be the first option for all permanent calls
. Saya tidak mendapatkan kesalahan menggunakan hal di atas, tapi saya tidak yakin apakah ini dapat menyebabkan masalah kepada orang lain.Jawaban oleh ganeshragav benar, tetapi juga berguna untuk mengetahui bahwa Anda dapat menggunakan:
tetapi jika layanan yang dikenal, Anda dapat menggunakan:
dan kemudian memuat ulang firewall
[Jawaban dimodifikasi untuk mencerminkan komentar Martin Peter, jawaban asli ada
--permanent
di akhir baris perintah]sumber
--permanent
opsi di akhir pernyataan. Dokumentasi secara eksplisit menunjukkan, bahwa itu harus menjadi opsi pertama.man firewall-cmd
tidak memberikan indikasi seperti itu di komputer saya (Fedora 21).The --permanent option needs to be the first option for all permanent calls.
CentOS (RHEL) 7, telah mengubah firewall untuk digunakan
firewall-cmd
yang memiliki gagasan tentang zona yang seperti versi Windows dari jaringan Publik, Rumah, dan Pribadi. Anda harus melihat di sini untuk mencari tahu mana yang menurut Anda harus Anda gunakan. EL7 menggunakanpublic
secara default sehingga itulah yang digunakan oleh contoh saya di bawah ini.Anda dapat memeriksa zona mana yang Anda gunakan
firewall-cmd --list-all
dan mengubahnyafirewall-cmd --set-default-zone=<zone>
.Anda kemudian akan tahu zona apa yang memungkinkan layanan (atau port):
firewall-cmd --permanent --zone=<zone> --add-service=http
firewall-cmd --permanent --zone=<zone> --add-port=80/tcp
Anda dapat memeriksa apakah port telah benar-benar dibuka dengan menjalankan:
firewall-cmd --zone=<zone> --query-port=80/tcp
firewall-cmd --zone=<zone> --query-service=http
Menurut dokumentasi ,
Anda dapat reload pengaturan firewall dengan:
firewall-cmd --reload
.sumber
Fedora, melakukannya via
iptables
Tampaknya bekerja
sumber
Untuk melihat port terbuka, gunakan perintah berikut.
Kami menggunakan yang berikut ini untuk melihat layanan yang port-portnya terbuka.
Kami menggunakan yang berikut ini untuk melihat layanan yang port-portnya terbuka dan melihat port-port terbuka
Untuk menambahkan layanan ke firewall, kami menggunakan perintah berikut, dalam hal ini layanan akan menggunakan port apa saja untuk membuka di firewall.
Agar layanan ini terbuka secara permanen, kami menggunakan perintah berikut.
Untuk menambahkan port, gunakan perintah berikut
Untuk menjalankan firewall harus dimuat ulang menggunakan perintah berikut.
Ya Ali
sumber
Sementara ganeshragav dan Sotsir memberikan pendekatan yang benar dan langsung berlaku, penting untuk dicatat bahwa Anda dapat menambahkan layanan Anda sendiri
/etc/firewalld/services
. Untuk inspirasi, lihat, di/usr/lib/firewalld/services/
mana layanan standar firewalld berada.Keuntungan dari pendekatan ini adalah nanti Anda akan tahu mengapa port ini terbuka, seperti yang telah Anda jelaskan di file layanan. Selain itu, Anda sekarang dapat menerapkannya ke zona apa pun tanpa risiko kesalahan pengetikan. Selanjutnya, perubahan pada layanan tidak perlu diterapkan ke semua zona secara terpisah, tetapi hanya untuk file layanan.
Misalnya, Anda dapat membuat
/etc/firewalld/services/foobar.xml
:(Untuk informasi tentang sintaks, lakukan
man firewalld.service
.)Setelah file ini dibuat, Anda dapat
firewall-cmd --reload
membuatnya tersedia dan kemudian menambahkannya secara permanen ke beberapa zonadiikuti dengan
firewall-cmd --reload
untuk membuatnya aktif segera.sumber
Untuk melihat port terbuka, gunakan perintah berikut:
Kami menggunakan yang berikut ini untuk melihat layanan yang port-portnya terbuka:
Kami menggunakan yang berikut ini untuk melihat layanan yang port-portnya terbuka dan melihat port-port terbuka:
Untuk menambahkan layanan ke firewall, kami menggunakan perintah berikut, dalam hal ini layanan akan menggunakan port apa saja untuk membuka di firewall:
Agar layanan ini terbuka secara permanen, kami menggunakan perintah berikut:
Untuk menambahkan port, gunakan perintah berikut:
sumber
Jawaban teratas di sini berfungsi, tetapi saya menemukan sesuatu yang lebih elegan dalam jawaban Michael Hampton untuk pertanyaan terkait. Opsi "baru" (firewalld-0.3.9-11 +)
--runtime-to-permanent
untukfirewall-cmd
memungkinkan Anda membuat aturan runtime dan mengujinya sebelum membuatnya permanen:Atau untuk mengembalikan perubahan runtime-only:
Lihat juga komentar Antony Nguyen . Rupanya firewall-cmd --reload mungkin tidak berfungsi dengan benar dalam beberapa kasus di mana aturan telah dihapus. Dalam hal ini, ia menyarankan untuk memulai kembali layanan firewalld:
sumber
Jika Anda memiliki beberapa port untuk memungkinkan dalam Centos 7 FIrewalld maka kita dapat menggunakan perintah berikut.
sumber
Jika Anda terbiasa dengan layanan iptables seperti pada centos 6 atau sebelumnya, Anda masih dapat menggunakan layanan iptables dengan instalasi manual:
langkah 1 => instal repo epel
langkah 2 => instal layanan iptables
langkah 3 => hentikan layanan firewalld
langkah 4 => nonaktifkan layanan firewalld pada startup
langkah 5 => memulai layanan iptables
langkah 6 => aktifkan iptables pada saat startup
akhirnya Anda sekarang dapat mengedit konfigurasi iptables Anda di / etc / sysconfig / iptables.
Jadi -> edit aturan -> muat ulang / mulai ulang.
lakukan seperti centos yang lebih tua dengan fungsi yang sama seperti firewalld.
sumber
Firewalld sedikit tidak intuitif untuk veteran iptables. Bagi mereka yang lebih suka firewall yang digerakkan iptables dengan sintaks seperti iptables di pohon yang mudah dikonfigurasi, coba ganti firewalld dengan fwtree: https://www.linuxglobal.com/fwtree-flexible-linux-tree-based-firewall/ lalu lakukan hal berikut:
sumber
Halo di Centos 7 firewall-cmd. Ya benar jika Anda menggunakan firewall-cmd --zone = publik --add-port = 2888 / tcp tetapi jika Anda memuat ulang firewal firewall-cmd --reload
konfigurasi Anda tidak akan disimpan
Anda perlu menambahkan kunci
firewall-cmd --permanent --zone = publik --add-port = 2888 / tcp
sumber