ວິທີຕິດຕັ້ງ, ຕັ້ງຄ່າແລະໃຊ້ Firewalld ໃນ CentOS ແລະ Ubuntu


Firewalld (firewall daemon) ແມ່ນທາງເລືອກ ສຳ ລັບການບໍລິການ iptables, ສຳ ລັບການຈັດການລະບົບໄຟວໍຂອງລະບົບດ້ວຍການສະ ໜັບ ສະ ໜູນ ສຳ ລັບເຂດ (ເຄືອຂ່າຍໄຟວໍ) ແລະໃຫ້ອິນເຕີເຟດ D-Bus ສຳ ລັບການຈັດການການຕັ້ງຄ່າຕ່າງໆ. ມັນງ່າຍທີ່ຈະໃຊ້ແລະ ກຳ ຫນົດຄ່າ, ແລະດຽວນີ້ມັນເປັນເຄື່ອງມືການຈັດການລະບົບປ້ອງກັນໄຟວໍໃນ RHEL/CentOS, Fedora ແລະການແຈກຈ່າຍ Linux ອື່ນໆ.

ໃນບົດຂຽນນີ້, ພວກເຮົາຈະປຶກສາຫາລືກ່ຽວກັບວິທີການ ກຳ ນົດລະບົບໄຟວໍຂອງລະບົບກັບ firewalld ແລະຈັດຕັ້ງປະຕິບັດການກັ່ນຕອງແພກເກັດຂັ້ນພື້ນຖານໃນ CentOS/RHEL 7 ແລະ Ubuntu.

ພື້ນຖານກ່ຽວກັບ Firewalld

Firewalld ປະກອບດ້ວຍສາມຊັ້ນ, ເຊິ່ງແມ່ນ:

  • ຊັ້ນຫຼັກ: ຮັບຜິດຊອບຈັດການການຕັ້ງຄ່າແລະດ້ານຫຼັງ (ຂ້າງລຸ່ມ).
  • ອິນເຕີເຟດ D-Bus: ແມ່ນວິທີການຕົ້ນຕໍຂອງການປ່ຽນແລະສ້າງການຕັ້ງຄ່າໄຟວໍ.
  • backends: ສຳ ລັບໂຕ້ຕອບກັບ netfilter (ໂມດູນ kernel ພື້ນເມືອງທີ່ໃຊ້ ສຳ ລັບການປ້ອງກັນໄຟ). ມັນປະກອບມີ iptables, ip6tables, ebtables, ipset, nft, linnftable; ຜູ້ສ້າງເຄືອຂ່າຍ; ແລະໂມດູນ.

ມັນຄຸ້ມຄອງກົດລະບຽບຂອງໄຟວໍໂດຍປະຕິບັດເຂດເຄືອຂ່າຍ/ພື້ນທີ່ທີ່ ກຳ ນົດລະດັບຄວາມ ໜ້າ ເຊື່ອຖືຂອງການເຊື່ອມຕໍ່ເຄືອຂ່າຍຫລືອິນເຕີເຟດ. ຄຸນລັກສະນະອື່ນໆຂອງ Firewall ທີ່ຮອງຮັບລວມມີການບໍລິການ, ການຕັ້ງຄ່າໂດຍກົງ (ໃຊ້ເພື່ອສົ່ງຜ່ານ syntax iptables ໂດຍກົງ), IPS ເຊັ່ນດຽວກັນກັບປະເພດ ICMP.

ສອງປະເພດຂອງສະພາບແວດລ້ອມການຕັ້ງຄ່າແມ່ນໄດ້ຮັບການສະ ໜັບ ສະ ໜູນ ຈາກ firewalld:

  • ການຕັ້ງຄ່າເວລາທີ່ມີປະສິດຕິພາບຈົນກ່ວາເຄື່ອງໄດ້ຖືກເລີ່ມຕົ້ນ ໃໝ່ ຫຼືການບໍລິການ firewalld ຖືກເລີ່ມຕົ້ນ ໃໝ່
  • ການຕັ້ງຄ່າແບບຖາວອນເຊິ່ງຖືກບັນທຶກແລະເຮັດວຽກຢ່າງຕໍ່ເນື່ອງ.

ເຄື່ອງມືເສັ້ນ ຄຳ ສັ່ງ firewall-cmd ແມ່ນໃຊ້ໃນການຈັດການເວລາແລະການຕັ້ງຄ່າຖາວອນ. ອີກທາງເລືອກ ໜຶ່ງ, ທ່ານອາດຈະໃຊ້ເຄື່ອງມືການຕັ້ງຄ່າຜູ້ໃຊ້ (GUI) ທີ່ມີການຕັ້ງຄ່າລະບົບໄຟວໍ.

