ITSESA.COM บทความ Windows Server

NAT Networking and Port Forwarding on VMware Workstation

NAT Networking and Port Forwarding on VMware Workstation

ย้อนกลับมาเรื่อง Network บน VMware Workstation สักนิด เพราะเรื่อง NAT บน VMware นี้ผมว่าค่อนข้างจำเป็นมากถึงมากที่สุดเรื่องหนึ่งที่หลายคนมองข้ามไปเลย เพราะมันสามารถทำให้ Guest OS ของคุณสามารถใช้งานร่วมกับ Network จริงภายนอกได้โดยไม่มีผลกระทบกับ Server ที่ตั้งอยู่ใน Network เลยครับ

ขอย้อนกลับไปย้ำถึงบทความเกี่ยวกับ VMware Virtual Network Editor กันก่อนในเรื่อง NAT ซึ่ง Network ประเภทนี้จะทำให้ Guest OS สามารถติดต่อกับ Network ภายนอกได้ คำว่าภายนอกนี้หมายถึง ทั้ง Network จริงที่คุณใช้งานอยู่ และ Internet โดยที่ Guest OS ของคุณนั้น ไม่จำเป็นต้องมี IP Address และ Subnet เดียวกับ Network จริงของคุณเลย

แล้วมันมีประโยชน์อะไร ?

สถานการณ์แรก สมมติว่า Network ภายในองค์กรของคุณเองได้มีการติดตั้ง Domain Controller ไว้อยู่แล้ว แต่คุณต้องการทดสอบอะไรบางอย่างซึ่งคุณยังไม่สามารถทำได้จริงบน Network ของคุณเอง, หลังจากนั้นคุณก็ได้สร้าง Virtual Machine ขึ้นมาโดย Promote Domain Controller ขึ้นมาใหม่เช่นกัน และเป็น Domain Name เดียวกับที่ใช้งานจริงเสียด้วย อีกทั้งการทดสอบของคุณนั้น จะต้องให้ผู้ใช้งานจาก Network จริงสามารถเข้าถึง Guest OS ของคุณเองได้ด้วย เมื่อเป็นเช่นนี้คุณจะทำอย่างไร หากคุณใช้ Network แบบ Bridge รับรองว่าต้องมีปัญหาเกิดขึ้นชั่วคราวที่ส่งผลกระทบต่อ Network จริงของคุณแน่นอน และการใช้งาน Network แบบ Bridge นั้นก็จะมี IP Address ที่ไป Register กับ DNS Server จริงของคุณอีกด้วย ทำให้สิ้นเปลือง IP Address มากครับถ้าหากระบบทดสอบของคุณที่สร้างขึ้นจาก VMware นั้นมีหลายโปรเจค เพราะ DHCP Server จริงของคุณก็ต้องจ่าย IP Address ให้กับ Virtual Machine เหล่านี้โดยสิ้นเปลือง

สถานการณ์ที่สอง สมมติว่าคุณได้ทำการติดตั้งระบบจำลองที่สร้างขึ้นจาก VMware Workstation เสร็จเรียบร้อยแล้ว และคุณต้องการไป Present ให้ลูกค้าดู โดยที่ลูกค้าก็จะต้องใช้งานระบบของคุณจากเครื่องคอมพิวเตอร์ของเขาได้เช่นกัน ซึ่งคุณจะทำอย่างไร หากระบบของคุณนั้นเคยตั้งค่าไว้พร้อมแล้วและใช้ได้กับ Virtual Machine ของคุณเองเท่านั้น ถ้าหากไปเปลี่ยนหรือไปเชื่อมต่อกับ Network จริงของลูกค้า อาจจะทำให้คุณได้รับ IP Address ใหม่เข้ามาจากการใช้ Network แบบ Bridge ซึ่งคุณจะต้องมาแก้ไขค่าคอนฟิกที่เกี่ยวกับเรื่อง Connection ใหม่

สถานการณ์ที่สาม สมมติว่า Network ทางฝั่งลูกค้า อนุญาตให้เครื่อง Notebook สามารถเชื่อมต่อเข้ากับ Network ได้เพียงเครื่องเดียว และมีเพียง IP Address เดียวให้กับคุณเท่านั้น แต่คุณต้องการให้ลูกค้าสามารถใช้งานระบบของคุณได้ด้วย ซึ่งการใช้ Network แบบ Bridge ก็จะไม่สามารถใช้งานได้เลย

ตัวอย่างนี้ผมจะติดตั้ง Web Server ไว้ใน Guest OS ซึ่งเป้าหมายคือ จะต้องให้ผู้ใช้งานภายนอก สามารถเปิด Website ใน Guest OS ได้ โดยที่ Guest OS นั้นไม่ได้อยู่ใน Network หรือ Subnet เดียวกับผู้ใช้งานจริงเลย

ตั้งค่า NAT บน VMware Workstation

เปิด VMware ขึ้นมาแล้วเลือกเมนู Edit > Virtual Network Editor

Virtual Network Editor

ดูจากข้อมูลที่แสดงผลอยู่ก่อนนะ ตอนนี้ Network ประเภท NAT อยู่ใน Interface ที่ชื่อว่า VMnet8 โดยที่มี IP Address อยู่ในวง 192.168.131.0 ตอนนี้เราพักหน้านี้ไว้ก่อน ให้คุณเปิด Network Connection บน Windows ขึ้นมาแล้วค้นหา Network Interface Card ที่ชื่อว่า VMnet8

Finding VMnet8 Interface card

ให้เปิดดู IP Address ของ Interface VMnet8

VMnet8 IP Address

ตอนนี้ Interface Card ของ VMnet8 นั้นมี IP Address เป็น 192.168.131.1 นะ จำไว้ก่อน, ปิดหน้านี้ไปแล้วกลับไปที่ Virtual Network Editor อีกครั้ง, คลิก NAT Settings

NAT Settings

จะพบว่า มี Gateway IP คือ 192.168.131.2

มาทดสอบความจริงกันก่อนครับ บนเครื่อง Host OS หรือ Windows ของเราเอง เปิด Command Prompt ขึ้นมา แล้วลอง Ping ทั้ง 192.168.131.1 และ 192.168.131.2 ดู

Ping VMnet8

ผลลัพธ์การ Ping จะพบว่า เราสามารถ Ping 192.168.131 ได้ นั่นเพราะเป็นผลการ Reply มาจาก Virtual Network Interface Card ที่ชื่อ VMnet8 นั่นเอง ส่วน 192.168.131.2 นั้นไม่มีการระบุไว้ใน Network Card ใด ๆ เลย จึงไม่สามารถ Reply กลับมาได้

คราวนี้เลือก Virtual Machine มาตัวนึง แล้วคลิกขวา เลือก Settings จะเปิดหน้า Virtual Machine Settings

Virtual Machine Settings

ให้ตั้งค่า Network Adapter ของ VM ตัวนี้ไว้เป็น NAT แล้วก็ Power on VM นี้ขึ้นมาเลย โดยใน Guest OS นี้ให้ตั้งค่า IP Address ตามนี้

Configure IP Address

บน Guest OS มี IP Address เป็น 192.168.131.3 ซึ่งเป็น Network เดียวกับ VMnet8 รวมทั้งตั้งค่า Gateway และ DNS ไปที่ IP 192.168.131.2 เพิ่มเติม แต่คุณจะเห็นว่ามี DNS IP 192.168.131.20 ซึ่งนั่นอาจเป็น DNS ภายใน Virtual Machine อื่นของคุณในระบบก็ได้ แต่ผมให้เพิ่ม 192.168.131.2 ลงไปสำรองไว้ ซึ่งจำได้ไหมว่า IP Address นี้ คือ Gateway IP ในหน้า NAT Settings นั่นเอง ซึ่งจะเป็น Gateway ที่นำพา Guest OS เรานี่แหล่ะออกไปสู่ Network ภายนอกได้

ถ้างั้นลอง Ping 192.168.131.2 นี้ดูอีกครั้ง แต่คราวนี้ให้ Ping ใน Guest OS

Ping Gateway from Guest OS

อ้าว ปรากฏว่า Ping ได้ซะงั้น การ Ping 192.168.131.1 ก็คือเป็นการ Ping ไปยัง VMnet8 เหมือนกับการ Ping บน Host OS แต่ทำไมจึงสามารถ Ping 192.168.131.2 ได้ นั่นเพราะว่ามันเป็น Virtual IP Address ที่ถูกสร้างขึ้นมาโดย VMware นั่นเอง มันไม่ได้ถูกกำหนดให้กับ Interface ใด ๆ เลย แต่กำหนดไว้ให้กับ Guest OS ใช้เป็น Gateway เพื่อกระบวนการ NAT เท่านั้น ถึงตอนนี้ Guest OS เราสามารถออกสู่ Internet ได้แล้ว และก็ติดต่อกับ Network ภายนอกได้

Ping External Network

จะเห็นว่า IP Address ของ Guest OS นั้นเป็น 192.168.131.3 แต่สามารถ Ping ไปยัง 192.168.1.1 ที่อยู่ต่าง Network ได้ แล้วก็ยังสามารถ Ping ไปยัง Google ได้อีกด้วย

Ping to Google

เป็นผลมาจากการตั้งค่า Gateway IP และ DNS ไปที่ 192.168.131.2 นั่นเอง ตรงนี้ Clear แล้วนะว่าต้องตั้งค่า IP Address ให้กับ Guest OS อย่างไร จึงจะสามารถติดต่อภายนอกได้

คราวนี้เราต้องตั้งค่า NAT Settings ให้ภายนอกสามารถติดต่อกลับเข้าไปภายในได้ โดยภายใน VM เราได้ทำการสร้าง Website ไว้ดังนี้

WebSite Test

ซึ่งแน่นอน ถ้าหากตอนนี้เครื่อง Windows ภายนอกเรียก IP 192.168.131.3 แบบตรง ๆ จะไม่สามารถเข้าถึง Website ได้เลย เพราะมันไม่มีอยู่ใน Network จริง แต่มันอยู่ใน Virtual Machine ซึ่งเราจะต้องตั้งค่า Port Forwarding

การทำ Port Forwarding บน VMware Workstation

เปิด Virtual Network Editor > NAT Settings มาอีกครั้ง คลิกปุ่ม Add

Port Forwarding

เริ่มต้นเราจะตั้งค่า Port Forwarding ให้กับ Web Server ซึ่งก็คือ TCP Port 80 โดยบอกว่า ถ้ามีการเชื่อมต่อมายัง Port 80 ก็ให้ส่งผ่านไปยัง Guest OS ที่มี IP 192.168.131.3

เอาล่ะตอนนี้เราพร้อมแล้ว มาพูดถึงการ Access กันว่าเราจะเข้าใช้งานอย่างไร โดยผมแบ่งเป็น 2 กรณี คือการเข้าไปยัง Guest OS จาก Host OS เอง และ จากเครื่องอื่น ๆ

สำหรับเครื่อง Host OS เราสามารถเรียก IP Address ของ Guest OS ได้ตรง ๆ นั่นคือ 192.168.131.3 ได้เลย เพราะมันติดต่อกันผ่าน Interface VMnet8 อยู่แล้ว

Host OS Access to Guest OS

สำหรับเครื่องอื่น ๆ ที่อยู่ใน Network แล้วต้องการเข้าใช้งาน Guest OS จะต้องทราบ IP Address ของเครื่อง Host OS ก่อน แล้วให้เรียกผ่านไปยังเครื่อง Host OS ตรง ๆ เลย (ไม่ต้องเรียก IP ของ Guest OS) ซึ่งถ้าหาก Packet นั้นเข้ามาตาม Port ที่ได้ตั้งค่า Port Forwarding ไว้ ตัว VMware จะทำการส่งต่อ Packet ดังกล่าวไปให้กับ Guest OS เอง

Any computer connect to Guest OS

เราสามารถเพิ่ม Port อื่น ๆ ตามการใช้งานที่เหมาะสมได้อีก เช่น Port Remote Desktop เพื่อให้สามารถ Remote เข้าไปยัง Guest OS ได้ หรือ Port POP3 และ SMTP เพื่อทดสอบระบบการรับ ส่งอีเมล โดยที่ไม่ต้องกังวลว่าจะมีอะไรใน Virtual Machine ของเราไปกระทบกับ Network ภายนอกเลย

Share
comments

Interest:

Last Article

mcse-windows-server-2016แนวทางการสอบ MCSE Windows Server 2016 และการสอบ MCSA Windows Server...
28/06/2017
windows-server-2016-course-onlineอบรม Windows Server คอร์สออนไลน์ภาษาไทย ก้าวสู่ System Admin กับ Windows...
06/06/2017
update-ms17-010-wannacryptอัพเดท Windows ป้องกัน WANNACRY ไวรัสเรียกค่าไถ่ WannaCrypt หรือ Wana...
15/05/2017
windows-server-2016มีอะไรใหม่ใน Windows Server 2016 แนะนำฟิเจอร์ที่น่าสนใจจาก E-book...
12/03/2017
cd-windows-failover-cluster-thaiCD สอนการติดตั้งระบบ Failover Cluster ภาษาไทย บน Windows Server 2012 R2...
16/04/2016