debian: ทำ Host ใช้เอง

 

เห็นมีการคุยกันที่ codenone เรื่องโฮสต์ไพธอนหายากมาก
จึงขออนุญาตบันทึกการทำโฮสต์ไว้ใช้เองไว้ที่นี่แทน เพราะว่าเราใช้เดเบียน ;D
เพื่อจะได้สามารถใช้งาน Python Ruby หรือแพกเกจที่ไม่ใช่แพกเกจท้องตลาดได้อย่างอิสระเสรี

ขั้นตอนคร่าว ๆ คือ

  1. คิดชื่อโดเมน และตรวจสอบว่าชื่อที่เราตั้งยังว่างอยู่หรือไม่
  2. จดทะเบียน dynamic domain name server
  3. จดทะเบียนชื่อโดเมน
  4. สร้างสคริปต์สำหรับเปลี่ยนไอพี เมื่อสายหลุด

เริ่มด้วย

  1. คิดชื่อโดเมน และตรวจสอบว่าชื่อที่เราตั้งยังว่างอยู่หรือไม่
    สามารถตรวจดูได้จากเว็บโฮสติ้งทั่วไป
  2. จดทะเบียน dynamic domain name server
    ที่ผมใช้อยู่คือ

    นอกจากสองที่นี้แล้ว ยังมีอีกมาก สามารถลองค้นจากกูเกิลได้ ด้วยคำว่า "free dynamic dns" ครับ
    เมื่อลงทะเบียนและใส่ชื่อโดเมนเราแล้ว เขาจะให้ชื่อ DNS เรามาสองชื่อ เช่นของ zoneedit จะเป็น ns1.zoneedit.com และ ns2.zoneedit.com (ชื่อ DNS จริงอาจแปลกไปจากตัวอย่าง) ซึ่งเราจะเอาชื่อทั้งสองชื่อนี้ ไปจดทะเบียนชื่อโดเมนต่อไป

  3. จดทะเบียนชื่อโดเมน
    ขั้นตอนนี้ก็สามารถจดได้ทั่วไปครับ โดยในขั้นตอนการจดทะเบียน เขาจะมีช่องให้ใส่ชื่อ DNS เราก็เอาชื่อที่ได้มาจากขั้นตอนก่อน ทั้งสองชื่อใส่ลงไปก็เรียบร้อย
  4. สร้างสคริปต์สำหรับเปลี่ยนไอพี เมื่อสายหลุด
    ขั้นตอนนี้ จริง ๆ แล้วมีสคริปต์ที่เขาทำกันเอาไว้อยู่แล้ว เช่น ddclient แต่ผมใช้ไม่เป็นครับ และเห็นว่าส่วนใหญ่เขาจะใช้วิธี ping ไปที่ DNS เป็นระยะ ซึ่งวิธีนี้ทำให้สิ้นเปลืองแบนด์วิธโดยไม่จำเป็น สู้เขียนสคริปต์เอาเองดีกว่า
    ขั้นตอนนี้ขอติดไว้ก่อนครับ เพราะจะพยายามแบ่งตามเซิร์ฟเวอร์ที่เราไปจดทะเบียน

เกร็ด

  • ddns แต่ละที่ จะมีความเร็วในการอัปเดตต่างกัน
    • zoneedit.com ใช้เวลาประมาณ 1 นาที
    • everydns.net ประมาณ 2-5 นาที

    รวมทั้งขั้นตอนการอัปเดตก็ต่างกัน

    • zoneedit.com ใช้ wget อย่างเดียว
    • ส่วน everydns.net ใช้สคริปต์ Perl
  • ข้อเสียของวิธีนี้คือ
    • ต้องเปิดเครื่องทิ้งไว้ตลอดเวลา
    • ต้องพึ่งพาการใช้ DDNS จากเมืองนอก เพราะเมืองไทยยังไม่มีบริการแบบนี้ เวลาที่มีปัญหาช่องสัญญาณเมืองนอกขัดข้อง การอัปเดตจะขัดข้องตามไปด้วย
    • ถ้าการใช้งานอินเตอร์เนตของเราเป็นแบบ adsl (Asynchronous Digital Subscriber Line) ความเร็วในการอัปโหลดจะต่ำกว่าความเร็วในการดาวน์โหลดพอสมควร จึงควรเพิ่มความเร็วให้สูงเข้าไว้ จะให้ผลดีกว่า
  • ส่วนข้อดีก็คือ เราสามารถทดลองได้อย่างที่เราต้องการ ไม่มีข้อจำกัดของโฮสติ้งมาเกี่ยว
  • ในข้อเขียนนี้ ไม่ได้อธิบายการป้องกันเซิร์ฟเวอร์ไว้ด้วย ดังนั้นเพื่อความปลอดภัย ควรป้องกันเซิร์ฟเวอร์เราไว้ก่อนหนึ่งชั้นด้วยแพกเกจ portsentry
    # aptitude install portsentry
    โดยเราจะใช้ค่าปริยายทั้งหมด โดยไม่ต้องปรับแต่งอะไรเลย
    ส่วนการป้องกันเซิร์ฟเวอร์ให้ดียิ่งขึ้น ควรศึกษาเพิ่มเติมด้วยครับ
  • รายชื่อ Free Dynamic DNS พร้อมรีวิว
 

Syndicate

Subscribe to Syndicate

Who's online

There are currently 0 users online.