หน้าเว็บ

วันอังคารที่ 13 ตุลาคม พ.ศ. 2552

Basic Cmd of Linux's firewall with Iptables

คำสั่งที่มีการใช้งานบ่อย ๆ ใน iptables

1. การเรียกดู List ของ chains

# iptables -L

หากว่าเราสั่งคำสั่งแบบนี้จะเป็นการดู chains ใน tables filter หากต้องการดู List ใน tables อื่นให้สั่งตามนี้
# iptables -L -t nat
จะเป็นการดู chains ใน tables nat

2. การยกเลิก chains ทั้งหมด
# iptables -F
เป็นการสั่งลบ chains ทั้งหมดใน tables filter

# iptables -F -t nat
เป็นการสั่งลบ chains ทั้งหมดใน tables nat

3. การเพิ่ม chains ต่าง ๆ
# iptables -A INPUT -p tcp --dport ftp -j DROP
ตามตัวอย่าง จะเป็นการสั่งให้ เพิ่ม chains INPUT เข้าไปใน tables filter โดย
-p หมายถึง protocol tcp
--dport หมายถึง destination port หรือ port ที่เข้ามา
-j หมายถึง targets ที่จะระบุว่าจะให้ ทำอย่างไรหากตรวจสอบพบ
และในตัวอย่างนี้เป็นการตรวจสอบ chains INPUT ที่เข้ามาใน tables INPUT
โดยการเข้ามานั้นตรวจสอบที่ protocal tcp/ip ที่ ports ftp (21) หากตรวจสอบพบให้ ปิด (DROP)

4. การแทรก chain ต่าง ๆ
# iptables -I INPUT --dport ftp -j ACCEPT

5. การลบ chain ที่ไม่ต้องการ
# iptables -D INPUT --dport ftp -j ACCEPT

และ iptables จะทำการตรวจสอบคำสั่งจาก chains ก่อนหน้าที่สั่งไปหา chains สุดท้าย หรือเรียกง่าย ๆ ว่าทำงานแบบ top - down

การ config firewall แบบง่าย ๆ
ต่อไปนี้จะแนะนำการทำ Server Firewall ของระบบอย่างง่าย ๆ ครับ พิมพ์คำสั่งตามนี้เลยครับ

# echo 1 > /proc/sys/net/ipv4/ip_forward
#iptables -F
#iptalbes -F -t nat
#iptables -t nat -A POSTROUTING -j MASQUERADE
#iptables -A INPUT -p tcp --dport http -j ACCEPT
#iptables -A INPUT -p udp --dprot domain -j ACCEPT
#iptables -A INPUT -j DROP
*จากคำสั่งด้านบนจะเป็นการเปิดให้บริการ http และ dns เท่านั้น หากต้องการเพิ่มอะไรอีกก็ใส่แทรกเข้าไปได้เลย

แต่ถ้าเราทำการ Reboot เครื่องใหม่ config ต่าง ๆ ก็จะหายไปครับ วิธีการไม่ให้มันหายไปให้เราไปเพิ่ม config ต่อท้ายไฟล์ rc.local อยู่ที่ห้อง /etc/rc.d เพี่ยงเท่านี้เราก็มี Firewall ใช้แล้ว

Thanks :
งานสารสนเทศทางวิศวกรรมศาสตร์

ไม่มีความคิดเห็น: