กับ Internet ที่บ้านใช้ ADSL modem ธรรมดา ทำให้ลักษณะการเชื่อมต่อเป็น แบบโปร่งพอสมควร ( bridge)
คนอื่นสามารถเข้าถึงได้ เลยต้องมานั่งเขียน shell script แบบ ง่าย ๆ คอนโทรลทราฟฟิก พอแก้ขัดไปไดบ้าง
iptables เป็น state-full firewall ในระบบปฏิบัติการ Linux ไม่ต้องไปซื้อหากัน อาจลำบากหน่อย
ที่ตัว iptables ไม่ได้มีความสามารถเรียนรู้ เหมือนกันกับ commercial หรือ free personal firewall
ที่ใช้กันใน ระบบปฏิบัติการ windows ที่เห็นได้ชัด ความมั่นและคงทนของมัน ( ลองง่ายๆ เอาเครื่อง
ที่ติดตั้ง presonal firewall ไปรัน production service ต่างๆ ผ่านไปสักพัก คงมีค้างให้ได้เห็นกัน
งานที่ต้องทำและทูลที่เกี่ยวข้อง
ไฟดับเครื่องสามารถใช้ firewall-rules ได้
port ที่เกี่ยวข้อง
นอกนั้นใครอยากจะเพิ่ม app ตัวเองเข้าไปก็ไปหา พอร์ท ที่ใช้งานมาแล้วมาเพิ่มเข้าไป
หลังจากนั้น เปิด vi เอาโค้ดตามนี้ แปะแล้ว save เป็นในชื่อที่ท่านต้องการ
#!/bin/bash
case "$1" in
on)
echo "ONLine Firewall on ADSL-"
iptables-restore < /etc/network/firewall-rules/Firewall-ADSL
;;
off)
echo "Offline Firewall on ADSL_"
iptables -F
;;
update)
echo "update firewall rules..."
iptables-save tee /etc/network/firewall-rules/Firewall-ADSL
;;
list)
echo "List Firewall rules.."
iptables -L -nv
;;
*)
echo "Use fwall ( on off update list )"
esac
ออปชั่น update คือ หลังจากเพิ่ม rule เข้าไปทีหลังก็สั่ง update มันก็จะ save
ให้เองเลย
เนื่องจากทำแบบง่ายๆ เพราะฉะนั้นไม่ได้มีการ check state ของ package รวมถึงการกำหนด
default rules เป็นแบบ accept คงต้องมีการปรับเพิ่ม เนื่องจากตัวผมไม่ advance พอเกี่ยว
กับ iptables เลยออกมาแบบนี้ ต้องขออภัยด้วยครับ :-) วันหลังจะเขียนเพิ่มใหม่ เอาใจ
newbie
ข้างล่างนี้เป็น rule เริ่มต้น ให้ save เก็บไว้ตาม path ที่จะ restore จากข้างต้นคือ
/etc/network/firewall-rules/Firewall-ADSL
ท่านอยากจะเปลี่ยนเป็นอะไร ทำได้ตามสบายเลยครับ
# Generated by iptables-save v1.3.3
*filter tcp -- anywhere anywhere tcp spt:www
:INPUT ACCEPT [206:51250]ere anywhere tcp spt:dict
:FORWARD ACCEPT [0:0]nywhere anywhere tcp spt:666
:OUTPUT ACCEPT [2160:776374] anywhere tcp spt:https
-A INPUT -i ppp0 -p tcp -m tcp --sport 110 -j ACCEPT
-A INPUT -i ppp0 -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --sport 1863 -j ACCEPT
-A INPUT -s 72.14.253.125 -i ppp0 -p tcp -m tcp --sport 5222 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --sport 21 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --sport 20 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --sport 22 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --sport 6667 -j ACCEPT
-A INPUT -i ppp0 -p udp -m udp --sport 53 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --sport 80 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --sport 2628 -j ACCEPT
-A INPUT -i ppp0 -p tcp -m tcp --sport 443 -j ACCEPT
-A INPUT -i ppp0 -j DROP
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
COMMIT
สนใจดูเพิ่มเติม
เอกสาร iptables
No comments:
Post a Comment