ນອກຈາກນັ້ນ, firewalld ສະ ເໜີ ການໂຕ້ຕອບທີ່ຖືກ ກຳ ນົດໄວ້ ສຳ ລັບການບໍລິການທ້ອງຖິ່ນອື່ນໆຫລືການສະ ໝັກ ເພື່ອຮ້ອງຂໍການປ່ຽນແປງກົດລະບຽບຂອງໄຟວໍໂດຍກົງ, ຖ້າມັນ ກຳ ລັງແລ່ນກັບສິດທິພິເສດຮາກ.

ເອກະສານການຕັ້ງຄ່າທົ່ວໂລກ ສຳ ລັບ firewalld ແມ່ນຕັ້ງຢູ່ທີ່ /etc/firewalld/firewalld.conf ແລະຄຸນລັກສະນະຂອງ firewall ແມ່ນຖືກ ກຳ ນົດໄວ້ໃນຮູບແບບ XML.

ເຂົ້າໃຈເຖິງຄຸນລັກສະນະທີ່ ສຳ ຄັນຂອງ Firewalld

ຈຸດເດັ່ນຂອງ firewalld ແມ່ນເຂດເຄືອຂ່າຍ/ເຂດ ກຳ ແພງໄຟ. ທຸກໆລັກສະນະອື່ນໆແມ່ນຖືກຜູກຢູ່ໃນເຂດ. ພື້ນທີ່ໄຟວໍໄດ້ອະທິບາຍເຖິງລະດັບຄວາມໄວ້ວາງໃຈ ສຳ ລັບການເຊື່ອມຕໍ່, ອິນເຕີເຟດຫຼືທີ່ຢູ່ຂອງການຜູກມັດທີ່ຢູ່

ການຕັ້ງຄ່າເລີ່ມຕົ້ນແມ່ນມາຈາກຫລາຍເຂດທີ່ໄດ້ ກຳ ນົດໄວ້ແລ້ວຕາມລະດັບຄວາມໄວ້ວາງໃຈຂອງເຂດຕ່າງໆຈາກການບໍ່ໄວ້ວາງໃຈກັບການໄວ້ວາງໃຈ: ການລຸດ, ບລັອກ, ສາທາລະນະ, ພາຍນອກ, dmz, ວຽກ, ເຮືອນ, ພາຍໃນແລະເຊື່ອຖືໄດ້. ພວກມັນຖືກ ກຳ ນົດໄວ້ໃນແຟ້ມທີ່ເກັບໄວ້ພາຍໃນໄດເລກະທໍລີ/usr/lib/firewalld/zones.

ທ່ານສາມາດຕັ້ງຄ່າຫລືເພີ່ມເຂດທີ່ ກຳ ນົດເອງຂອງທ່ານໂດຍໃຊ້ລູກຄ້າ CLI ຫຼືພຽງແຕ່ສ້າງຫຼືຄັດລອກເອກະສານເຂດໃນ/etc/firewalld/ເຂດຈາກແຟ້ມທີ່ມີຢູ່ແລ້ວແລະດັດແກ້ມັນ.

ແນວຄວາມຄິດທີ່ ສຳ ຄັນອີກຢ່າງ ໜຶ່ງ ທີ່ຢູ່ພາຍໃຕ້ເຕົາໄຟແມ່ນການບໍລິການ. ການບໍລິການແມ່ນຖືກ ກຳ ນົດໂດຍໃຊ້ພອດແລະໂປໂຕຄອນ; ຄຳ ນິຍາມເຫຼົ່ານີ້ເປັນຕົວແທນໃຫ້ບໍລິການເຄືອຂ່າຍທີ່ໃຫ້ໄວ້ເຊັ່ນ: ເວັບເຊີຟເວີຫຼືບໍລິການເຂົ້າເຖິງຫ່າງໄກສອກຫຼີກ. ການບໍລິການແມ່ນຖືກ ກຳ ນົດໄວ້ໃນແຟ້ມທີ່ເກັບໄວ້ພາຍໃນ/usr/lib/firewalld/services/ຫຼື/etc/firewalld/services/directory.

ຖ້າທ່ານຮູ້ແນວຄິດພື້ນຖານກ່ຽວກັບ iptables/ip6tables/ebtables, ທ່ານຍັງສາມາດໃຊ້ອິນເຕີເຟດ (ຫລືການຕັ້ງຄ່າ) ເພື່ອໃຫ້ສາມາດເຂົ້າເຖິງໄຟວໍໂດຍກົງ. ແຕ່, ສຳ ລັບຜູ້ທີ່ບໍ່ມີຄວາມຮູ້ກ່ຽວກັບ iptables, ທ່ານສາມາດຈ້າງພາສາທີ່ອຸດົມສົມບູນ ສຳ ລັບການສ້າງກົດລະບຽບຂອງ firewall ທີ່ສັບສົນກວ່າເກົ່າ ສຳ ລັບ IPv4 ແລະ IPv6.

