วันจันทร์ที่ 22 มีนาคม พ.ศ. 2553

ติดตั้ง SNMP บน Windows 2003

ติดตั้ง SNMP บน Windows 2003

SNMP Service บนวินโดส์ เป็น Service ที่ช่วยให้เราสามารถดู Inventory ในเครื่อง ทั้ง Hardware และ Software ลงลึกไปจนถึงโปรแกรมที่ติดตั้งอยู่ภายในเครื่องด้วยครับ

ผมเองมี Server ที่ต้องดูแลค่อนข้างเยอะ รวมถึง Client เองที่ใช้งาน Windows ทั้งหมดก็ร่วมพัน การที่จะมานั่งเก็บ Inventory ที่ละเครื่องก็แทบจะกระอักเลือด วิธีง่าย ๆ ของผมก็คือติดตั้ง SNMP แล้วก็ใช้โปรแกรมไปดึง Inventory ของเครื่องมาแสดง (โปรแกรมที่ว่านี้มีหลายตัวมาก แต่ขอแนะนำโปรแกรมจากค่าย Manage Engine)

ไปดูขั้นตอนการติดตั้งและปรับแต่ง SNMP Service บน Windows กันดีกว่าครับ

  1. ไปที่ Start | Control Panel | Add Or Remove Programs
  2. เลือก Add/Remove Windows Components
  3. ในหน้าต่าง Windows Components, เลือก Management And Monitoring Tools. (ไม่ควรเลือกทั้งหมดนะครับ เอาเฉพาะที่เราใช้งานเท่านั้นพอ)
  4. ต่อมาก็คลิก Details
  5. เลือก Simple Network Management Protocol
  6. คลิก OK แล้วกลับมาที่หน้า Windows Component
  7. กด Next แล้วก็รอให้ติดตั้งเสร็จ (อาจจะมีการเรียกแผ่น CD Windows 2003)

ติดตั้ง SNMP บน Windows 2003

เท่านี้ก็สามารถใช้งาน SNMP ได้แล้วล่ะครับ โดยส่วนมากแล้วเวลาจะดึง Inventory มานั้น Community String ของ SNMP มักจะตั้งเป็น public | port : 161

ปรับแต่ง SNMP

  1. ไปที่ SNMP ServiceSNMP Service
  2. ในแถบ Agent จะกำหนดว่าสามารถ Monitor ดูได้ถึงระดับไหน ในตัวอย่างผมเลือกไว้หมด จะสามารถเช็ค Hardware ได้ด้วยSNMP Agent tab
  3. แถบ Security เอาไว้กำหนดค่า Community String โดยค่าเริ่มต้นจะเป็น public เราสามารถเปลี่ยนเป็นอะไรก็ได้ ส่วนกรอบสี่เหลี่ยมด้านล่างก็ไว้ใช้สำหรับกำหนดสิทธิ์เครื่องที่จะสามารถ Access เข้ามาใช้งานSecurity Tab

จบแล้วครับสำหรับ SNMP ก็หวังว่า คงจะช่วยลดงานให้ Admin แต่ละท่านได้บ้างนะครับ

VPN Server บน Windows 2003 เพื่อแชร์เน็ต แบบมีการ์ดแลนใบเดียว

วิธีติดตั้ง VPN Server บน Windows 2003 เพื่อแชร์เน็ต แบบมีการ์ดแลนใบเดียว
ถ้าเรามี Windows 2003 อยู่ 1 เครื่อง แล้วเราต้องการทำ VPN Server แล้วอยากให้ VPN Server แจกเน็ตให้เครื่องไคลแอนด้วย ให้ทำดังนี้







เลือก Custom เพราะเรามีการ์ดใบเดียว ( ถ้ามี 2 ใบ ให้เลือกอันที่ 2 )








กำหนด NAT
กำหนด Nat เพื่อให้ VPN Server แชร์เน็ตให้กับ ไคลแอน ที่เชื่อมต่อเข้ามา







กำหนดสิทธิ์ให้ User ที่สิทธิ์ Dial...
เราต้องกำหนดสิทธิ์ Dial ให้กับ user ด้วย เพื่อให้ user สามารถเชื่อมต่อ vpn ได้ครับ




คลิ๊กแถบ Dial-in และ ติ๊ก Allow access เพื่อยินยอมให้ user นี้ access ผ่าน vpn ได้ แล้วกด OK ก็เป็นอันจบคร๊าบ


เสร็จแล้วก็ทดสอบเชื่อมต่อ
หลังจากกำหนด VPN, NAT และ Allow สิทธิ์ เรียบร้อยก็ทำการลองเชื่อมต่อได้เลยครับ




















VPN บน Windows 2003 Server (2 CARD)

ตัวอย่างการทำ VPN บน Windows 2003 Server

บทนำ
ในที่นี้เครื่อง Windows 2003 Server ที่ใช้มี Network Card จำนวน 2 การ์ดคือ
1. เชื่อมต่ออินเตอร์เน็ตเป็น 202.129.16.28
2. เชื่อมต่อกับเครือข่ายภายใน เป็น 172.24.51.12

ความต้องการ
ต้องการให้สำนักงานในสังกัดหน่วยงานของตัวเองซึ่งอยู่ที่อื่น ๆ ที่มีการเชื่อมต่อกับเครือข่าย
Internet แล้ว สามารถ Access เข้ามาใช้งานเครือข่ายภายในที่มี IP ของเครือข่ายเป็น 172.24.51.0/24 ได้

จึงต้องทำให้
Server ตัวนี้เป็น VPN Server เพื่อให้สำนักงานอื่น ๆ ที่เชื่อมต่อกับเครือข่าย Internet สามารถ Access เข้าสู่เครือข่าย 172.24.51.0/24 ได้ โดยให้เชื่อมมาที่ขานอกของ Server ที่มี IP เป็น 202.129.16.28 จากนั้น Server ก็จะจ่าย IP ที่เป็น Private ให้กับเครื่องที่เชื่อมเข้ามา และสามารถทะลุเข้าไปยังยังเครือข่าย 172.24.51.0/24 โดยผ่านการ์ดที่เป็น Private ของ Server ที่มี IP เป็น 172.24.51.12 ต่อไปได้

ขั้นตอนการทำ
1. ไปที่เมนู Start --> Administrative Tools --> Routing and Remote Access ดังรูปที่ 1


รูปที่ 1

2. แล้วจะได้ดังรูปที่ 2


รูปที่ 2

3. ให้คลิ๊กที่คำว่า Server Status แล้วเลือกเมนู Add Server ดังรูปที่ 3


รูปที่ 3

4. จะได้ดังรูปที่ 4 ให้เลือก This computer แล้วคลิ๊กปุ่ม OK


รูปที่ 4

5. แล้วจะได้ดังรูปที่ 5

รูปที่ 5

6. จากรูปที่ 5 ให้คลิ๊กที่ชื่อ Server แล้วเลือกเมนู Configure and Enable Routing and Remote Access ดังรูปที่ 6


รูปที่ 6

7. เมื่อได้ดังรูปที่ 7 ให้คลิ๊กปุ่ม Next


รูปที่ 7

8. เมื่อได้ดังรูปที่ 8 ให้เลือกรายการตามต้องการ ซึ่งถ้าต้องการทำ NAT ด้วยก็ให้เลือกรายการ Virtual Private Network (VPN) access and NAT แต่ในที่นี้เราต้องการทำ VPN อย่างเดียว ก็ให้เลือกรายการ Remote access (dial-up or VPN)



รูปที่ 8

9. เมื่อได้ดังรูปที่ 9 ให้เลือก VPN


รูปที่ 9

10. เมื่อได้ดังรูปที่ 10 ก็จะเป็นขั้นตอนการเลือกการ์ดแลนว่าการ์ดไหนเป็นการ์ดที่ติดต่อกับ Internet เพื่อ enable VPN clients ก็ให้เลือกการ์ดที่เชื่อมต่อกับ Internet ครับ


รูปที่ 10

11. เมื่อได้ดังรูปที่ 11 ก็จะเป็นขั้นตอนวิธีการจ่าย IP address ให้กับเครื่องที่ connect เข้ามา ซึ่ออาจจะใช้ DHCP Server หรือการกำหนดช่วงเอง ในที่นี้เลือกการกำหนดช่วงเอง ก็ให้เลือก From a specified range of address


รูปที่ 11

12. จากรูปที่ 12 ให้คลิ๊กปุ่ม New เพื่อการกำหนดค่า IP Address ที่จะจ่ายให้เครื่อง Client


รูปที่ 12

13. ให้ป้อนค่า IP address ที่จะจ่ายให้เครื่อง Client ดังรูปที่ 13


รูปที่ 13

14. เมื่อได้ดังรูปที่ 14 ให้คลิ๊กปุ่ม Next


รูปที่ 14

15. เมื่อได้ดังรูปที่ 15 ก็เป็นการกำหนดว่าจะให้มีการ Authenticate ผ่าน Radius Server หรือไม่ ในที่นี้ไม่ครับ


รูปที่ 15

16. เมื่อได้ดังรูปที่ 16 ให้คลิ๊กปุ่ม Finish


รูปที่ 16

17. รูปที่ 17 จะเกี่ยวกับ DHCP Server ซึ่งในที่นี้ไม่ใช้ก็ให้คลิ๊กปุ่ม OK


รูปที่ 17

18. เมื่อได้ดังรูปที่ 18 ให้คลิ๊กที่เครื่องหมาย +


รูปที่ 18

19. ก็จะได้ดังรูปที่ 19 เป็นอันเสร็จขั้นตอนครับ แต่ถ้ายังไม่ได้ทำ Static Route ก็ต้องทำซะด้วยนะครับ

วันอาทิตย์ที่ 21 มีนาคม พ.ศ. 2553

VPN

เรียนรู้เกี่ยวกับ VPN



VPN หรือ Virtual Private Network หมายถึง เครือข่ายเสมือนส่วนตัว ที่ทำงานโดยใช้โครงสร้าง
ของ เครือข่ายสาธารณะ หรืออาจจะวิ่งบนเครือข่ายไอพีก็ได้ แต่ยังสามารถคงความเป็นเครือข่าย เฉพาะขององค์กรได้ด้วยการเข้ารหัสแพ็กเก็ตก่อนส่ง เพื่อให้ข้อมูลมีความปลอดภัยมากขึ้น

อย่างไรก็ดี คำว่า VPN จะครอบคลุมทั้งอุปกรณ์ฮาร์ดแวร์ (เช่น Gateway และ Router), ซอฟต์แวร์
และ ส่วนที่เป็นไฟร์วอลล์ การเข้ารหัสแพ็กเก็ต เพื่อทำให้ข้อมูลมีความปลอดภัยนั้น ก็มีอยู่หลาย กลไกด้วยกัน ซึ่งวิธีเข้ารหัสข้อมูล (encryption) จะทำกันที่เลเยอร์ 2 คือ Data Link Layer แต่ปัจจุบัน
มีการเข้ารหัสใน IP Layer โดยมักใช้เทคโนโลยี IPSec (IP Security)

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

นอกจากนี้แล้ว กลไกในการสร้างโครงข่าย VPN อีกประเภทหนึ่ง คือ MPLS (Multiprotocal Label
Switch) เป็นวิธีในการส่งแพ็กเก็ต โดยการใส่ label ที่ส่วนหัวของข้อความและค่อยเข้ารหัสข้อมูล
จากนั้น จึงส่งไปยังจุดหมายปลายทาง เมื่อถึงปลายทางก็จะถอดรหัสที่ส่วนหัวออก วิธีการนี้
ช่วยให้ผู้วางระบบเครือข่าย สามารถแบ่ง Virtual LAN เป็นวงย่อย ให้เป็นเครือข่ายเดียวกันได้


ตัวอย่าง เช่น บริษัท A ก็จะได้ VPN label A ที่หัวข้อความ ของทุกแพ็กเก็ต บริษัท B ได้รหัสที่หัวข้อความเป็น B เพื่อส่งข้อมูล ข้อมูลที่ส่งออกไปก็จะวิ่งไปหาปลายทางตาม Label ของตน ซึ่งผู้วางระบบสามารถเพิ่มกลุ่มในวง VLAN ได้อย่างไม่จำกัด

รูปแบบบริการ VPN
บริการ VPN แบ่งออกเป็น 3 รูปแบบ

1. Access VPN: เป็นรูปแบบในการเข้าถึงเครือข่าย VPN จากอุปกรณ์เคลื่อนที่ต่างๆ ซึ่งสามารถเข้าถึงเครือข่ายได้ใน 2 ลักษณะ โดยลักษณะแรก เป็นการเข้าถึงจากไคลเอ็นต์ใดๆ ก็ได้ โดยอาศัย ผู้ให้บริการอินเทอร์เน็ตเป็นตัวกลางในการติดต่อ ซึ่งจะมีการเข้ารหัสในการส่งสัญญาณ จากเครื่องไคลเอ็นต์ไปยังไอเอสพี และลักษณะที่สองเป็นการเข้าถึงจากเครื่องแอ็กเซสเซิร์ฟเวอร์ (Network Access Server-NAS) โดยเริ่มต้นจากผู้ใช้หมุนโมเด็มติดต่อมายังไอเอสพีและจากนั้น จะมีการเข้ารหัสข้อมูลและส่งต่อไปยังปลายทาง

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

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

ประโยชน์ที่ได้รับจาก VPN

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

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

วันพฤหัสบดีที่ 18 มีนาคม พ.ศ. 2553

การ backup sql server ผ่าน network

ตามหัว ข้ออ่ะครับ เคยมีคน post ถามเอาไว้ แล้วตอนนั้น ผม ก็คิดว่ามันไม่ได้ แต่วันนี้บังเอิญไปเจอวิธีเข้าอ่ะครับ แล้วมันก็ใช้ได้ด้วย ก็เลยเอาสรุปมาทิ้งไว้เผื่อมีใครนำไปใช้ได้น่ะครับ Cool

สาเหตุที่ MSSQL ไม่สามารถ backup ผ่าน network shared folder เป็นเพราะเรื่อง สิทธิครับ

นำเรื่องเล็กน้อย
=============
เรื่อง มันยาวนิดนึง คือ MSSQL service เนี่ย มันจะมีการให้เราระบุได้ว่า จะให้มัน start หรือ run ด้วย account หรือ user อะไร ซึ่ง user ที่ใช้ในการ start หรือ run MSSQL นั้น ไม่จำเป็น ที่จะต้องเป็น user เดียวกันกับ user ที่ logon windows อยู่

ทีนี้ service ของ MSSQL โดย default แล้วจะ run โดยใช้ SYSTEM ซึ่งเจ้า SYSTEM มันจะไม่มีสิทธิในการเข้าถึง share resouce บน network (เค้าว่ามาแบบนี้ มันคงเป็น user หรือ account อีกแบบน่ะแหละ ใครแม่น ๆ ช่วยบรรยายเพิ่มหน่อยละกัน :Smiley)

ปัญหามันก็เลยเกิด เพราะ MSSQL จะทำงานภายใต้ชื่อของ SYSTEM

ที นี้ไอ้การ Backup น่ะ มันจะเป็นลักษณะว่า MSSQL service เป็นผู้ทำงาน (งาน คือ save file) เอง ไม่เกี่ยวกับ user ที่ logon windows อยู่ ณ ขณะนั้น มันจึงทำให้ MSSQL service ที่ run ภายใต้ชือของ SYSTEM นี้ไม่สามารถใช้งาน หรือ save file ไปที่ network drive หรือ folder ที่ share ไว้ได้ (เพราะว่า SYSTEM ไม่มีสิทธิ) แม้ว่า ขณะนั้น คนที่ logon windows อยู่จะใช้งาน network drive หรือ shared folder ไว้ก็ตาม เพราะว่า มันไม่เกี่ยวข้องกัน (งงมั้ยเนี่ย)

ส่วนวิธีการตรวจว่า MSSQL Service นั้น start/ run ด้วย user อะไรนั้น สามารถดูได้จากใน Control Panel --> Admin Tools --> MSSQL --> Properties --> Log on

การแก้ไข ก็คือ ก็ทำให้ MSSQL มันมีสิทธิ ดิ...

แล้วก็ถึงคราววิธีแก้ไข
================
1. แก้ user ที่ start MSSQL ให้เป็น user อื่นที่มีสิทธิในการใช้งาน shared folder นั้น ๆ

หรือ
2. แก้ไข Registry ของเครื่องที่ได้ทำการ share เอาไว้ โดยให้เพิ่มชื่อที่ทำการ share เอาไว้ที่

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmamServer\Parameters\NullSessionShares

จากนั้น ทำการ stop server service แล้ว start ใหม่ เป็นอันเสร็จ
(ไป restart ใน services ก็ได้ หรือ จะใช้คำสั่ง net stop server แล้วค่อย สั่ง net start server ใหม่ หรือ จะ reboot เลยได้)

ซึ่งข้อ 2 นี้จะเป็นการเอา security ทั้งหมดออกจาก folder ที่ share เอาไว้


กลับมา backup ที่ MSSQL
===================
ทีนี้การ backup จะต้อง อ้างอิง โดยใช้ UNC เช่น

backup database pubs to disk='\\server01\myshare\pubsbackup.bak'


ผลการทดสอบ
===========
ผมลองทั้ง 2 วิธี กับ เครื่องที่ share folder ซึ่งเป็น windows 2000 server แล้ว ใช้ได้น่ะครับ

อ้างอิง
=====
จากที่นี่ เผื่อใครที่อยากอ่าน ต้นฉบับจริง ๆ

http://groups.google.co.th/group/microsoft.public.sqlserver.server/browse_thread/thread/dd3c09faf39a9177/5064600b8b1709bf?lnk=st&rnum=2&hl=th#5064600b8b1709bf


วันจันทร์ที่ 15 มีนาคม พ.ศ. 2553

วิธีแก้ปัญหาส่งอีเมลไป hotmail แล้วเข้า junk box

วิธีแก้ปัญหาส่งอีเมลไป hotmail แล้วเข้า junk box

http://www.codeans.com/2009/07/28/%E0%B8%A7%E0%B8%B4%E0%B8%98%E0%B8%B5%E0%B9%81%E0%B8%81%E0%B9%89%E0%B8%9B%E0%B8%B1%E0%B8%8D%E0%B8%AB%E0%B8%B2%E0%B8%AA%E0%B9%88%E0%B8%87%E0%B8%AD%E0%B8%B5%E0%B9%80%E0%B8%A1%E0%B8%A5%E0%B9%84%E0%B8%9B-h/


hotmailปกติแล้วการเขียนโปรแกรมส่งเมล สามารถส่งได้ง่าย ๆ สบาย ๆ ปิดตาเขียนก็ส่งได้แล้ว
แต่ปัจจุบัน ไม่ได้เป็นยังแต่ก่อนแล้ว ผู้ให้บริการอีเมล เช่น hotmail, gmail, yahoo mail ต่างให้ความสนใจเรื่องของ privacy และ policy ของผู้ใช้มาก จึงมีการวางมาตรการเพื่อป้องกัน อีเมลขยะและอีเมลที่เป็นมาจาก sender หมวกดำ วิธีแรกที่หลาย ๆ ที่ทำการ ทำตัวฟิลเตอร์ เพื่อกัน spam mail เหล่านี้
เจ้าตัวฟิลเตอร์นี่แหละครับ คือตัวที่ทำให้เมลที่พวกเรา ส่งไปที่ hotmail แล้วเข้า junkbox
โอเค ยังไม่ต้องตกใจครับ ถ้าเราไม่ได้ทำอะไรผิด ปัญหาก็ย่อมมีทางแก้ไขเสมอ

ผมเคยรีเซิร์ทเรื่องนี้มานานซัก 2 ปีแล้ว เพราะเมื่อก่อน ผมจะต้องส่งอีเมลที่เป็นลักษณะ directmail เพื่อส่ง โปรโมชั่นให้ลูกค้าทุกเดือน ตอนนั้นการส่งเมลไป hotmail ทุกฉบับจะเข้า inbox ของ hotmail จนกระทั่ง ประมาณต้นปี 2007 ผมได้รับจดหมายจากลูกค้าว่าทำไมอีเมลสั่งซื้อสินค้า ไปอยู่ใน junkbox ก็เลยต้องหาวิธีแก้ไข ซึ่งก็มีหลายวิธี แต่ที่จะกล่าวต่อไปเป็นวิธีที่ ดูดีมีระดับมากที่สุด (555 หมายถึงที่ฝรั่งเค้าทำกัน)

1. ต้องเช็คก่อนว่า domain ของคุณ มี SPF/SIDF records หรือยัง
ตรวจสอบได้ที่ http://www.microsoft.com/mscorp/safety/content/technologies/senderid/wizard/ แต่ผมใช้วิธีบอก บอกให้ network admin ของเว็บ hosting ทำให้(โดยส่งลิ้งค์นี้ไปให้)

2. ต่อมาต้องเช็คว่า IPaddress(IPs ของ SMTP server ส่วนใหญ่เป็น IPs เดียวกับ IPs ของโมเมนของคุณ) ที่เราใช้ส่งเมล มีการทำ Reverse DNS หรือยัง?
เช็คกับ server ของ AOL ได้ที่นี่ http://postmaster.aol.com/tools/rdns.html ถ้ามีแล้วจะได้คำตอบดังนี้
DNS Server Response:
xxxxxxxxx.net
Success! It appears you have Reverse DNS.
แต่ถ้าไม่มีต้องบอกให้ network admin คนเดิมช่วยเพิ่ม Reverse DNS ให้

3. หลังจากเรามีทรัพยากรเรียบร้อยแล้ว
ที่นี้ต้องแจ้งลบ ตัวคุณออกจาก spam filter list ของ hotmail ไปที่ลิ้งค์นี้น่ะครับ
https://support.msn.com/eform.aspx?productKey=edfsjmrpp&page=support_home_options_form_byemail&ct=eformts&scrx=1

ที่หน้านี้คุณต้องกรอกข้อมูลต่าง ๆ เกี่ยวกับตัวคุณ เว็บคุณ และพฤติกรรมการส่งเมลของคุณ

โอเค ผมมีตัวอย่างให้ดูเป็นแนวทาง
Service: (ชื่อบริการ)
Junk Mail Reporting Partner Program

What type of problem do you have?
Is this a request to join the program or an update to an existing partner account? (ขอเป็นพาธเนอร์กับ hotmail)
Yes

Primary company contact name (ชื่อของคุณ ชื่อเล่นก็ได้น่ะ)
xxxxx

How would you describe your company or yourself? (ระบุเกี่ยวกับตัวคุณหรือองค์กรของคุณว่าทำไร)
Business (non-marketing) [Business (non-marketing)]

Primary company contact email address
info@xxxx.net

The home page where people sign up for your service:(ชื่อโดเมนที่ส่งอีเมล)
xxxx.net

Contact phone number: (หมายเลขติดต่อกลับ ใส่ไรก็ได้ เค้าไม่โทรมาหรอก)
+66 081555xxxx

The opt-out link for each list or a link to your organization’s Privacy Policy: (ใส่ URL หน้า Privacy or Policy ตรงนี้ฝรั่งให้ความสำคัญมาก)
http://www.xxxx.net

Sender IPs for verification: (ใส่ ipaddress ของ SMTP server)
202.000.60.xxx

Are the IP addresses registered under your company’s name or domain name? (ตรงนี้ผมไม่แน่ใจ แต่ผมใส่ yes น่ะ คือใช่ไว้ก่อน 555)
Yes [Yes]

If no, do you have exclusive sending rights from the IP via your hosting company (not shared with any other senders)? (เนื่องจาก ข้อก่อนใส่ yes ข้อนี้เลยเป็น no)
No [No]

Can you remove customers who complain from your lists, or take action against spam accounts? (ข้อนี้ก็ใส่ Yes)
Yes [Yes]

Forwarding e-mail address (where complaints should be sent): (หอร์เวิร์ดอีเมล ผมใส่อีเมลอีกอันเข้าไป)
support@xxxx.net

ทำการ submit และรอประมาณ 24-48 ชม ก็จะมี staff ของ hotmail ติดต่อกลับมา แลบอกว่าใช้ได้แล้ว
แต่ อาจจะมีบางอย่างไม่โอเคเช่น
- เนื้อหาอีเมลของคุณเสี่ยงเกินไป staff จะบอกให้คุณ ปรับแต่งอีเมลของคุณ คุณอาจเอาฟังก์ชั่นส่งเมลจากลิ้งค์นี้ไปใช้ก็ได้ครับ http://www.codeans.com/2009/02/04/%e0%b8%9f%e0%b8%b1%e0%b8%87%e0%b8%81%e0%b9%8c%e0%b8%8a%e0%b8%b1%e0%b9%88%e0%b8%99%e0%b8%aa%e0%b9%88%e0%b8%87%e0%b9%80%e0%b8%a1%e0%b8%a5-%e0%b9%82%e0%b8%94%e0%b8%a2-php-%e0%b8%aa%e0%b9%88%e0%b8%87/

