ใช้ DB ผ่าน SQL Developer Client ได้ไม่ยากกับ NAT Setup บน VirtualBox👈(゚ヮ゚👈)

Michikiang
Sirisoft
Published in
3 min readAug 11, 2023

When Mck สรรหาทางเลือกอื่นนอกจาก Bridged & Host-only

ด้วยตำแหน่งงาน Database Administrator, หลายต่อหลายครั้งเราอาจต้อง setup testing environment บนเครื่องส่วนตัวเพื่อทดสอบ logic บางอย่างก่อนที่จะนำไป implement บน UAT หรือ Production environment แต่จะใช้งานบน VirtualBox ตรง ๆ ก็ไม่สะดวกเสียเท่าไหร่ เชื่อว่าผู้ใช้งานไม่น้อยคงจะถนัดเข้าใช้งานผ่าน tool อย่าง MobaXterm มากกว่า

ทว่า, การจะ remote ผ่าน tool ดังกล่าวจะต้อง set up Network Adaptor เสียก่อน บางครั้ง Host-only ก็ไม่ตอบโจทย์เสมอไปเพราะเครื่องอื่นจะใช้งานด้วยไม่ได้ ครั้นจะใช้ Bridged Adaptor ก็เกรงว่าจะไปตั้ง ip ชนกับเครื่องอื่นเขาอีก ดังนั้น อีกหนึ่งประเภทที่เราชอบ config จึงมักจะเป็น NAT ค่ะ o(*°▽°*)oo(*°▽°*)o

ตัวอย่างการตั้งค่า Network แบบ NAT

  1. ไปที่ Settings > Network > ตรง Adaptor เลือก Attached to: NAT > กด Port Forwarding จากนั้นใส่ข้อมูลตามช่องให้ครบ
Configuring NAT

2. สำหรับ Host IP สามารถดูได้จากคำสั่ง ipconfig

ส่วน Host Port สามารถเลือกตามสมควรได้เลยค่ะ

Checking Host IP (Personal Laptop)

3. สำหรับ Guest IP สามารถดูได้จาก Setting > Network > สัญลักษณ์ Wired Setting หรือผ่านคอมมานด์ ifconfig ก็ได้ค่ะ

ส่วน Guest Port ในที่นี้เราจะใช้ port 22 ซึ่งเป็น default สำหรับการ ssh ค่ะ

Checking Guest IP (VM)

4. หลังจากตั้งค่าเรียบร้อยแล้วก็จะสามารถ ssh เข้าไปใน Guest ได้ดังภาพล่างค่ะ

ssh -p <Host port> <os username>@<Host IP>
SSH to personal vm
SSH to personal vm (2)

การใช้งานผ่าน Client Tool: SQL Developer

โดยปรกติหากเป็น Host-only หรือ Bridged เราก็สามารถสร้าง connection โดยเลือกใช้ connection type แบบ Basic ธรรมดาได้เลยใช่ไหมคะ

Connection Type: Basic

ทว่า พอเราใช้ Network แบบ NAT จะต้อง forward port, connection type: Basic แบบนี้ก็จะไม่ work ฉะนั้นเราจะเปลี่ยนไปใช้ Connection Type แบบ ssh แทน!

Connection Type Choices
  1. จาก Navigation Tab ด้านบน กดไปที่ View > SSH
Picking SSH

2. หลังจาก refresh, หน้าต่าง SSH จะปรากฏขึ้น คลิกขวาและกด New SSH Hosts

New SSH Host

3. ใส่ข้อมูลสำหรับ SSH Host

Name: ตั้งชื่อได้ตามต้องการ

Host: ใส่เป็น Host IP (Personal Laptop)

Port: ใส่ Port number ที่เรา specify ไปตอนตั้งค่า port forwarding

Username: ชื่อ user สำหรับเข้า os ในที่นี้เราใช้ user Oracle

จากนั้นติ๊กถูกตรง Add a local Port Forward และใส่ข้อมูลให้สมบูรณ์

Name: ตั้งชื่อ local port forward ได้ตามต้องการ

Host: ใส่เป็น Guest IP (VM)

Port: ใส่เป็นเลข port ของ database (ดูได้จากไฟล์ listener.ora)

Filling Info

4. หลังใส่ข้อมูลเสร็จแล้วลิสต์ของ Host และ Local Port Forward จะปรากฏตรงนี้ สามารถกด Connect และทดสอบ Host Connection ได้ตามลำดับในภาพด้านล่าง

Clicking “Connect”
Testing Host Connection
Prompting for a password
Result of testing

5. จากนั้นกลับมาที่หน้า New Database Connecting และเลือก Connection Type เป็น SSH ตามด้วย Port Forward ตามที่เพิ่งสร้างไป ก็จะสามารถเข้าใช้งานผ่าน SQL Developer ได้แล้วค่ะ (❁´◡`❁)(❁´◡`❁)

Creating a connection type SSH

เป็นการตั้งค่าที่เรียบง่ายดีใช่ไหมคะ สำหรับเราเจ้าตัวนี้ถือเป็นอีกทางเลือกที่ทำให้ใช้ชีวิตได้สบายขึ้นไม่น้อยเลย โอกาสหน้าหากได้วิธีสนุกและสบายเพิ่มจะเอามาแนะนำอีกนะคะ! หากท่านใดสนใจงานด้าน Database Admin ไม่ว่าจะเรื่องของ services หรือมาร่วมงานกับเราก็ติดต่อมาได้ตามช่องทางด้านล่างนี้เลย

Webpage | Facebook | Line | LinkedIn

Medium | Instagram | Tiktok | Youtube

DBA Job Description

ขอให้ทุกท่านโชคดีค่ะ (*^▽^*)(*^▽^*)

--

--