เซอร์เวอร์ (Server)

posted on 07 Dec 2007 16:01 by pasnit

เซอร์เวอร์ (Server)

ความหมายของ เซอร์เวอร์ หรือ เครื่องบริการ คัดลอกจากเวบ Thaiall.com

  Web server

คือ บริการ HTTP(HyperText Transfer Protocol) เพื่อให้ผู้ใช้สามารถอ่านข้อมูล ทั้งภาพ และเสียง จากเครื่องบริการ ผ่าน Browser เช่นบริการ http://www.thaiall.com หรือ http://localhost เป็นต้น

เครื่องบริการ ที่รอรับคำร้องขอจาก web browser ข้อมูลที่จะส่งไปอาจเป็นเว็บเพจ ภาพ หรือเสียง เป็นต้น สำหรับโปรแกรมที่ได้รับความนิยม ให้นำมาเปิดบริการ web คือ Apache web server หรือ Microsoft web server

DNS server คืออะไร

Domain Name System server เป็นเครื่องบริการแปลงชื่อเว็บเป็นหมายเลข IP ซึ่งการแปลงชื่อนี้อาจเกิดในเครื่อง local เอง จาก cache ในเครื่อง local หรือจากเครื่องบริการของผู้ให้บริการ

FTP server

FTP(File Transfer Protocol)

คือ เครื่องบริการการรับ-ส่งข้อมูล ซึ่งเปิดให้ผู้ใช้ที่เป็นสมาชิกเข้าใช้ แต่บางเครื่องอาจเป็นให้ผู้ใช้ทั่วไปเข้าใช้ โดยใช้รหัสสมาชิก anonymous ซึ่งเป็นที่รู้กันทั่วโลกว่าเป็นรหัสผู้ใช้สำหรับผู้ที่ไม่ประสงค์ออกนาม

FTP คือโปรโตคอลสำหรับถ่ายโอนข้อมูล โดยเครื่องที่เปิดบริการ FTP จะเปิด TCP port 21 ไว้ การเชื่อมต่อของ FTP มี 2 mode

1. FTP standard mode คือ การเชื่อมต่อที่ server เชื่อมต่อกับ client ผ่าน port 20 เป็น Out going port ส่วน port ฝั่ง client จะแล้วแต่ตกลงกัน แต่ถ้า client มี firewall ที่ไม่บริการ ftp ก็จะติดต่อไม่ได้

2. FTP passive mode คือ การเชื่อมต่อที่ client เป็นผู้เชื่อมต่อไปยัง server เพื่อใช้หมายเลข port ที่แล้วแต่จะตกลงในการส่งข้อมูล

Mail server

คือ เครื่องบริการรับ-ส่งจดหมายสำหรับสมาชิก บริการที่มีให้ใช้เช่น ส่งจดหมาย รับจดหมาย ส่ง attach file หรือการมี address book เป็นต้น ตัวอย่าง mail server ที่เป็นที่รู้จักทั่วไป เช่น hotmail.com หรือ thaimail.com เป็นต้น

SMTP server คืออะไร

Simple mail transfer protocol server คือเครื่องบริการส่ง e-mail ไปยังเครื่องบริการอื่น ๆ สำหรับ SMTP ส่วนใหญ่จะไม่ยอมให้คนนอกองค์กร หรือ IP ที่อยู่นอกองค์กรใช้งาน SMTP เพราะอาจมีคนในโลกใบนี้มาแอบใช้ ทำให้บริการ SMTP ทำงานหนักให้กับคนภายนอกโดยไม่เกิดประโยชน์ใด ๆ หากเครื่องของท่านบริการ SMTP แก่คนนอก แสดงว่าไม่ได้กำหนด RELAY ไว้ เพราะชาวโลกอาจใช้เครื่องมือค้นหา " OPEN RELAY" แล้วพบว่าเครื่องของท่านเป็นเครื่องหนึ่งที่ไม่ได้ทำ RELAY ไว้ก็ได้ และที่อันตรายคือ อาจมีชาวโลกบางคนใช้โปรแกรม MOBI+ กำหนดให้เครื่อง SMTP ของท่าน bomb mail ไปยัง mail box ของเป้าหมาย และหมายเลขเครื่องที่โจมตี ก็คือ เครื่อง SMTP ของท่านนั่นเอง

POP server คืออะไร