ວິທີການຕິດຕັ້ງ Firewalld Package ໃນ Linux

ໃນ CentOS 7, ຊຸດ firewalld ແມ່ນຕິດຕັ້ງມາກ່ອນແລະທ່ານສາມາດກວດສອບໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ rpm -qa firewalld

ໃນ Ubuntu 16.04 ແລະ 18.04, ທ່ານສາມາດຕິດຕັ້ງມັນໂດຍໃຊ້ຕົວຈັດການຊຸດເລີ່ມຕົ້ນດັ່ງທີ່ສະແດງໄວ້.

$ sudo apt install firewalld

ວິທີການຈັດການ Firewalld Service ໃນ Linux

Firewalld ແມ່ນການບໍລິການທີ່ເປັນລະບົບປົກກະຕິເຊິ່ງສາມາດຈັດການໄດ້ຜ່ານລະບົບ ຄຳ ສັ່ງ systemctl.

 
$ sudo systemctl start firewalld	#start the service for the mean time
$ sudo systemctl enable firewalld	#enable the service to auto-start at boot time
$ sudo systemctl status firewalld	#view service status

ຫຼັງຈາກເລີ່ມຕົ້ນການບໍລິການ firewalld, ທ່ານຍັງສາມາດກວດເບິ່ງວ່າ daemon ກຳ ລັງເຮັດວຽກຢູ່ຫຼືບໍ່, ໂດຍໃຊ້ເຄື່ອງມື firewall-cmd (ໃນກໍລະນີທີ່ມັນບໍ່ມີການເຄື່ອນໄຫວ, ຄຳ ສັ່ງນີ້ຈະສົ່ງຜົນໃຫ້ "ບໍ່ແລ່ນ").

$ sudo firewall-cmd --state

ຖ້າທ່ານເກີດຂື້ນກັບບັນທຶກການປ່ຽນແປງຢ່າງຖາວອນ, ທ່ານສາມາດໂຫລດ firewalld ຄືນ. ນີ້ຈະໂຫລດກົດລະບຽບຂອງໄຟວໍແລະເກັບຮັກສາຂໍ້ມູນຂອງລັດ. ການຕັ້ງຄ່າຖາວອນໃນປະຈຸບັນຈະກາຍເປັນການຕັ້ງຄ່າເວລາ ໃໝ່.

$ sudo firewall-cmd --reload

ວິທີການເຮັດວຽກກັບເຂດ Firewall ໃນ Firewalld

ເພື່ອໃຫ້ໄດ້ຮັບບັນຊີລາຍຊື່ຂອງທຸກເຂດທີ່ມີ firewall ແລະການບໍລິການ, ໃຫ້ ດຳ ເນີນການ ຄຳ ສັ່ງເຫຼົ່ານີ້.

$ sudo firewall-cmd --get-zones
$ sudo firewall-cmd --get-services

ເຂດທີ່ ກຳ ນົດໄວ້ແມ່ນເຂດທີ່ຖືກ ນຳ ໃຊ້ ສຳ ລັບທຸກໆຄຸນລັກສະນະຂອງໄຟວໍທີ່ບໍ່ໄດ້ຜູກພັນກັບເຂດອື່ນ. ທ່ານສາມາດໄດ້ຮັບການ ກຳ ນົດເຂດເລີ່ມຕົ້ນ ສຳ ລັບການເຊື່ອມຕໍ່ເຄືອຂ່າຍແລະອິນເຕີເຟດໂດຍການແລ່ນ.

$ sudo firewall-cmd --get-default-zone

ເພື່ອ ກຳ ນົດເຂດເລີ່ມຕົ້ນ, ຕົວຢ່າງຕໍ່ພາຍນອກ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້. ໃຫ້ສັງເກດວ່າການເພີ່ມຕົວເລືອກ --permanent ຕັ້ງຄ່າການຕັ້ງຄ່າຢ່າງຖາວອນ (ຫຼືຊ່ວຍໃຫ້ການສອບຖາມຂໍ້ມູນຈາກສະພາບແວດລ້ອມການຕັ້ງຄ່າຖາວອນ).

$ sudo firewall-cmd --set-default-zone=external
OR
$ sudo firewall-cmd --set-default-zone=external --permanent
$ sudo firewall-cmd --reload 

ຕໍ່ໄປ, ໃຫ້ເບິ່ງວິທີການເພີ່ມອິນເຕີເຟດກັບເຂດ. ຕົວຢ່າງນີ້ສະແດງວິທີການເພີ່ມຕົວເຊື່ອມຕໍ່ເຄືອຂ່າຍໄຮ້ສາຍຂອງທ່ານ (wlp1s0) ໃສ່ເຂດບ້ານ, ເຊິ່ງໃຊ້ໃນເຂດບ້ານ.

$ sudo firewall-cmd --zone=home --add-interface=wlp1s0

ການໂຕ້ຕອບສາມາດຖືກເພີ່ມເຂົ້າໄປໃນເຂດດຽວ. ເພື່ອຍ້າຍໄປຢູ່ເຂດອື່ນ, ໃຫ້ໃຊ້ປຸ່ມ --change-interface ສະແດງດັ່ງທີ່ສະແດງ, ຫຼືເອົາມັນອອກຈາກເຂດກ່ອນໂດຍໃຊ້ –remove-interface switch, ແລ້ວຕື່ມໃສ່ເຂດ ໃໝ່.

ສົມມຸດວ່າທ່ານຕ້ອງການເຊື່ອມຕໍ່ກັບເຄືອຂ່າຍ WI-FI ສາທາລະນະ, ທ່ານຄວນຍ້າຍອິນເຕີເຟດໄຮ້ສາຍຂອງທ່ານກັບຄືນສູ່ເຂດສາທາລະນະ, ເຊັ່ນນີ້:

$ sudo firewall-cmd --zone=public --add-interface=wlp1s0
$ sudo firewall-cmd --zone=public --change-interface=wlp1s0

ທ່ານສາມາດໃຊ້ຫຼາຍເຂດໃນເວລາດຽວກັນ. ເພື່ອໄດ້ຮັບບັນຊີລາຍຊື່ຂອງເຂດທີ່ມີການເຄື່ອນໄຫວທັງ ໝົດ ທີ່ມີຄຸນລັກສະນະທີ່ເປີດໃຊ້ງານເຊັ່ນ: ອິນເຕີເຟດ, ບໍລິການ, ທ່າເຮືອ, ໂປໂຕຄອນ, ແລ່ນ:

$ sudo firewall-cmd --get-active-zones

ກ່ຽວຂ້ອງກັບຈຸດທີ່ຜ່ານມາ, ຖ້າທ່ານຕ້ອງການຊອກຫາຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບເຂດສະເພາະໃດ ໜຶ່ງ, ຂ້າພະເຈົ້າທຸກສິ່ງທຸກຢ່າງເພີ່ມຫລືເປີດໃຊ້ໃນນັ້ນ, ໃຫ້ໃຊ້ ຄຳ ສັ່ງ ໜຶ່ງ ໃນນີ້:

$ sudo firewall-cmd --zone=home --list-all
OR
$ sudo firewall-cmd --info-zone public

ຕົວເລືອກທີ່ມີປະໂຫຍດອີກອັນ ໜຶ່ງ ແມ່ນ --get-target , ເຊິ່ງສະແດງໃຫ້ທ່ານຮູ້ເຖິງເປົ້າ ໝາຍ ຂອງເຂດຖາວອນ. ເປົ້າ ໝາຍ ແມ່ນ ໜຶ່ງ ໃນ: ຄ່າເລີ່ມຕົ້ນ, ຍອມຮັບ, ຢຸດ, ປະຕິເສດ. ທ່ານສາມາດກວດເບິ່ງເປົ້າ ໝາຍ ຂອງເຂດຕ່າງໆ:

$ sudo firewall-cmd --permanent --zone=public --get-target  
$ sudo firewall-cmd --permanent --zone=block --get-target  
$ sudo firewall-cmd --permanent --zone=dmz --get-target  
$ sudo firewall-cmd --permanent --zone=external --get-target
$ sudo firewall-cmd --permanent --zone=drop --get-target

ວິທີການເປີດແລະຕັນ Ports ໃນ Firewalld

ເພື່ອເປີດພອດ (ຫຼືພອດ/ການປະສົມປະສານອະນຸສັນຍາ) ໃນ ກຳ ແພງໄຟ, ພຽງແຕ່ຕື່ມມັນຢູ່ໃນເຂດທີ່ມີຕົວເລືອກ --add-port . ຖ້າທ່ານບໍ່ໄດ້ລະບຸເຂດຢ່າງຈະແຈ້ງ, ມັນຈະຖືກເປີດໃຊ້ໃນເຂດເລີ່ມຕົ້ນ.

ຕົວຢ່າງຕໍ່ໄປນີ້ສະແດງໃຫ້ເຫັນວິທີການເພີ່ມພອດ 80 ແລະ 443 ເພື່ອອະນຸຍາດໃຫ້ມີການເຂົ້າຊົມເວັບຜ່ານເຄືອຂ່າຍ HTTP ແລະ HTTPS, ຕາມ ລຳ ດັບ:

