แบบด่วนๆ เลยนะ
- ล็อคอินเข้าระบบด้วยบัญชีผู้ใช้ root
- ปกติติดตั้งมาให้ตั้งแต่เริ่มต้น
- หากยังไม่ได้ติดตั้ง สามารถติดตั้งด้วยคำสั่ง
- yum install firewalld firewall-config
- สั่งให้ firewalld ทำงานด้วยคำสั่ง
- systemctl enable firewalld.service
- systemctl start firewalld.service
- ดูสถานะการทำงานของ firewalld ด้วยคำสั่ง
- systemctl status firewalld.service
- ต้องได้ประมาณว่า
- สถานะต้องเป็น active หากเป็นอย่างอื่นให้ reboot เครื่องดูก่อน
- เพิ่มกฎการเข้าถึงตัวอย่างเช่น
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
- เมื่อเพิ่มกฎการทำงานต้องให้ firewalld โหลดกฎใหม่ทุกครั้งด้วยคำสั่ง
firewall-cmd --reload
- ยากพิมพ์เยอะมีเครื่องมือให้ใช้งาน คือ firewall-config แต่ต้องมี xwindows นะครับ เรียกใช้งานด้วยคำสั่ง
firewall-config &
- จะได้ดังภาพ
- ให้เลือก zone ชื่อ public แล้วเลือก Rich Rules ทางขวามือ ได้ดังภาพ (จริง ๆ หน้าต่างเริ่มต้นมันแคบนะครับต้องขยายออกไปทางขวาจึงจะเห็นทั้งหมด)
- สามารถคลิกปุ่ม Add จะได้ดังภาพ
- ก็เลือก ๆ ตามที่ต้องการได้เลยตัวอย่างเช่น
แปลว่าอนุญาต ไอพี 192.100.33.12 ให้เข้ามาที่บริการ ssh ได้ คลิก Ok เพิ่มเพิ่มกฎ จะได้
- สามารถเพิ่มกฎได้ตามต้องการ และให้สังเกตตรง Configuration ด้านบนจะเห็นว่าเลือกไว้ว่า Runtime ถ้าลองคลิกเลือกจะมี Permanent จะได้ดังภาพ
- ถ้ารีสตาร์ท firewalld กฎที่อยู่ที่ Runtime จะหายไปดังนั้นหากต้องการให้กฎยังอยู่ต้องย้ายกฎที่ Runtime มาที่ Permanent ด้วยการคลิกที่ Options แล้วเลือก Runtime To Permanent
- กฎจะถูกก็อปปี้ไปยัง Permanent เมื่อรีบูตหรือรีสตาร์ท firewalld กฎก็ยังอยู่ หรือหากต้องการทำครั้งเดียวก็เพิ่มกฎใน Permanent ได้เลยเช่นกันแต่กฎเหล่านั้นจะยังไม่ทำงานจนกว่าจะ Reload Firewalld
- เมื่อเพิ่มกฎเป็นที่พอใจและ copy จาก runtime มา permanent แล้วสามารถปิด firewall-config ได้เลยแต่เพื่อความแน่ใจ ให้ Reload Firewalld ใน Options อีกครั้งแล้วค่อยปิด จะได้ไม่ลืมครับ
- หรือหากไม่ชอบแก้ไขใน 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>
- สามารถก็อปปี้ 5 บรรทัดเริ่มตั้งแต่ <rule family=”ipv4″> ไปจนถึง </rule> นี้จะเป็น 1 กฎหากมีซ้ำๆ กันเยอะๆ ก็สามารถก็อปปี้แล้ววางแล้วแก้เฉพาะเลขไอพีได้เลย
- เมื่อแก้ไขแฟ้มเสร็จ save แล้วออกมาสั่งด้วยคำสั่ง
firewall-cmd --reload
- แก้ไขแฟ้ม /etc/firewalld/firewalld.conf
- เปลี่ยน AllowZoneDrifting จากเดิม yes เป็น no
- restart firewalld ด้วยคำสั่ง systemctl restart firewalld
- ยังมีอีกมากที่ยังใช้ไม่เป็น ด่วนๆ เอาเท่านี้ก่อน
- จบขอให้สนุก