Post office protocol server คือบริการรับ-ส่งเมลจาก mail server กับเครื่องของสมาชิก บริการนี้ ทำให้สามารถอ่าน mail ด้วยมือถือ หรือ PDA แต่ถ้าท่านใช้ mail ของ thaimail.com จะเป็น web-based mail ที่เปิดอ่าน e-mail ได้จาก web เท่านั้น จะเปิดด้วย outlook หรือ pda ไม่ได้

Database server

คือ เครื่องบริการข้อมูล ที่เปิดให้ผู้ใช้เพิ่มข้อมูล ลบ หรือแก้ไข สำหรับโปรแกรมบริการระบบฐานข้อมูลที่นิยมใช้ ได้แก่ MYSQL หรือ Microsoft Access เป็นต้น โดยผู้ใช้ต้องเขียนโปรแกรมสั่งประมวลผล ปรับปรุงข้อมูล หรือนำข้อมูลในส่วนที่ตนเองมีสิทธิ์ ไปใช้ตามต้องการ

Proxy หรือ NAT server

พร็อกซี่ เซิร์ฟเวอร์( Proxy server)

คือ เครื่องที่อยู่ตรงกลางระหว่างเครื่องลูกกับอินเทอร์เน็ต เพราะเครื่องลูกในเครือข่ายทั้งหมดจะไม่ติดต่อกับอินเทอร์เน็ตโดยตรง เมื่อเครื่องลูกเรียกดูข้อมูล จะส่งคำขอให้เครื่อง Proxy server และค้นหาข้อมูลนั้นใน เครื่อง Proxy server ว่ามีหรือไม่ หากมีก็จะส่งกลับไปให้เครื่องลูก โดยไม่ออกไปหาจากแหล่งข้อมูลจริง เพราะข้อมูลนั้นถูกเก็บในหน่วยความจำของเครื่อง Proxy server แล้ว จึงเป็นการลดภาระของระบบเครือข่าย ที่จะออกไปนอกเครือข่ายโดยไม่จำเป็น จะเห็นว่า Proxy server ทำหน้าที่เป็น Cache server ทำหน้าที่เก็บข้อมูลที่ผู้ใช้เคยร้องขอ หากมีการร้องขอข้อมูลที่ไม่มีใน proxy ก็จะออกไปหาในอินเทอร์เน็ต แล้วนำกลับมาเก็บใน cache เมื่อผู้ใช้ท่านอื่นต้องการ ก็จะนำจาก cache ไปใช้ได้ทันที สำหรับ Proxy server ที่นิยมใช้ใน Linux เช่น Squid มักให้บริการที่ port 3128 เป็นต้น

Proxy server คือ เครื่องบริการที่ทำหน้าที่แปลง address ของเครื่องต้นทางเมื่อมี package ส่งไปยัง local host หรือแปลง address ปลายทาง เมื่อมี package ส่งไปยัง localhost โดยลักษณะที่ชัดเจนของ proxy server คือการทำ caching ทำให้ local host เข้าถึงข้อมูล ซ้ำ ๆ กันได้โดยตรงจากเครื่องบริการ ใน local network ไม่ต้องออกไปนอกเครือข่ายโดยไม่จำเป็น

NAT (Network Address Translation)

คือ คุณสมบัติหนึ่งของการแจก IP หรือการทำ IP Sharing เพราะในเครือข่ายขนาดใหญ่จะใช้ Local IP หรือ Fake IP แต่จะมี Real IP อยู่บางส่วน โปรแกรมเครื่องบริการบางโปรแกรมมีหน้าที่กำหนด Local IP ให้เครื่องลูก เมื่อเครื่องลูกต้องการออกไปอ่านข้อมูลจากอินเทอร์เน็ต ก็จะใช้ Real IP ออกไป จากลักษณะดังกล่าง อาจทำให้เครื่องที่เป็น NAT server ทำหน้าที่เป็น Firewall ปกป้องเครื่องลูก เพราะจะไม่มีใครทราบ Local IP ของเครื่องในองค์กรได้ เนื่องจากการออกไปสู่อินเทอร์เน็ตจะใช้ IP ของ NAT server เสมอ จึงไม่มีใครเจาะเข้าสู่เครื่องลูกได้โดยตรง การเป็น NAT server อาจไม่จำเป็นต้องใช้คุณสมบัติ Cache server ก็ได้ เพราะเครื่องที่เป็น Proxy server ที่มีศักยภาพต่ำ จะล่มได้เร็วกว่าเครื่องที่ทำหน้าที่เป็น NAT เพียงอย่างเดียว สำหรับโปรแกรมที่ทำหน้าที่เป็น NAT server เช่น WinGate, WinRoute, WinProxy หรือ ICS(Internet Connection Sharing) เป็นต้น