$ sudo firewall-cmd --zone=public --permanent --add-port=80/tcp --add-port=443/tcp

ຖັດໄປ, ໂຫຼດ firewalld ຄືນ ໃໝ່ ແລະກວດເບິ່ງຄຸນລັກສະນະທີ່ເປີດຢູ່ໃນເຂດສາທາລະນະອີກຄັ້ງ, ທ່ານຄວນຈະສາມາດເຫັນທ່າເຮືອທີ່ເພີ່ມເຂົ້າມາ.

$ sudo firewall-cmd --reload
$ sudo firewall-cmd --info-zone public

ການປິດຫລືປິດທ່າເຮືອໃນ Firewall ກໍ່ງ່າຍຄືກັນ, ພຽງແຕ່ເອົາມັນອອກຈາກເຂດທີ່ມີຕົວເລືອກ --remove-port . ຍົກຕົວຢ່າງ, ເພື່ອປິດທ່າເຮືອ 80 ແລະ 443 ໃນເຂດສາທາລະນະ.

$ sudo firewall-cmd --zone=public --permanent --remove-port=80/tcp --remove-port=443/tcp

ແທນທີ່ຈະໃຊ້ພອດຫຼືພອດ/ການປະສົມປະສານອະນຸສັນຍາ, ທ່ານສາມາດໃຊ້ຊື່ບໍລິການທີ່ທ່າເຮືອຖືກມອບ ໝາຍ ດັ່ງທີ່ໄດ້ອະທິບາຍໄວ້ໃນພາກຕໍ່ໄປ.

ວິທີການເປີດແລະປິດບໍລິການໃນ Firewalld

ເພື່ອເປີດການບໍລິການໃນ firewall, ເປີດໃຊ້ມັນໂດຍໃຊ້ຕົວເລືອກ --add-service . ຖ້າເຂດຖືກຍົກເລີກ, ເຂດເລີ່ມຕົ້ນຈະຖືກ ນຳ ໃຊ້.

ຄໍາສັ່ງຕໍ່ໄປນີ້ຈະເຮັດໃຫ້ການບໍລິການ http ຢູ່ໃນເຂດສາທາລະນະຢ່າງຖາວອນ.

$ sudo firewall-cmd --zone=public --permanent --add-service=http 
$ sudo firewall-cmd --reload 

ທາງເລືອກ --remove-service ສາມາດໃຊ້ເພື່ອປິດການບໍລິການ.

$ sudo firewall-cmd --zone=public --permanent --remove-service=http 
$ sudo firewall-cmd --reload 

ວິທີການເປີດໃຊ້ງານແລະປິດການໃຊ້ງານ IP Masquerading ໂດຍໃຊ້ Firewalld

IP Masquerading (ທີ່ເອີ້ນວ່າ IPMASQ ຫຼື MASQ) ແມ່ນກົນໄກ NAT (Network Address Translation) ໃນລະບົບເຄືອຂ່າຍ Linux ເຊິ່ງຊ່ວຍໃຫ້ເຈົ້າຂອງຂອງທ່ານຢູ່ໃນເຄືອຂ່າຍ, ໂດຍມີທີ່ຢູ່ IP ສ່ວນຕົວສາມາດສື່ສານກັບອິນເຕີເນັດໂດຍໃຊ້ Linux server (IPMASQ gateway) ຂອງ Linux ທີ່ສາທາລະນະມອບ ໝາຍ ໃຫ້ ທີ່ຢູ່.

ມັນແມ່ນແຜນທີ່ ໜຶ່ງ ຫາຫຼາຍແຜນທີ່. ການຈາລະຈອນຈາກເຈົ້າພາບທີ່ເບິ່ງບໍ່ເຫັນຂອງທ່ານຈະປາກົດຢູ່ໃນຄອມພິວເຕີ້ອື່ນໆໃນອິນເຕີເນັດຄືກັບວ່າມັນມາຈາກເຊີຟເວີ Linux ຂອງທ່ານ.

ທ່ານສາມາດເປີດໃຊ້ IP masquerading ໃນເຂດທີ່ຕ້ອງການ, ຕົວຢ່າງເຂດສາທາລະນະ. ແຕ່ກ່ອນທີ່ຈະເຮັດສິ່ງນັ້ນ, ທຳ ອິດໃຫ້ກວດເບິ່ງວ່າການປະຕິບັດ ໜ້າ ທີ່ມີຄວາມຫ້າວຫັນຫຼືບໍ່ (ໝາຍ ຄວາມວ່າບໍ່ແມ່ນ ໝາຍ ຄວາມວ່າຄົນພິການແລະ ຄຳ ວ່າ "ແມ່ນ" ໝາຍ ຄວາມວ່າບໍ່ດັ່ງນັ້ນ).

