CloudStack – How to enable VPN service on Virtual Router

ในบทความนี้จะอธิบายวิธีเปิด VPN Service บน Virtual Router ของ CloudStack เพื่อให้ VPN Client จากภายนอกสามารถเชื่อมต่อเข้ามาใน Guest Network ของ CloudStack ได้

เมื่อ login เข้ามาใน CloudStack UI แล้ว ให้ click ที่ เมนู Network จากนั้นเลือก Guest network ที่ต้องการที่จะเปิด VPN service

Image select network from menu

อ่านเพิ่มเติม “CloudStack – How to enable VPN service on Virtual Router”

CloudStack – Set Up VPN connection from Mac OS X Mountain Lion (10.8)

เขียนเอาไว้ก่อนที่จะลืม ช่วงนี้ทดสอบ Apache CloudStack มีหลายๆความสามารถที่น่าประทับใจ ยกตัวอย่างเช่น เราสามารถทำ VPN เชื่อมต่อเข้ากับ virtual router เพื่อเข้าถึง VM ภายใน guest network โดยที่ไม่ต้องทำ port forward และเปิด firewall ให้ยุ่งยากหลายตลบ

การเชื่อมต่อ vpn ทดสอบจาก Mac OS X Mountain Lion (10.8) โดยทำการเซ็ท Network จาก System Preferences

 

กด + (create a new service) แล้วเลือก interface เป็น VPN

Add a new service

อ่านเพิ่มเติม “CloudStack – Set Up VPN connection from Mac OS X Mountain Lion (10.8)”

udhcp client script hooking

Hooking เป็นเทคนิคหนึ่งซึ่งทำให้ซอฟต์แวร์สามารถ ปรับเปลี่ยน หรือเพิ่มเติม ได้ในภายหลัง โดยผ่านการดักจับ (intercept) function call, message หรือ event

การที่ต้องมีความสามารถนี้เนื่องจาก เพื่อให้ซอฟต์แวร์สามารถปรับเปลี่ยนไปตามเหตุการณ์ หรือค่าบางอย่างที่เกิดขึ้นในโปรแกรมในขณะ run-time ได้ในภายหลังโดยที่ไม่ต้องไปแก้ไขที่ source code ต้นฉบับ ซึ่งอาจทำโดยบุคคลที่ไม่ใช่ผู้พัฒนาโปรแกรมนั้นๆ ทำให้โปรแกรมมีความยืดหยุ่นสูง สามารถเปลี่ยนแปลงในภายหลังได้ง่าย

โปรโตคอล DHCP เองนั้นมีความยืดหยุ่นสูง สามารถใส่ค่า option ไว้ได้หลายค่า การจะเขียนโปรแกรมเพื่อประมวลผล option ต่างๆที่ใส่มาใน โปรโตคอล DHCP จึงไม่ใช่เรื่องง่าย เนื่องจากบางครั้งเราไม่รู้ว่า option ที่ใส่มานั้นต้องการจะทำอะไรกับมัน ใน DHCP client หลายๆตัว จึงได้ออกแบบให้นักพัฒนา หรือ ผู้ดูแลระบบสามารถเขียน script ง่ายๆในการประมวลผล DHCP option เหล่านั้นได้โดยไม่ต้องแก้ไข source code หลักของโปรแกรม และ script เหล่านั้นเป็นสิ่งที่ผู้ดูแลระบบคุ้นเคยอยู่แล้ว เช่น shell script เป็นต้น

udhcp เป็น dhcp client ที่นิยมใช้ใน embedded system เนื่องจากมีขนาดเล็ก ประมาณ 19KB เราจึงเห็น udhcp ถูกใส่ไว้ใน busybox ซึ่งเป็น UNIX utility suite ที่มักใช้ใน embedded system

DHCP protocol นอกจากจะช่วยแจก IP address ให้แก่ client ได้แล้ว ยังสามารถ ส่งค่าต่างๆไปให้ client ได้ ยกตัวอย่างเช่น DNS server ip address และ gateway address เป็นต้น

dhcp client ส่วนมาก จะรับค่ามาตรฐานเหล่านี้มาแล้วทำการเซ็ทให้กับ client อัตโนมัติ แต่ค่าบางค่า อย่างเช่น hostname dhcp client จะไม่ทำอะไรให้ เนื่องจากไม่ใช่เรื่องปกติที่ client จะรับค่า hostname มาจาก dhcp server
อ่านเพิ่มเติม “udhcp client script hooking”