วิธีนี้เอามาจากเว็บ lxcenter.org นะครับ แต่เห็นเป็นภาษาอังกษฤครับเลยอยากให้มีไทยบ้างครับหลักการของเค้าก็คือใช้ปิด IPTABLES ไว้ก่อนครับแล้วทำ firewall rules ขึ้นมาใหม่ครับแล้วทำให้ firewall run ตอน boot ทุกครั้งครับโดยสร้าง script ไว้ที่ /etc/init.d/ ครับเหมือน service ตัวหนึ่งเลยละครับทำง่ายมากๆ ครับที่อธิบายผมก็พอเข้าใจแบบนี้ครับ เทพที่ผ่านมาเจออย่าว่ากันนะครับ หุๆ มาดูวิธีกันเลยครับ
อย่างแรกสั่ง
ปิด service IPTABLES:
# /etc/init.d/iptables stop
กำหนดให้ service ไม่ต้อง run ตอน boot (เดี่ยวจะมีการสั่งเองในตัว script):
# chkconfig iptables off
จากนั้นท่านจะใช้คำสั่ง touch หรือ vi, vim อะไรก็ได้ครับสร้างไฟล์ชื่อ firewall ที่ตำแหน่ง /etc/init.d/ ครับมาดูที่ผมทำครับ
# vim /etc/init.d/firewall
โปรแกรม Vim มันจะสร้างไฟล์ให้เราเลยครับเพียงแค่กดปุ่ม i เพื่อเขียนข้อความลงไปครับแต่ไม่ต้องเขียนนะครับให้ท่าน Copy Script ด้านล่างนี้ลงไปวางเลยครับเพราะทางทีมงานของ Lxcenter เค้าจัดให้แล้วครับตามนี้เลย
#!/bin/sh # firewall # chkconfig: 3 21 91 # description: Starts, stops iptables firewall case "$1" in start) # Clear rules iptables -t filter -F iptables -t filter -X echo - Clear rules : [OK] # SSH In iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT echo - SSH : [OK] # Don't break established connections iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT echo - established connections : [OK] # Block all connections by default iptables -t filter -P INPUT DROP iptables -t filter -P FORWARD DROP iptables -t filter -P OUTPUT DROP echo - Block all connections : [OK] # Loopback iptables -t filter -A INPUT -i lo -j ACCEPT iptables -t filter -A OUTPUT -o lo -j ACCEPT echo - Loopback : [OK] # ICMP (Ping) iptables -t filter -A INPUT -p icmp -j ACCEPT iptables -t filter -A OUTPUT -p icmp -j ACCEPT echo - PING : [OK] # DNS In/Out iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT echo - DNS : [OK] # NTP Out iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT echo - NTP : [OK] # FTP Out iptables -t filter -A OUTPUT -p tcp --dport 20:21 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 30000:50000 -j ACCEPT # FTP In iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 30000:50000 -j ACCEPT iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT echo - FTP : [OK] # HTTP + HTTPS Out iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT # HTTP + HTTPS In iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT echo - HTTP/HTTPS : [OK] # Mail SMTP:25 iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT echo - SMTP : [OK] # Mail POP3:110 iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT echo - POP : [OK] # Mail IMAP:143 iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT echo - IMAP : [OK] # Kloxo iptables -t filter -A INPUT -p tcp --dport 7777:7778 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 7777:7778 -j ACCEPT echo - Kloxo : [OK] echo - Firewall [OK] exit 0 ;; stop) echo "Stopping Firewall: " iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -t filter -F exit 0 ;; *) echo "Usage: /etc/init.d/firewall {start|stop}" exit 1 ;; esac
Copy เิอาไปวางในไฟล์ /etc/init.d/firewall จากนั้นก็กด Esc 1 ครั้งที่แป้นพิมกด : และพิม wq และ Enter เพื่อบันทึกครับ
จาดนั้นก็มาสั่งอีกนิดครับทำให้ firewall script มันทำงานได้ก่อนครับโดยสั่ง
# chmod 700 /etc/init.d/firewall
และเพิ่ม Service firewall ของเราเมื่อกี่ครับ … ยังไงว่ะ งง … ดูด้านล่างครับ
# chkconfig –level 2345 firewall on
และสั่ง Start
# /etc/init.d/firewall start
ถ้าเห็นสถานะบอกว่า OK เยอะก็ใช้ได้แล้วครับง่ายๆ ครับแต่จะธิบายเรื่อง script นิดหนึ่งครับคือ เค้ากำหนดให้ปิด port ทุก port ก่อนแล้วมาเปิด port ที่จำเป็นสำหรับ CP Kloxo ครับแค่นั้นครับ
Write By Mr.Pishit
http://pishit.net/
ขอบคุณครับ ที่แบ่งปันสิ่งดีๆ ครับ
ขอบคุณมากคับ หามานาน
Direct Admin ต้องลงตัวไหนกันหรอครับ
เดี่ยวผมลองใช้กับ Da ให้ครับ คิดว่าไม่ต่างกันมากครับน่าจะแค่ Port สำหรับเข้า Da 2222 และ kloxo 7777-7778