首页 > 代码库 > VmWare 与 宿主主机通信 STEP BY STEP (适用于刚開始学习的人)
VmWare 与 宿主主机通信 STEP BY STEP (适用于刚開始学习的人)
基本原理
在虚拟机中有三种通信方式,例如以下图所看到的
1. Bridged(桥接模式)
在桥接模式下,VMware虚拟出来的操作系统就像是局域网中的一独立的主机,它能够訪问网内不论什么一台机器只是你须要多于一个的IP地址,并且须要手工为 虚拟系统配置IP地址子网掩码,并且还要和宿主机器处于同一网段,这样虚拟系统才干和宿主机器进行通信
假设你想利用VMware在局域网内新建一个虚拟server,为局域网用户提供网络服务。就应该选择桥接模式
2. NAT(网络地址转换模式)
使用NAT模式。就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来訪问公网也就是说,使用NAT模式能够实如今虚拟系统里訪问互 联网NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCPserver提供的。无法进行手工改动,因此虚拟系统也就无法 和本局域网中的其它真实主机进行通讯,採用NAT模式最大的优势是虚拟系统接入互联网很easy。你不须要进行不论什么其它的配置,仅仅须要宿主机器能訪问互联网即 可
假设你想利用VMware安装一个新的虚拟系统。在虚拟系统中不用进行不论什么手工配置就能直接訪问互联网。建议你採用NAT模式
3. Host-only(主机模式)
在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可採用Host-only模式在Host-only模式中。全部的虚拟系统是能够 相互通信的,但虚拟系统和真实的网络是被隔离开的能够利用Windows XP里面自带的Internet连接共享(实际上是一个简单的路由NAT)来让虚拟机 通过主机真实的网卡进行外网的訪问虚拟系统的TCP/IP配置信息(如IP地址网关地址DNSserver等),都是由VMnet1(Host-only)虚拟 网络的DHCPserver来动态分配的
假设你想利用VMware创建一个与网内其它机器相隔离的虚拟系统,进行某些特殊的网络调试工作,能够选择Host-only模式
NAT方式配置
NAT(静态IP)的配置方法
1 确保虚拟机的网卡正常。选择Edit - Virtunal Network Editor
2 查看网卡属性,确保VMnet8 Host Connection(主机连接) 的状态是Connected。假设没有连接上能够点击左下角的Restore Defaultbutton恢复默认设置。
3 点击 NAT Settingsbutton,能够查看到网关为192.168.84.2。
记下此时的网关,为后面的配置做准备。
4 进入虚拟机。改动eth0的配置信息
[root@TESTATEWAY=192 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 BDEVICE=eth0 HWADDR=00:0C:29:7F:EF:4C TYPE=Ethernet UUID=34adef05-91e5-4f4a-9776-df983b2a8787 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static NETMASK=255.255.255.0 IPADDR=192.168.84.101 GATEWAY=192.168.84.2 DNS1=192.168.84.2 IPV6INIT=no ARPCHECK=no确保下面的參数例如以下设置
ONBOOT=yes NM_CONTROLLED=yes
BOOTPROTO=static<span style="white-space:pre"> </span>//静态地址 NETMASK=255.255.255.0 IPADDR=192.168.84.101<span style="white-space:pre"> </span>//虚拟机IP地址(任意) GATEWAY=192.168.84.2<span style="white-space:pre"> </span>//网关(与之前看到的网关一致)
[root@TESTATEWAY=192 ~]# service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: [ OK ]
[root@TESTATEWAY=192 ~]# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:7F:EF:4C inet addr:192.168.84.101 Bcast:192.168.84.255 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe7f:ef4c/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:448 errors:0 dropped:0 overruns:0 frame:0 TX packets:223 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:39552 (38.6 KiB) TX bytes:19385 (18.9 KiB) Interrupt:19 Base address:0x2000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:65536 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
9 在命令提示行中ping虚拟机的地址192.168.84.101
C:\Users\Administrator>ping 192.168.84.101 正在 Ping 192.168.84.101 具有 32 字节的数据: 来自 192.168.84.101 的回复: 字节=32 时间=3ms TTL=64 来自 192.168.84.101 的回复: 字节=32 时间=1ms TTL=64 来自 192.168.84.101 的回复: 字节=32 时间<1ms TTL=64 来自 192.168.84.101 的回复: 字节=32 时间<1ms TTL=64 192.168.84.101 的 Ping 统计信息: 数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失)。 往返行程的预计时间(以毫秒为单位): 最短 = 0ms,最长 = 3ms,平均 = 1ms
ping通后能够使用如Xshell等 支持SSH协议的工具连接虚拟机,简化操作。
虚拟机上网设置
1 当前模式下,检查是否能ping通外网。以下结果说明能够ping通
[root@TESTATEWAY=192 ~]# ping baidu.com PING baidu.com (220.181.111.86) 56(84) bytes of data. 64 bytes from 220.181.111.86: icmp_seq=1 ttl=128 time=7.75 ms 64 bytes from 220.181.111.86: icmp_seq=2 ttl=128 time=51.3 ms 64 bytes from 220.181.111.86: icmp_seq=3 ttl=128 time=9.57 ms 64 bytes from 220.181.111.86: icmp_seq=4 ttl=128 time=8.38 ms 64 bytes from 220.181.111.86: icmp_seq=5 ttl=128 time=7.39 ms 64 bytes from 220.181.111.86: icmp_seq=6 ttl=128 time=7.83 ms 64 bytes from 220.181.111.86: icmp_seq=7 ttl=128 time=7.16 ms 64 bytes from 220.181.111.86: icmp_seq=8 ttl=128 time=91.2 ms ^C --- baidu.com ping statistics --- 8 packets transmitted, 8 received, 0% packet loss, time 7194ms rtt min/avg/max/mdev = 7.163/23.834/91.244/29.166 ms
2 假设是以下结果则说明ping不通外网。返回未知的主机名。
[root@TESTATEWAY=192 ~]# ping baidu.com ping: unknown host baidu.com
在文件里增加DNS地址。与网关同样就可以。
[root@TESTATEWAY=192 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 BDEVICE=eth0 HWADDR=00:0C:29:7F:EF:4C TYPE=Ethernet UUID=34adef05-91e5-4f4a-9776-df983b2a8787 ONBOOT=yes NM_CONTROLLED=yes BOOTPROTO=static NETMASK=255.255.255.0 IPADDR=192.168.84.101 GATEWAY=192.168.84.2 <span style="color:#ff0000;">DNS1=192.168.84.2</span> IPV6INIT=no ARPCHECK=no
[root@TESTATEWAY=192 ~]# service network restart Shutting down interface eth0: [ OK ] Shutting down loopback interface: [ OK ] Bringing up loopback interface: [ OK ] Bringing up interface eth0: [ OK ] [root@TESTATEWAY=192 ~]# ping baidu.com PING baidu.com (220.181.111.86) 56(84) bytes of data. 64 bytes from 220.181.111.86: icmp_seq=1 ttl=128 time=7.64 ms 64 bytes from 220.181.111.86: icmp_seq=2 ttl=128 time=8.44 ms 64 bytes from 220.181.111.86: icmp_seq=3 ttl=128 time=8.43 ms
VmWare 与 宿主主机通信 STEP BY STEP (适用于刚開始学习的人)