DHCP server

DHCP(Dynamic Host Configuration Protocol)

คือ โปรโตคอลที่ใช้ในการกำหนด IP Address อัตโนมัติแก่เครื่องลูกข่ายบนระบบ ที่ติดตั้ง TCP/IP สำหรับ DHCP server มีหน้าที่แจก IP ในเครือข่ายไม่ให้ซ้ำ เป็นการลดความซ้ำซ้อน เมื่อเครื่องลูกเริ่ม boot ก็จะขอ IP address, Subnet mark, หมายเลข DNS และ Default gateway

ขั้นตอนการเชื่อมต่อของเครื่องลูกกับ DHCP server

1. เครื่องลูกค้นหาเครื่อง DHCP server ในเครือข่าย โดยส่ง DHCP discover เพื่อร้องขอ IP address

2. DHCP server จะค้นหา IP ที่ว่างอยู่ในฐานข้อมูล แล้วส่ง DHCP offer กลังไปให้เครื่องลูก

3. เมื่อเครื่องลูกได้รับ IP ก็จะส่งสัญญาณตอบกลับ DHCP Request ให้เครื่องแม่ทราบ

4. DHCP server ส่งสัญญาณ DHCP Ack กลับไปให้เครื่องลูก เพื่อแจ้งว่าเริ่มใช้งานได้

References:

http://www.itwizard.info/technology/linux/dmz_firewall_private_ip_server_and_transparent_proxy.html

http://www.it-guides.com/lesson/network10.html

http://www.itwizard.info/technology/linux/gateway_firewall.html

ในองค์กรไม่ว่าจะเป็นขนาดเล็ก ขนาดกลาง หรือขนาดใหญ่ ถ้ามีการเชื่อมต่อกับระบบอินเทอร์เน็ต อินทราเน็ต ทั้งภายในและภายนอก ผลพวงที่ได้รับอาจเกิดปัญหาในเรื่องการไวรัส และที่สำคัญอีกส่วนหนึ่งการถูกเจาะระบบโดยผู้ไม่ประสงค์ดี อย่างไรก็ตามการติดต่อสื่อสารก็ยังจำเป็นจะต้องเกิดขึ้น ดังนั้นเราจึงจำเป็นต้องมีการป้องกัน และมีการจัดแบ่งระบบเครือข่ายของเราเป็นโซน เพื่อให้เกิดความสะดวกในการควบคุมและจัดการ โดยเฉพาะการติดตั้งระบบ Firewall ทั้งนี้เพื่อให้เกิดความปลอดภัยในข้อมูล และปลอดภัยในระบบเครือข่ายของเรา

ประเภทของ Zoning แบ่งออกได้เป็น 3 ประเภทใหญ่ๆ ดังนี้

  1. Internal Zone
    หมายถึง ระบบเครือข่ายภายในองค์กรของเรา ซึ่งถือว่าเป็น zone ที่มีความปลอดภัยและน่าเชื่อถือสูงสุด
  2. External Zone
    หมายถึง ระบบเครือข่ายภายนอก ซึ่งถือว่าเป็น zone ที่มีความปลอดภัยต่ำมาก (ทั้งนี้ไม่ได้หมายความว่า เครือข่ายนอกองค์ของเรานั้น จะเป็นเครือข่ายที่ไม่น่าเชือถือ) อย่างไรก็ตามเนื่องเราอาจจำเป็นต้องมีการติดต่อกับเครือข่ายภายนอก ดังนั้นเราจำเป็นจะต้องมีการควบคุมในเรื่องของการสื่อสาร ตัวอย่าง External Zone เช่น คอมพิวเตอร์ต่างๆ ภายนอกองค์กร รวมทั้งระบบเครือข่าย internet ที่เราติดต่ออยู่ด้วย เป็นต้น
  3. Demilitarized Zone (DMZ)
    เป็น Zone พิเศษที่ไม่ใช่ทั้ง Internal Zone และ External Zone การทำงานของ DMZ นั้น จะติดต่อโดยตรงทั้ง Internal และ External Zone ตัวอย่างของ DMZ เช่น Mail server, Web server เป็นต้น

