Firewalld, firewall management tool for Red Hat-based distributions

แบบด่วนๆ เลยนะ

  1. ล็อคอินเข้าระบบด้วยบัญชีผู้ใช้ root
  2. ปกติติดตั้งมาให้ตั้งแต่เริ่มต้น
  3. หากยังไม่ได้ติดตั้ง สามารถติดตั้งด้วยคำสั่ง
    • yum install firewalld firewall-config
  4. สั่งให้ firewalld ทำงานด้วยคำสั่ง
    • systemctl enable firewalld.service
    • systemctl start firewalld.service
  5. ดูสถานะการทำงานของ firewalld ด้วยคำสั่ง
    • systemctl status firewalld.service
  6. ต้องได้ประมาณว่า
  1. สถานะต้องเป็น active หากเป็นอย่างอื่นให้ reboot เครื่องดูก่อน
  2. เพิ่มกฎการเข้าถึงตัวอย่างเช่น
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.26.0.1" port protocol="tcp" port="631" accept' --permanent

อธิบายได้ว่า ยอมรับการเข้าถึงจากไอพี 192.26.0.1 มายัง tcp port 631 ไปที่ zone public แบบถาวร zone public เป็น zone ที่ถูกเลือกไว้โดย default

  1. เมื่อเพิ่มกฎการทำงานต้องให้ firewalld โหลดกฎใหม่ทุกครั้งด้วยคำสั่ง
firewall-cmd --reload
  1. ยากพิมพ์เยอะมีเครื่องมือให้ใช้งาน คือ firewall-config แต่ต้องมี xwindows นะครับ เรียกใช้งานด้วยคำสั่ง
firewall-config &
  1. จะได้ดังภาพ
  1. ให้เลือก zone ชื่อ public แล้วเลือก Rich Rules ทางขวามือ ได้ดังภาพ (จริง ๆ หน้าต่างเริ่มต้นมันแคบนะครับต้องขยายออกไปทางขวาจึงจะเห็นทั้งหมด)
  1. สามารถคลิกปุ่ม Add จะได้ดังภาพ
  1. ก็เลือก ๆ ตามที่ต้องการได้เลยตัวอย่างเช่น

แปลว่าอนุญาต ไอพี 192.100.33.12 ให้เข้ามาที่บริการ ssh ได้ คลิก Ok เพิ่มเพิ่มกฎ จะได้

  1. สามารถเพิ่มกฎได้ตามต้องการ และให้สังเกตตรง Configuration ด้านบนจะเห็นว่าเลือกไว้ว่า Runtime ถ้าลองคลิกเลือกจะมี Permanent จะได้ดังภาพ
  1. ถ้ารีสตาร์ท firewalld กฎที่อยู่ที่ Runtime จะหายไปดังนั้นหากต้องการให้กฎยังอยู่ต้องย้ายกฎที่ Runtime มาที่ Permanent ด้วยการคลิกที่ Options แล้วเลือก Runtime To Permanent
  1. กฎจะถูกก็อปปี้ไปยัง Permanent เมื่อรีบูตหรือรีสตาร์ท firewalld กฎก็ยังอยู่ หรือหากต้องการทำครั้งเดียวก็เพิ่มกฎใน Permanent ได้เลยเช่นกันแต่กฎเหล่านั้นจะยังไม่ทำงานจนกว่าจะ Reload Firewalld
  2. เมื่อเพิ่มกฎเป็นที่พอใจและ copy จาก runtime มา permanent แล้วสามารถปิด firewall-config ได้เลยแต่เพื่อความแน่ใจ ให้ Reload Firewalld ใน Options อีกครั้งแล้วค่อยปิด จะได้ไม่ลืมครับ
  3. หรือหากไม่ชอบแก้ไขใน Windows สามารถแก้ไขแฟ้ม /etc/firewalld/zone/public.xml ได้เช่นกัน เมื่อเปิดไฟล์เข้าไปจะได้ว่า
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <rule family="ipv4">
    <source address="192.26.0.1"/>
    <port protocol="tcp" port="631"/>
    <accept/>
  </rule>
  <rule family="ipv4">
    <source address="192.100.33.12"/>
    <service name="ssh"/>
    <accept/>
  </rule>
</zone>
  1. สามารถก็อปปี้ 5 บรรทัดเริ่มตั้งแต่ <rule family=”ipv4″> ไปจนถึง </rule> นี้จะเป็น 1 กฎหากมีซ้ำๆ กันเยอะๆ ก็สามารถก็อปปี้แล้ววางแล้วแก้เฉพาะเลขไอพีได้เลย
  2. เมื่อแก้ไขแฟ้มเสร็จ save แล้วออกมาสั่งด้วยคำสั่ง
firewall-cmd --reload
  1. แก้ไขแฟ้ม /etc/firewalld/firewalld.conf
    • เปลี่ยน AllowZoneDrifting จากเดิม yes เป็น no
    • restart firewalld ด้วยคำสั่ง systemctl restart firewalld
  2. ยังมีอีกมากที่ยังใช้ไม่เป็น ด่วนๆ เอาเท่านี้ก่อน
  3. จบขอให้สนุก

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.