Jul 15
Technical

วันนี้สร้าง MySQL Tunnel จาก Secure Shell เปิดเป็นรูเอาไว้ให้ เหมาะสำหรับการเข้า Host ที่ต้องผ่าน Firewall ในกรณีของเราคือ MySQL ไม่สามารถ Access โดยตรงจากเครื่องเราได้ เพราะกำหนด Permission ไว้ ให้ Access ได้จาก Gateway เท่านั้น ดังนั้น เลยจัดแจงสร้าง SSH Tunnel ขึ้นที่ Gateway ทอดสะพานเชื่อมระหว่าง MySQL ปลายทางกับเครื่องเรา. ใช้คำสั่งดังนี้


ssh -R listenport:mysqlserver:3306 username@destinationdomain


*Note: มันมี -R กับ -L (ไม่แน่ใจว่ามันต่างกันยังไง เพราะเราใช้ได้ทั้งคู่)


เช่น


ssh -R 3307:mysqlserver:3306 pop@192.168.1.20 จะทำการเปิดพอร์ต 3307 รอที่ Gateway สร้าง Tunnel ไปที่เครื่องคอมพิวเตอร์ mysqlserver ที่พอร์ตหมายเลข 3306 (msql port) แล้วทำการสร้าง connection ติดต่อไปยัง 192.168.1.20 แล้ว login ในชื่อ pop หมายเลข 192.168.1.20 คือเครื่องของเรานั่นเอง การใ้ช้ secure shell แบบนี้ จะเปิด port ให้เฉพาะหน้าจอปัจจุบันเท่านั้น หน้าจออื่นก็จะไม่สามารถใช้งานพอร์ตดังกล่าวได้ ซึ่งถือว่า secure แต่จริงๆ ssh ก็มี parameter ในการ สร้าง tunnel ให้ทุกโดเมนสามารถเข้าใช้งานได้เช่นเดียวกัน


หลังจากนั้น ใช้ mysql ที่เครื่องของเราทำการ connect ผ่าน tunnel ที่สร้างไว้ โดยใช้คำสั่ง


mysql -u username -p -h 127.0.0.1 -P 3307


เป็นการ connect ไปยังพอร์ตหมายเลข 3307 ของเครื่องเราเอง แต่ตอนนี้ถูก mapping ไว้กับเครื่องของ mysqlserver เรียบร้อยแล้ว


Reference

Posted by Scalopus+

Defined tags for this entry:

Last modified on 2006-07-15 04:06