Demilitarized Zone (DMZ)
ตัวอย่างในกรณีที่ผู้ใช้บริการมี
Server ต่าง ๆ อยู่ด้วย ในที่นี่สมมุติว่ามี Web Server, FTP Server, DNS Server , Proxy Server, Mail Server และ MySql  Server
วิธีการที่นิยมกันคือการเพิ่มโซนของเครือข่ายมาอีกโซนหนึ่งนั่นคือ Demilitarized Zone (DMZ) ซึ่งถ้าแปลตรง ๆ ก็คือ "เขตปลอดทหาร" เช่น ที่กำหนดขึ้นที่เขตแดนระหว่างประเทศเกาหลีเหนือและประเทศเกาหลีใต้ในระหว่างการสงบศึกชั่วคราวของสงครามเกาหลี

สำหรับในเรื่อง
Network Security แล้ว DMZ เป็นคำจำกัดความของโซนอีกประเภทหนึ่งที่ไม่ใช่ทั้ง Internal (เครือข่ายภายใน) และ External (เครือข่ายภายนอกหรือเครือข่ายอินเตอร์เน็ต) แต่หมายถึงเครือข่ายที่ต้องมีการสื่อสารกับทั้งเครือข่ายภายในและเครือข่ายภายนอกนั่นเอง 


อาจจะสงสัยบ้างว่าถ้ามี

DHCP Server ด้วยจะเอาไว้ตรงไหน  เนื่องจาก DHCP Server ไม่ต้องมีการติดต่อสื่อสารกับเครือข่ายภายนอก จึงสามารถวางไว้ที่เครือข่ายภายในได้เลย หรือถ้า Gateway มี Spec สูงหน่อย ก็สามารถวางไว้บน gateway เลยก็ได้

ตัวอย่างการทำ Firewall แบบ DMZ พร้อม Transparent Proxy (DMZ ใช้ Private IP)

(Linux IPTABLES)

เครือข่ายตัวอย่างนี้ จะประกอบไปด้วยเครือข่าย 3 ส่วนด้วยกัน คือ
1 .เครือข่ายภายใน  (trusted internal network) จะเป็นส่วนที่ไม่อนุญาตให้เครือข่ายภายนอกเข้ามาได้ ซึ่งส่วนใหญ่จะเป็นส่วนของ Client

2. เครือข่าย
DMZ เป็นส่วนที่เครือข่ายภายนอกและเครือข่ายภายในเข้ามาใช้งานได้ตามกฎที่ Firewall ได้ตั้งไว้
3.เครือข่ายภายนอก (Internet)

โดยการเชื่อมต่อใช้งานจะต้องมี
Linux Server ตัวหนี่งทำหน้าที่เป็น Firewall ซึ่งจะต้องประกอบด้วยการ์ดแลน 3 การ์ด ดังรูปที่ 1


เพื่อให้เข้าใจได้ง่ายขึ้นจึงขอใช้รูปตัวอย่างการเชื่อมต่อจริง ๆ ดังรูปที่ 2  ซึ่งที่ Linux Firewall จะมี Ethernet Card 3 การ์ดคือ eth0 ใช้เชื่อมต่อกับเครือข่ายภายนอก, eth1 ใช้เชื่อมต่อกับเครือข่ายภายใน  และ eth2 ใช้เชื่อมต่อกับเครือข่าย DMZ  ในส่วนของ eth0 นั้นมี IP Address เป็น 3 ค่าคือ
1. 202.129.49.194
แทนตัวเองซึ่งเป็น Firewall

2. 202.129.49.195 ใช้แทน
HTTP
3. 202.129.49.196
ใช้แทน DNS

หมายเหตุ Proxy ไม่จำเป็นต้องให้บริการกับบุคคลภายนอก จึงไม่จำเป็นต้องใช้ IP จริง