$ sudo firewall-cmd --zone=public --query-masquerade
$ sudo firewall-cmd --zone=public --add-masquerade

ກໍລະນີການ ນຳ ໃຊ້ແບບປົກກະຕິ ສຳ ລັບການ masquerading ແມ່ນການປະຕິບັດການສົ່ງຕໍ່ພອດ. ສົມມຸດວ່າທ່ານຕ້ອງການ SSH ຈາກເຄື່ອງຫ່າງໄກສອກຫຼີກໄປຫາໂຮດໃນເຄືອຂ່າຍພາຍໃນຂອງທ່ານດ້ວຍ IP 10.20.1.3, ເຊິ່ງ daemon sshd ກຳ ລັງຟັງຢູ່ port 5000.

ທ່ານສາມາດສົ່ງການເຊື່ອມຕໍ່ທັງ ໝົດ ໄປທີ່ port 22 ໃນ server server ຂອງທ່ານໄປທີ່ port ທີ່ມີຈຸດປະສົງໃນ host target ຂອງທ່ານໂດຍການອອກ:

$ sudo firewall-cmd --zone=public --add-forward-port=port=22=proto=tcp:toport=5000:toaddr=10.20.1.3

ເພື່ອປິດການໃຊ້ໃນການເຮັດວຽກທີ່ຜິດປົກກະຕິໃນເຂດໃດ ໜຶ່ງ, ໃຫ້ໃຊ້ປຸ່ມ --remove-masquerade .

$ sudo firewall-cmd --zone=public --remove-masquerade

ວິທີການເປີດໃຊ້ແລະປິດການໃຊ້ງານ IMCP ໃນ Firewalld

ຂໍ້ຄວາມຂອງ ICMP (Internet Control Message Protocol) ແມ່ນທັງການຮ້ອງຂໍຂໍ້ມູນຂ່າວສານຫຼືຕອບກັບການຮ້ອງຂໍຂໍ້ມູນຂ່າວສານຫຼືໃນສະພາບຄວາມຜິດພາດ.

ທ່ານສາມາດເປີດໃຊ້ຫຼືປິດການໃຊ້ງານຂອງ ICMP ໃນ firewall, ແຕ່ກ່ອນນັ້ນທ່ານຈະບອກລາຍຊື່ປະເພດ icmp ທີ່ຮອງຮັບທັງ ໝົດ.

$ sudo firewall-cmd --get-icmptypes

ເພື່ອເພີ່ມຫລືລົບປະເພດ block ທີ່ທ່ານຕ້ອງການ.

$ sudo firewall-cmd --zone=home --add-icmp-block=echo-reply
OR
$ sudo firewall-cmd --zone=home --remove-icmp-block=echo-reply

ທ່ານສາມາດເບິ່ງທຸກປະເພດ icmp ທີ່ເພີ່ມເຂົ້າໃນເຂດໂດຍໃຊ້ປຸ່ມ - list-icmp-block ປ່ຽນ.

$ sudo firewall-cmd --zone=home --list-icmp-blocks

ວິທີການໃຊ້ອິນເຕີເຟດໂດຍກົງເພື່ອຜ່ານ Commands iptables Raw

Firewall-cmd ຍັງໃຫ້ທາງເລືອກໂດຍກົງ ( - ໂດຍກົງ ) ເພື່ອໃຫ້ທ່ານໄດ້ຮັບການເຂົ້າເຖິງໂດຍກົງກັບ Firewall ຫຼາຍຂື້ນ. ນີ້ເປັນປະໂຫຍດ ສຳ ລັບຜູ້ທີ່ມີຄວາມຮູ້ພື້ນຖານກ່ຽວກັບ iptables.

ສິ່ງທີ່ ສຳ ຄັນ: ທ່ານຄວນຈະໃຊ້ຕົວເລືອກໂດຍກົງເປັນວິທີສຸດທ້າຍເມື່ອບໍ່ສາມາດໃຊ້ຕົວເລືອກ firewall-cmd ປົກກະຕິທີ່ໄດ້ອະທິບາຍຂ້າງເທິງ.

ນີ້ແມ່ນຕົວຢ່າງຂອງວິທີການຜ່ານກົດເກນ iptables ດິບ, ໂດຍໃຊ້ປຸ່ມ --add-rules ສັບປ່ຽນ. ທ່ານສາມາດເອົາກົດລະບຽບເຫຼົ່ານີ້ອອກໄດ້ຢ່າງງ່າຍດາຍໂດຍການປ່ຽນລະຫັດ --add-rule ດ້ວຍ - ກົດລະບຽບພິເສດ :

