ระหว่างการสร้าง VM ให้ตั้งค่าเครือข่ายเป็น NAT
บน Linux Guest:รัน ifconfig เพื่อรับที่อยู่ฮาร์ดแวร์HWaddr
, ที่อยู่ออกอากาศBcast
, ที่อยู่อินเทอร์เน็ต IPv4 inet addr
และรูปแบบMask
การใช้งาน
UbuntuGuest$ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:53:bf:e5
inet addr:192.168.213.129 Bcast:192.168.213.255 Mask:255.255.255.0
<snip>
บน Linux Guest:ค้นหาข้อมูล nameserver
UbuntuGuest$cat /etc/resolv.conf
nameserver 192.168.213.2
domain localdomain
search localdomain
บน Linux Guest:ค้นหาที่อยู่เกตเวย์: (แสดงรายการในคอลัมน์เกตเวย์ของบรรทัดที่มี 0.0.0.0 เป็นปลายทาง)
UbuntuGuest$route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.213.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.213.2 0.0.0.0 UG 100 0 0 eth0
บน OS X Host:แก้ไขdhcpd.conf
ไฟล์สำหรับvmnet8
(สวิตช์เสมือน NAT) เพื่อกำหนดที่อยู่ IP คงที่ให้กับ Linux Guest (ใช้โปรแกรมแก้ไขที่คุณเลือกในบรรทัดที่สี่)
OSXHost$cd /Library/Application\ Support/VMware\ Fusion/vmnet8/
OSXHost$sudo chmod u+w dhcpd.conf
OSXHost$sudo cp dhcpd.conf dhcpd.conf.bak.20100619
OSXHost$sudo emacs dhcpd.conf
บน OS X Host:ไฟล์จะเริ่มปรากฏดังนี้:
# Configuration file for ISC 2.0 vmnet-dhcpd operating on vmnet8.
#
# This file was automatically generated by the VMware configuration program.
# See Instructions below if you want to modify it.
#
# We set domain-name-servers to make some DHCP clients happy
# (dhclient as configured in SuSE, TurboLinux, etc.).
# We also supply a domain name to make pump (Red Hat 6.x) happy.
#
###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" #####
# Modification Instructions: This section of the configuration file contains
# information generated by the configuration program. Do not modify this
# section.
# You are free to modify everything else. Also, this section must start
# on a new line
# This file will get backed up with a different name in the same directory
# if this section is edited and you try to configure DHCP again.
# Written at: 12/26/2009 10:35:10
allow unknown-clients;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hours
subnet 192.168.213.0 netmask 255.255.255.0 {
range 192.168.213.128 192.168.213.254;
option broadcast-address 192.168.213.255;
option domain-name-servers 192.168.213.2;
option domain-name localdomain;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hours
option routers 192.168.213.2;
}
host vmnet8 {
hardware ethernet 00:50:56:C0:00:08;
fixed-address 192.168.213.1;
option domain-name-servers 0.0.0.0;
option domain-name "";
option routers 0.0.0.0;
}
####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
บน OS X พิธีกร:สร้างใหม่host
รายการดังต่อไปนี้ มาตราไม่แก้ไข รายการนี้จะกำหนด IP แบบคงที่ให้กับ Linux Guest hardware ethernet
ต้องจับคู่HWaddr
จากifconfig
บน Linux Guest fixed-address
เลือกที่อยู่คงที่พร้อมใช้งานสำหรับ option broadcast-address
, option domain-name-servers
, option domain-name
และoption routers
จำเป็นที่จะต้องตรงกับตัวเลือกที่กำหนดในส่วนของsubnet
dhcpd.conf
(ซึ่งเราได้จับคู่กับข้อมูลที่รวบรวมบน Linux Guest แล้ว) ในตัวอย่างนี้รายการโฮสต์คือ:
####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
host serpents-hold {
hardware ethernet 00:0c:29:53:bf:e5;
fixed-address 192.168.213.3;
option broadcast-address 192.168.213.255;
option domain-name-servers 192.168.213.2;
option domain-name localdomain;
option routers 192.168.213.2;
}
ใน OS X Host ให้บันทึกdhcpd.conf
และปิดโปรแกรมแก้ไขของคุณ
บน OS X Host และแขกทั้งหมด:ปิด VMs และ VMware ทั้งหมด
บน OS X Host:เริ่มบริการ VMware ใหม่:
OSXHost$cd /Library/Application\ Support/VMware\ Fusion/
OSXHost$sudo ./boot.sh --restart
บน OS X Host:ค้นหาActivity Monitor
และตรวจสอบให้แน่ใจว่ากระบวนการสองกระบวนการแต่ละชื่อvmnet-dhcpd
กำลังทำงาน (อันหนึ่งสำหรับvmnet8
เครือข่าย NAT อีกอันสำหรับเครือข่ายโฮสต์เท่านั้น) หากคุณไม่เห็นทั้งคู่อาจมีปัญหากับvmnet8/dhcpd.conf
ไฟล์ในโฮสต์ OS X แก้ไขและเริ่มบริการ VMware ซ้ำ
บน OS X Host:เริ่ม VMware และ Linux Guest VM
บน Linux Guestบน VM guest ตรวจสอบว่าการตั้งค่าเป็นไปตามที่คาดไว้:
UbuntuGuest$ifconfig
eth0 Link encap:Ethernet HWaddr 00:0c:29:53:bf:e5
inet addr:192.168.213.3 Bcast:192.168.213.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe53:bfe5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:103 errors:0 dropped:0 overruns:0 frame:0
TX packets:71 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:10961 (10.9 KB) TX bytes:9637 (9.6 KB)
lo <snip>
UbuntuGuest$cat /etc/resolv.conf
nameserver 192.168.213.2
domain localdomain
search localdomain
UbuntuGuest$route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.213.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.213.2 0.0.0.0 UG 100 0 0 eth0
UbuntuGuest$
บน Linux Guest:ตรวจสอบว่าโลกภายนอกสามารถเข้าถึงได้:
UbuntuGuest$ping google.com
PING google.com (72.14.213.104) 56(84) bytes of data.
64 bytes from pv-in-f104.1e100.net (72.14.213.104): icmp_seq=1 ttl=128 time=47.6 ms
64 bytes from 2.bp.blogspot.com (72.14.213.104): icmp_seq=2 ttl=128 time=48.7 ms
64 bytes from 2.bp.blogspot.com (72.14.213.104): icmp_seq=3 ttl=128 time=48.2 ms
^C
--- google.com ping statistics ---
4 packets transmitted, 3 received, 25% packet loss, time 3093ms
rtt min/avg/max/mdev = 47.687/48.223/48.714/0.491 ms
UbuntuGuest$
บน OS X Host:เพิ่มการจับคู่ชื่อโฮสต์ไปยังhosts
ไฟล์:
OSXHost$cd /etc
OSXHost$sudo emacs hosts
เพิ่มบรรทัดต่อท้ายไฟล์โฮสต์โดยใช้ชื่อโฮสต์ของ Linux Guest และที่อยู่ IP ที่กำหนดไว้ด้านบน
192.168.213.2 serpents-hold
บน OS X Host:บันทึกไฟล์และออกจาก emacs
บน OS X Host:ทดสอบว่า Linux Guest สามารถเข้าถึงได้โดยชื่อโฮสต์:
OSXHost$ping serpents-hold
PING serpents-hold (192.168.213.3): 56 data bytes
64 bytes from 192.168.213.3: icmp_seq=0 ttl=64 time=0.169 ms
64 bytes from 192.168.213.3: icmp_seq=1 ttl=64 time=0.244 ms
^C
--- serpents-hold ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.169/0.207/0.244/0.037 ms
OSXHost$