Bagaimana cara menghapus akses ke port menggunakan firewall di Centos7?

13

Seandainya port dibuka untuk penggunaan umum menggunakan firewall-cmd, saya ingin membatasi port ini untuk IP tertentu yang saya temukan jawabannya di SITE ini .

Saya menggunakan yang berikut ini untuk membukanya:

$ firewall-cmd --permanent --zone=public --add-port=10050/tcp
$ firewall-cmd --reload

Sekarang menggunakan informasi dari informasi yang saya temukan saya ingin membatasi akses ke port ini ke alamat IP tertentu. Apakah saya perlu menghapus port ini dari akses publik?

Atau bisakah saya menambahkan aturan baru sebagai berikut dan itu akan menyelesaikan masalah untuk saya?

$ firewall-cmd --new-zone=special
$ firewall-cmd --permanent --zone=special --add-rich-rule='
  rule family="ipv4"
  source address=”123.1.1.1"
  port protocol="tcp" port="10050" accept'

Saya sudah mencoba yang berikut ini:

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --reload

Tetapi ketika saya menjalankan yang berikut:

$ firewall-cmd --list-ports 

10050/tcp masih ditampilkan.

Tolong mengerti saya tidak terlalu akrab dengan konfigurasi sisi Sever.

Soultion: Jangan lupa --runtime-to-permanent

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent
$ firewall-cmd --reload 
mcv
sumber
Ah saya lupa --permanent
mcv
1
Anda harus memposting ini sebagai jawaban (dan menerimanya). Sangat dapat diterima untuk menerima jawaban Anda sendiri, dengan cara ini pertanyaan ditandai sebagai dipecahkan.
Gerald Schneider
1
Lebih baik tidak menggunakan --permanent, jika Anda membuat kesalahan dengan aturan firewall. Jika Anda menggunakan --permanentdan mengunci diri, Anda akan merasa cukup sulit untuk kembali, karena Anda tidak memiliki cara untuk pulih. Sebaliknya, jangan gunakan --permanent, dan ketika Anda senang dengan aturan, gunakan firewall-cmd --runtime-to-permanentuntuk melakukan aturan. Jika Anda terkunci, memuat ulang firewall atau me-reboot akan kembali.
Michael Hampton
Jadi dapatkah ini firewall-cmd --runtime-to-permanentditerapkan setelah firewall-cmd --reloadatau apakah ia sepenuhnya menggantikannya? Saya pasti akan mencoba ini.
mcv

Jawaban:

27

Solusi: Jangan lupa --runtime-to-permanent

$ firewall-cmd --zone=public --remove-port=10050/tcp
$ firewall-cmd --runtime-to-permanent 
$ firewall-cmd --reload 
mcv
sumber
1
Saya masih harus mengikuti systemctl restart firewalld.
JaKu
Ini tidak berhasil untuk saya. systemctladalah versi 219dan firewall-cmdversi 0.5.3pada CentOS 7.5 64bit.
Pred
5
# firewall-cmd --zone=public --remove-port=12345/tcp --permanent
# firewall-cmd --reload

Ganti 12345 dengan port yang ingin Anda hapus.

Zing Lee
sumber
1
Saya membaca di suatu tempat bahwa di Fedora doc, disarankan untuk menempatkan --permanentsebagai opsi pertama. Tapi ya, --permanentkuncinya.
WesternGun
Saya biasanya menyimpannya sebagai opsi terakhir untuk memastikan bahwa jika aturannya tidak benar karena alasan apa pun, saya bisa reboot tanpa membuat aturan itu permanen. Jika itu melakukan apa yang saya inginkan, saya bisa meningkatkan dan menambahkan --permanentke akhir.
Justin E
0

Ikuti langkah-langkah ini, Anda akan baik-baik saja:

  1. $ firewall-cmd --zone = public --remove-port = 10050 / tcp
  2. $ firewall-cmd --runtime-to-permanent
  3. $ firewall-cmd --reload
  4. $ systemctl restart firewalld
  5. $ firewall-cmd --zone = publik --list-ports
Dan Howel
sumber
Saya tidak berpikir Anda perlu me-restart firewalld, firewalldsebenarnya dirancang untuk menghindari me-restart semua layanan setiap kali Anda mengubah konfigurasi.
vdegenne