$ sudo firewall-cmd --direct --add-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 80 -j ACCEPT

ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບ iptables, ເບິ່ງຄູ່ມືນີ້: ວິທີການຕັ້ງ Firewall Iptables ເພື່ອໃຫ້ສາມາດເຂົ້າເຖິງການບໍລິການຫ່າງໄກສອກຫຼີກໃນ Linux.

ຖ້າທ່ານບໍ່ຄຸ້ນເຄີຍກັບ syntax iptables, ທ່ານສາມາດເລືອກໃຊ້ "ພາສາທີ່ອຸດົມສົມບູນ" ຂອງ firewalld ສຳ ລັບການສ້າງກົດລະບຽບຂອງ firewall ທີ່ສັບສົນຫຼາຍຂື້ນໃນແບບທີ່ເຂົ້າໃຈງ່າຍຕາມທີ່ໄດ້ອະທິບາຍຕໍ່ໄປ.

ວິທີການໃຊ້ພາສາທີ່ອຸດົມສົມບູນໃນ Firewalld

ພາສາທີ່ອຸດົມສົມບູນ (ທີ່ເອີ້ນວ່າກົດລະບຽບທີ່ອຸດົມສົມບູນ) ຖືກນໍາໃຊ້ເພື່ອເພີ່ມກົດລະບຽບຂອງ Firewall ທີ່ສັບສົນຫຼາຍຂຶ້ນ ສຳ ລັບ IPv4 ແລະ IPv6 ໂດຍບໍ່ມີຄວາມຮູ້ກ່ຽວກັບ syntax iptables.

ມັນຂະຫຍາຍລັກສະນະຂອງເຂດ (ບໍລິການ, ພອດ, icmp-block, masquerade ແລະ forward-port) ທີ່ພວກເຮົາໄດ້ກວມເອົາ. ມັນສະ ໜັບ ສະ ໜູນ ແຫຼ່ງທີ່ມາແລະຈຸດ ໝາຍ ປາຍທາງ, ການຕັດໄມ້, ການກະ ທຳ ແລະຂໍ້ ຈຳ ກັດ ສຳ ລັບບັນທຶກແລະການກະ ທຳ.

ລະຫັດ --add-rich-rule ຖືກໃຊ້ເພື່ອເພີ່ມລະບຽບທີ່ລ້ ຳ ລວຍ. ຕົວຢ່າງນີ້ສະແດງວິທີການອະນຸຍາດການເຊື່ອມຕໍ່ IPv4 ແລະ IPv6 ໃໝ່ ສຳ ລັບການບໍລິການ http ແລະເຂົ້າສູ່ລະບົບ 1 ຕໍ່ນາທີໂດຍໃຊ້ການກວດສອບ:

$ sudo firewall-cmd --add-rich-rule='rule service name="http" audit limit value="1/m" accept'

ເພື່ອ ກຳ ຈັດກົດລະບຽບທີ່ເພີ່ມເຂົ້າມາ, ໃຫ້ເລືອກຕົວເລືອກ - code-rich-rule ດ້ວຍ --remove-rich-rule .

$ sudo firewall-cmd --remove-rich-rule='rule service name="http" audit limit value="1/m" accept'

ຄຸນະລັກສະນະນີ້ຍັງຊ່ວຍໃຫ້ມີການສະກັດກັ້ນຫຼືອະນຸຍາດໃຫ້ການຈາລະຈອນຈາກທີ່ຢູ່ IP ສະເພາະ. ຕົວຢ່າງຕໍ່ໄປນີ້ສະແດງວິທີການປະຕິເສດການເຊື່ອມຕໍ່ຈາກ IP 10.20.1.20.

$ sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.254" reject'

ວິທີການເປີດໃຊ້ງານແລະປິດການໃຊ້ງານແບບ Panic ໃນ Firewalld

ໂຫມດ Panic ແມ່ນຮູບແບບພິເສດທີ່ຢູ່ພາຍໃຕ້ເຕົາໄຟເຊິ່ງທຸກຊຸດທີ່ຢູ່ໃນແລະນອກຖືກຖີ້ມ, ແລະການເຊື່ອມຕໍ່ທີ່ໃຊ້ງານຈະ ໝົດ ອາຍຸແລ້ວ.
ທ່ານສາມາດເປີດໃຊ້ຮູບແບບນີ້ໃນສະຖານະການສຸກເສີນເຊິ່ງໄພຂົ່ມຂູ່ຕໍ່ສະພາບແວດລ້ອມຂອງເຄືອຂ່າຍຂອງທ່ານຈະ ໝົດ ໄປ.

ເພື່ອສອບຖາມ ໂໝດ panic, ໃຫ້ໃຊ້ຕົວເລືອກ --query-panic .