วันพุธที่ 3 มีนาคม พ.ศ. 2553

ปรับ refresh pattern เพิ่มอัตรา hit ของ squid

ปรับ refresh pattern เพิ่มอัตรา hit ของ squid

squid เป็นหนึ่งในซอฟต์แวร์ที่มีค่าคอนฟิกเยอะมาก และมีเกร็ดการ fine-tune เยอะแยะไปหมด เพื่อนสมาชิกที่มีประสบการณ์ก็สามารถมาแชร์เป็นวิทยาทานกันได้นะครับ

ผมเองไม่มีประสบการณ์การ fine-tune squid มากนัก แต่เร็ว ๆ นี้ ได้ไปเจอ เคล็ดวิชา refresh pattern มา และใช้ได้ผลพอประมาณ เลยเอามาเล่าสู่กันฟัง

refresh pattern เป็นตัวกำหนดว่าจะให้อะไรเก่าอะไรใหม่สำหรับแคชและการตอบกลับ ซึ่งโดยหลักการแล้ว คุณควรจะให้ squid เชื่อตาม HTTP header ต่าง ๆ ที่เว็บเซิร์ฟเวอร์ตอบกลับมา ว่าอะไรเก่าอะไรใหม่ขนาดไหน แต่โชคไม่ดีที่ค่าต่าง ๆ เหล่านี้มักตอบมาตามค่า default ของเว็บเซิร์ฟเวอร์ ซึ่งไม่ช่วยอะไรนักสำหรับการทำแคช ดังนั้น การปรับ refresh pattern จึงช่วยได้ในเรื่องนี้

refresh pattern ใน squid.conf จะอยู่ในรูปแบบ:

refresh_pattern [-i] regex min percent max [options]

โดยที่

  • regex คือนิพจน์เรกิวลาร์แทน URL ที่จะเข้ากฎ โดยปกติจะ case sensitive ยกเว้นเมื่อมีตัวเลือก -i
  • min คืออายุที่ต่ำที่สุด (เป็นนาที) ของอ็อบเจกต์ที่จะเริ่มพิจารณาความเก่าใหม่ โดยถ้าต่ำกว่านี้จะถือว่าใหม่เสมอ (ยกเว้นว่ามีการกำหนดเวลาหมดอายุมาใน HTTP header)
  • max คืออายุที่สูงที่สุด (เป็นนาที) ของอ็อบเจกต์ที่จะยังคงพิจารณาความเก่าใหม่อยู่ โดยถ้าสูงกว่านี้จะถือว่าเก่าเสมอ
  • percent คือเปอร์เซ็นต์ของอายุในแคชของอ็อบเจกต์นับตั้งแต่ refresh ครั้งล่าสุด เทียบกับอายุจริงของอ็อบเจกต์ตามที่เว็บเซิร์ฟเวอร์รายงาน ที่จะยังคงถือว่าอ็อบเจกต์นั้นยังใหม่อยู่
  • options คือตัวเลือกเพิ่มเติม ซึ่งจะกล่าวถึงในภายหลัง

ตัวอย่างเช่น

refresh_pattern -i \.gif$ 1440 20% 10080

หมายความว่า:

  • ถ้าอ็อบเจกต์ *.gif มี header ระบุเวลาหมดอายุ ก็เชื่อถือตาม header นั้น จบ ถ้าไม่มี จึงพิจารณาต่อไป
  • ถ้าอ็อบเจกต์อยู่ในแคชต่ำกว่า 1440 นาที (1 วัน) ถือว่ายังใหม่อยู่ ใช้ค่าในแคชตอบกลับได้ทันที
  • ถ้าอ็อบเจกต์อยู่ในแคชมานานเกิน 10080 นาที (7 วัน) ถือว่าเก่าแล้ว ให้ดึงอ็อบเจกต์มาใหม่จากเว็บเซิร์ฟเวอร์
  • ถ้าอายุในแคชของอ็อบเจกต์อยู่ระหว่าง 1440-10080 นาที ให้พิจารณาอายุในแคช ว่าถึง 20% ของอายุจริงหรือไม่ เช่น ถ้าเว็บเซิร์ฟเวอร์รายงานมาว่าอ็อบเจกต์นี้สร้างขึ้นเมื่อ 10,000 นาทีที่แล้ว ก็พิจารณาว่าอ็อบเจกต์อยู่ในแคชมานานถึง 20% ของ 10,000 คือ 2,000 นาทีหรือไม่ ถ้ายังไม่ถึง ก็ถือว่ายังใหม่ ถ้าถึง ก็ถือว่าเก่าแล้ว

ส่วน options หรือตัวเลือกเพิ่มเติม ส่วนใหญ่จะเป็นการพยายามละเมิดมาตรฐาน HTML เพื่อเพิ่มอัตราการแคช จึงควรระมัดระวังในการใช้งาน ตัวเลือกมีดังนี้:

  • override-expire -- ไม่ต้องสนใจ header ระบุเวลาหมดอายุที่เว็บเซิร์ฟเวอร์บอกมา (พิจารณาตามกฎเสมอ)
  • override-lastmod -- ไม่สนใจ header ระบุเวลาเปลี่ยนแปลงล่าสุดที่เว็บเซิร์ฟเวอร์บอกมา (ถือว่าอ็อบเจกต์มีอายุจริงเท่ากับ min แม้จะเพิ่งเปลี่ยนแปลงใหม่)
  • reload-into-ims -- เปลี่ยน request "no-cache" จากลูกข่ายให้เป็น If-Modified-Since
  • ignore-reload -- ไม่สนใจ header "no-cache" จากลูกข่าย และจะใช้ข้อมูลในแคชถ้าทำได้
  • ignore-no-cache -- ไม่สนใจ header "Pragma: no-cache" และ "Cache-control: no-cache" ที่ส่งมาจากเว็บเซิร์ฟเวอร์ ซึ่ง HTTP RFC ไม่ได้อนุญาตให้เว็บเซิร์ฟเวอร์ทำ แต่ก็มักจะทำกัน
  • ignore-no-store -- ไม่สนใจ header "Cache-control: no-store" ที่ส่งมาจากเว็บเซิร์ฟเวอร์
  • ignore-private -- ไม่สนใจ header "Cache-control: private" ที่ส่งมาจากเว็บเซิร์ฟเวอร์
  • ignore-auth -- เก็บอ็อบเจกต์ที่ต้องผ่านการยืนยันตัวบุคคลของผู้อ่านลงแคชด้วย
  • refresh-ims -- ส่ง request If-Modified-Since ไปที่เว็บเซิร์ฟเวอร์เมื่อผู้ใช้ refresh หน้าเว็บ

คุณสามารถปรับ refresh pattern ให้เก็บอ็อบเจกต์ที่มักไม่มีการเปลี่ยนแปลง เช่น รูปภาพ เสียง วีดิทัศน์ แฟ้มโปรแกรม แฟ้มบีบอัด ฯลฯ ให้อยู่ในแคชนานขึ้นได้ เพื่อเพิ่มอัตราการ hit เช่น (คัดลอกมาจากบทความต้นตอ):

refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i \.(gif|png|jpg|jpeg|ico)$ \
10080 90% 43200 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.(iso|avi|wav|mp3|mp4|mpeg|swf|flv|x-flv)$ \
43200 90% 432000 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.(deb|rpm|exe|zip|tar|tgz|ram|rar|bin|ppt|doc|tiff)$ \
10080 90% 43200 override-expire ignore-no-cache ignore-no-store ignore-private
refresh_pattern -i \.index.(html|htm)$ 0 40% 10080
refresh_pattern -i \.(html|htm|css|js)$ 1440 40% 40320
refresh_pattern . 0 40% 40320

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

ในบทความต้นตอ ยังมีเกร็ดการควบคุมแคชสำหรับเว็บที่เนื้อหาเป็น dynamic บางเว็บที่อาจทำแคชบางส่วนได้ รวมทั้งจัดการกับ windowsupdate ที่มักจะมากินแบนด์วิดท์บ่อย ๆ ด้วย

ที่มา: Speed up your Internet access using Squid's refresh patterns, comment ใน squid.conf

Re: ปรับ refresh pattern เพิ่มอัตรา hit ของ squid

ผมอ่านในเวบนอกยังไงก็ไม่เข้าใจ เจอบทความนี้เข้าอ๋อเลย ต้องขอบคุณมากๆครับ เป็นประโยชน์ต่อชาวไทยที่สุด