หน้าที่ของ Linux Firewall
1.ทำ NAT (Outbound) ให้เครือข่ายภายใน (trusted internal network) สามารถเชื่อมต่อไปยังเครือข่ายภายนอกได้
2.ในกรณีที่เครือข่ายภายในออกไปใช้งานเครือข่ายภายนอกเป็นการเรียกใช้ http ให้ redirect ไปยัง Proxy ของ DMZ (Transparent Proxy)
3.
Linux Server ต้องอนุญาตให้เครือข่ายภายในสามารถใช้งาน DNS Server ในวง DMZ ทั้งการเรียกโดยใช้ IP จริงและ IP ปลอมได้ (ทั้ง 202.129.49.196 และ 192.168.2.3)
4.
Linux Server ต้องอนุญาตให้เครือข่ายภายในสามารถใช้งาน Web Server ในวง DMZ ทั้งการเรียกโดยใช้ IP จริงและ IP ปลอม (ทั้ง 202.129.49.195 และ 192.168.2.2)
5
.ทำ NAT (Inbound) ให้เครือข่ายภายนอกเข้ามาใช้ Web Server และ DNS Server ในวง  DMZ ได้
6.ทำหน้าที่เป็น
Firewall

คำสั่ง
iptables ที่ใช้
คำสั่งที่ใช้ทั้งหมดเป็นดังนี้
:

#-----Start script------#

#กำหนดตัวแปรของแต่ละ Interfaces
LAN_IP="192.168.1.1"
LAN_BCAST_ADRESS="192.168.1.255"
LAN_IFACE="eth1"

INET_IP="202.129.49.194"
INET_IFACE="eth0"

HTTP_IP="202.129.49.195"
DNS_IP="202.129.49.196"

DMZ_IP="192.168.2.1"
DMZ_IFACE="eth2"

DMZ_HTTP_IP="192.168.2.2"
DMZ_DNS_IP="192.168.2.3"
DMZ_PROXY_IP="192.168.2.4"

LO_IP="127.0.0.1"
LO_IFACE="lo"

#เปิดการทำงานของ IP Forwarding
echo "1" > /proc/sys/net/ipv4/ip_forward

#เคลียร์ Rules ต่างๆ ใน Chain เสียก่อน

iptables -F
iptables -X allowed
iptables -X icmp_packets
iptables -t nat -F

# ดรอปแพคเกจทั้งขาเข้าและขาออก และ Forwarding
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

# Chain หรือ กฎที่ ตรงตาม Rules ที่กำหนดไว้ จะอนุญาตให้ผ่านไปได้
iptables -N allowed
iptables -A allowed -p TCP --syn -j ACCEPT
iptables -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A allowed -p TCP -j DROP

# ICMP rules, ยอมรับการ Ping, Traceroute
iptables -N icmp_packets
iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 0 -j ACCEPT
iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 3 -j ACCEPT
iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 5 -j ACCEPT
iptables -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT

# ทำ NAT ที่ Interfaces ขาออกไปยัง Internet แบบ SNAT (Static Public IP)
iptables -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP

# Rules สำหรับ Packet ขาเข้า

# Rules  ในการป้องกัน IP Spoofing

iptables -t nat -A PREROUTING -i $INET_IFACE -s 192.168.0.0/16 -j DROP
iptables -t nat -A PREROUTING -i $INET_IFACE -s 10.0.0.0/8 -j DROP
iptables -t nat -A PREROUTING -i $INET_IFACE -s 172.16.0.0/12 -j DROP
iptables -t nat -A PREROUTING -i $INET_IFACE -s $INET_IP -j DROP

# ยอมให้ Packet ขาเข้า Connect เข้าสู่ Server ใน DMZ Zone


iptables -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $HTTP_IP --dport 80 -j DNAT --to-destination $DMZ_HTTP_IP
iptables -t nat -A PREROUTING -p TCP -i $INET_IFACE -d $DNS_IP --dport 53 -j DNAT --to-destination $DMZ_DNS_IP
iptables -t nat -A PREROUTING -p UDP -i $INET_IFACE -d $DNS_IP --dport 53 -j DNAT --to-destination $DMZ_DNS_IP

 

# อนุญาติให้ Network ภายใน Connect สู่ Server ภายใน DMZ Zone


iptables -t nat -A PREROUTING -p TCP -i $LAN_IFACE -d $HTTP_IP --dport 80 -j DNAT --to-destination $DMZ_HTTP_IP
iptables -t nat -A PREROUTING -p TCP -i $LAN_IFACE -d $DNS_IP --dport 53 -j DNAT --to-destination $DMZ_DNS_IP
iptables -t nat -A PREROUTING -p UDP -i $LAN_IFACE -d $DNS_IP --dport 53 -j DNAT --to-destination $DMZ_DNS_IP

# ทำ Transparent Proxy ให้ Redirect จาก Port 80 ไปยัง Port 3128 (Squid Proxy ต้องถูกติดตั้ง)


iptables -t nat -A PREROUTING -p TCP -i $LAN_IFACE -s 192.168.1.0/24 -d ! $DMZ_HTTP_IP --dport 80 -j DNAT --to-dest 192.168.2.4:3128

# Rules ในการ Forwarding

 # ไม่รับ TCP Packet ที่ไม่ตรงตาม Rules และ แจ้ง Log Messages
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
iptables -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP

 

# DMZ section : General rules


iptables -A FORWARD -i $DMZ_IFACE -o $INET_IFACE -j ACCEPT
iptables -A FORWARD -i $INET_IFACE -o $DMZ_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i $LAN_IFACE -o $DMZ_IFACE -j ACCEPT
iptables -A FORWARD -i $DMZ_IFACE -o $LAN_IFACE -j ACCEPT

 # DMZ section : HTTP server
iptables -A FORWARD -p TCP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_HTTP_IP --dport 80 -j allowed
iptables -A FORWARD -p ICMP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_HTTP_IP -j icmp_packets          

#DMZ section : DNS server
iptables -A FORWARD -p TCP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_DNS_IP --dport 53 -j allowed
iptables -A FORWARD -p UDP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_DNS_IP --dport 53 -j ACCEPT
iptables -A FORWARD -p ICMP -i $INET_IFACE -o $DMZ_IFACE -d $DMZ_DNS_IP -j icmp_packets                   

# LAN section
iptables -A FORWARD -i $LAN_IFACE -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# เก็บ Log Files ของ Packet (Debug)

iptables -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT FORWARD packet died: "

# Rules ในการ Input Packet

# INPUT chain

# ไม่รับ TCP Packet ที่ไม่ตรงตาม Rules และ แจ้ง Log Messages

iptables -A INPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

# Packets from the Internet to this box
iptables -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets

# Packets from LAN, DMZ or LOCALHOST

# From DMZ Interface to DMZ firewall IP
iptables -A INPUT -p ALL -i $DMZ_IFACE -d $DMZ_IP -j ACCEPT

# From LAN Interface to LAN firewall IP
iptables -A INPUT -p ALL -i $LAN_IFACE -d $LAN_IP -j ACCEPT
iptables -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BCAST_ADRESS -j ACCEPT

 # From Localhost interface to Localhost IP
iptables -A INPUT -p ALL -i $LO_IFACE -d $LO_IP -j ACCEPT

#established and related packets ทั้งหมดจาก Internet เข้าสู่เครื่อง Firewall
iptables -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT

 # เก็บ Log Files ของ Packet (Debug)
iptables -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT INPUT packet died: "

# Rules ในการ Output Packet

#  ไม่รับ TCP Packet ที่ไม่ตรงตาม Rules และ แจ้ง Log Messages

iptables -A OUTPUT -p tcp ! --syn -m state --state NEW -j LOG --log-prefix "New not syn:"
iptables -A OUTPUT -p tcp ! --syn -m state --state NEW -j DROP

# ไม่อนุญาติให้ Host ภายในทำการ Spoofing IP

iptables -A OUTPUT -p ALL -o $LO_IFACE -s $LO_IP -j ACCEPT
iptables -A OUTPUT -p ALL -o $LAN_IFACE -s $LAN_IP -j ACCEPT
iptables -A OUTPUT -p ALL -o $INET_IFACE -s $INET_IP -j ACCEPT

# เก็บ Log Files ของ Packet (Debug)
iptables -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG --log-level DEBUG --log-prefix "IPT OUTPUT packet died: "

#-----End script------#

 

ที่มา : http://www.msit.mut.ac.th

การทำ Repeater ระหว่าง WRT54GL กับ WAP54G 

       มีอยู่ครั้งหนึ่งผมได้มีโอกาศติดตั้งอินเตอร์เน็ตหอพักที่บ้านพระอินทร์ราชาอพาร์ทเม้นท์ เป็นอาคาร 7 ชั้น ชั้นละ 10 ห้อง โดยมีบันไดอยู่ตรงกลาง(พอจะนึกภาพออกนะครับ) ตอนแรกผมซื้อ WAP54G กะว่าจะติดแค่ 2 ตัวทั้งตึก แต่พอติดตั้งเอาจริงๆกับไม่ไหว มันแรงไม่พอ ก็ต้องหาตัวที่แรงกว่าเลยตัดสินใจเลือก WRT54GL และได้ซื้อ FW DD-WRT SP2 Special จากเจ้าของโปรแกรมโดยตรง หลังจากอัพเรียบร้อยได้ทดลองปรับกำลังวัตต์ที่ 200mW และติดตั้งที่ชั้น 2 กับ 5 ปรากฏว่าสามารถใช้ได้ทั้งอาคาร :- ความจริงไม่ต้องเขียนให้ยืดยาวขนาดนี้ก็ได้ แค่บอกว่าเปลี่ยนจาก WAP54G เป็น WRT54GL เท่านั้นเอง.....work. อ้าว...แล้วแบบนี้ WAP54G ที่ซื้อมาแล้วจะทำไงดีล่ะ ? แต่ในที่สุด WAP54G ก็ถึงเวลาของมันสะที เมื่อเจ้าของตึกข้างๆต้องการให้ตึกเขาเล่นเน็ตได้ด้วย ตอนแรกก็คิดว่าจะติดตั้งใหม่หมดยกชุด (Modem router => Server => SW => AP) แต่มันก็คงลงทุนอีกเยอะน่าดู...เลยเปลี่ยนแผนใหม่ จึงใช้โน็ตบุ๊คสำรวจดูที่ชั้น 2 , 5 พบว่าสัญญาณแรงกว่าชั้นอื่นๆแต่ก็ยังอ่อนอยู่ดี low , Very low ประมาณนั้น ลืมบอกไปว่าสองตึกนั้นอยู่ห่างกัน 30 เมตรได้ และมีช่องลมตรงกันพอดี

              2006-11-09_134310

    

               2006-11-09_134821

                    2006-11-09_162753

 

          ไม่ต้องพูดให้มากเรื่องเริ่มกันเลยดีกว่าครับ ผมได้กำหนดค่าของทั้งสอง AP เบื้องต้นดังนี้ครับ

  WAP54G Setup :

* อัพ Firmware Version: 3.04 - HyperWAP v1.0c

* ตั้งโหมด Access Point

* Mode : Mixed

* SSID : RP26 (จะกำหนดเป็นชื่ออะไรก็ได้ไม่จำเป็นต้องเหมือนกันก็ได้)

* Channel : 1 ( จำเป็นต้องเหมือนกับ WRT54GL ด้วย) * ปรับกำลังวัตต์ที่ 84mW (Maximum)

      2006-11-09_072117

            

    ,   2006-11-09_072029

        2006-11-09_082703

        

WRT54GL Setup :

* อัพ  Firmware: DD-WRT v23 SP2 special

* ตั้งโหมด Access Point ( AP )

* Mode : Mixed

* SSID : AP25 (จะกำหนดเป็นชื่ออะไรก็ได้ไม่จำเป็นต้องเหมือนกันก็ได้)

* Channel :  1 ( จำเป็นต้องเหมือนกับ WAP54G ด้วย)

1

2006-11-09_084203

      ** WRT54GL สามารถรองรับการเชื่อมต่อกับ AP ตัวอื่นได้ทั้งหมด 10 ตัว

 หลังจากทำการ Setup ค่าต่างๆเสร็จแล้ว ก็ถึงเวลาทดสอบกันบ้างครับ โดยนำเจ้า WAP54G ไปเสียบปลั๊กที่ตึกตรงข้าม แล้ว Config เข้าไปเช็คที่ WRT54GL ดังรูปข้างล่าง

 เข้าไปที่  Status ==> Wireless ==> WDS Nodes เราจะเห็นระดับสัญญาณในการเชื่อมต่อของ WAP54G (RP26)

2006-11-08_231000

    หรือหากเราต้องการทราบว่าบริเวณนั้นมี AP ตัวไหนบ้างที่เปิดอยู่ และมี Channel ไหนบ้างเพื่อจะได้เลือก Channel ที่ไม่ซ้ำกัน ช่วยลดปัญหาสัญญาณกวนกันได้

2006-11-09_091644 

 

    ต่อไปก็เป็นการทดสอบการใช้งานจริง แค่ถือโน้ตบุ๊คไป Connect กับ WAP54G (RP26) แล้วลอง Ping ไปที่ WRT4GL(AP25) เพื่อดูความต่อเนื่องของสัญญาณ และเวลาในการ Transfer data package แล้วลองเล่นเน็ตดูครับ