$ sudo firewall-cmd --query-panic

ເພື່ອເປີດໃຊ້ ໂໝດ ຄວາມຕື່ນຕົກໃຈ, ໃຊ້ຕົວເລືອກ - ແບບພິເສດ . ທ່ານສາມາດທົດສອບໄດ້ວ່າມັນ ກຳ ລັງເຮັດວຽກໂດຍໃຊ້ ping command ດັ່ງທີ່ສະແດງໄວ້. ເນື່ອງຈາກວ່າແພັກເກັດຖືກລຸດລົງ, ຊື່ www.google.com ບໍ່ສາມາດແກ້ໄຂໄດ້, ເພາະສະນັ້ນຂໍ້ຜິດພາດຈະຖືກສະແດງ.

$ sudo firewall-cmd --panic-on
$ ping -c 2 www.google.com

ເພື່ອປິດໃຊ້ ໂໝດ panic, ໃຫ້ໃຊ້ຕົວເລືອກ - ປິດ - ປິດ .

$ sudo firewall-cmd --panic-off

ວິທີການ Lockdown Firewalld

ຈົ່ງຈື່ໄວ້, ພວກເຮົາໄດ້ກ່າວເຖິງພາຍໃຕ້ຂໍ້ມູນພື້ນຖານກ່ຽວກັບ firewalld ວ່າແອັບພລິເຄຊັນຫລືບໍລິການໃນທ້ອງຖິ່ນສາມາດປ່ຽນແປງການຕັ້ງຄ່າໄຟວໍຖ້າພວກເຂົາ ກຳ ລັງແລ່ນກັບສິດທິຮາກ. ທ່ານສາມາດຄວບຄຸມແອັບພລິເຄຊັນໃດທີ່ສາມາດຮ້ອງຂໍໃຫ້ມີການປ່ຽນແປງໄຟວໍ, ໂດຍລະບຸຈາກນັ້ນໃນລະບົບລັອກບັນຊີ.

ຄຸນນະສົມບັດນີ້ຈະຖືກປິດໂດຍຄ່າເລີ່ມຕົ້ນ, ທ່ານສາມາດເປີດໃຊ້ງານຫຼືປິດມັນໄດ້ໂດຍການປິດ - ການປິດການ ນຳ ໃຊ້ ຫຼື - ການປິດປຸ່ມ ເພື່ອຮັບ.

$ sudo firewall-cmd --lockdown-on
OR
$ sudo firewall-cmd --lockdown-off

ໃຫ້ສັງເກດວ່າມັນຖືກແນະ ນຳ ໃຫ້ເປີດໃຊ້ງານຫຼືປິດຄຸນລັກສະນະນີ້ໂດຍການແກ້ໄຂໄຟລ໌ config ຕົ້ນຕໍ, ເພາະວ່າ firewall-cmd ອາດຈະບໍ່ມີຢູ່ໃນ whitelist ລັອກໃນເວລາທີ່ທ່ານເປີດລະຫັດລັອກ.

$ sudo vim /etc/firewalld/firewalld.conf

ຊອກຫາພາລາມິເຕີ Lockdown ແລະປ່ຽນຄ່າຂອງມັນຈາກ ບໍ່ (ໝາຍ ຄວາມວ່າປິດ) ໄປ ແມ່ນແລ້ວ (ໝາຍ ເຖິງ).

Lockdown=yes

ເພື່ອເຮັດໃຫ້ການຕັ້ງຄ່ານີ້ໂຫລດ firewalld ຖາວອນ.

$ sudo firewall-cmd --reload

Firewalld ແມ່ນງ່າຍທີ່ຈະໃຊ້ທົດແທນ ສຳ ລັບການບໍລິການ iptables, ເຊິ່ງໃຊ້ iptables ເປັນ backend. ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ສະແດງວິທີການຕິດຕັ້ງຊຸດ firewalld, ໄດ້ອະທິບາຍລັກສະນະ ສຳ ຄັນຂອງ firewalld ແລະໄດ້ປຶກສາຫາລືກ່ຽວກັບວິທີການ ກຳ ຫນົດຄ່າເຫລົ່ານັ້ນໃນເວລາແລ່ນແລະແບບຖາວອນ.

ຖ້າທ່ານມີ ຄຳ ຖາມຫຼື ຄຳ ເຫັນໃດໆ, ກະລຸນາຕິດຕໍ່ຫາພວກເຮົາຜ່ານແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້. ທ່ານອາດຈະອ້າງເຖິງ ໜ້າ ປື້ມຄູ່ມື firewalld (man firewalld) ຫຼືເອກະສານ firewalld ໃນເວບໄຊທ໌ຂອງໂຄງການ, ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ.