【Vmware】网络
三种联网方式
NAT(网络地址转换 )
默认网卡使用
VMnet8
,使用NAT技术,主机能上网,虚拟机就可以访问Internet,但是主机不能访问虚拟机。
原理
NAT 是Network address translate的简称。NAT技术应用在internet网关和路由器上,比如192.168.0.123这个地址要访问internet,它的数据包就要通过一个网关或者路由器,而网关或者路由器拥有一个能访问internet的ip地址,这样的网关和路由器就要在收发数据包时,对数据包的IP协议层数据进行更改(即NAT),以使私有网段的主机能够顺利访问internet。此技术解决了IP地址稀缺的问题。同样的私有IP可以网关NAT上网。
VMWare的NAT上网也是同样的道理,它在主机和虚拟机之间用软件伪造出一块网卡,这块网卡和虚拟机的ip处于一个地址段。同时,在这块网卡和主机的网络接口之间进行NAT。虚拟机发出的每一块数据包都会经过虚拟网卡,然后NAT,然后由主机的接口发出。
虚拟网卡和虚拟机处于一个地址段,虚拟机和主机不同一个地址段,主机相当于虚拟机的网关,所以虚拟机能ping到主机的IP,但是主机ping不到虚拟机的IP。
联网方式
- 动态IP地址:
主机是静态IP或动态IP,都无所谓,将虚拟机设置成使用DHCP方式上网,Windows下选择自动获取IP
,linux下开启DHCP服务即可。(这种方法最简单,不用过多的设置,但要在VMware中进行编辑→虚拟网络设置
,将NAT和DHCP都开启了。一般NAT默认开启,DHCP默认关闭) - 静态IP地址
如果不想使用DHCP,也可以手动设置,IP设置与vmnet1同网段,网关设置成vmnet8的网关(在虚拟网络设置
里的Net选项卡里能找到Gateway)通常是xxx.xxx.xxx.2
。
子网掩码设置与VMnet8相同(设置好IP地址后,子网掩码自动生成)
DNS设置与主机相同。
例如:主机IP是10.70.54.31
,设置虚拟机IP为10.70.54.22
。Netmask
,Gateway
,DNS
都与主机相同即可实现:虚拟机<----->主机,虚拟机<----->互联网通信。
Brigde(桥接)
默认网卡使用
VMnet0
,主机网卡处在一个可以访问Internet的局域网中,虚拟机才能通过Bridge
访问Internet。
原理
Bridge 桥
就是一个主机,这个机器拥有两块网卡,分别处于两个局域网中,同时在"桥
"上,运行着程序,让局域网A
中的所有数据包原封不动的流入B
,反之亦然。这样,局域网A
和B
就无缝的在链路层连接起来了,在桥接时,VMWare
网卡和物理网卡应该处于同一IP
网段,当然要保证两个局域网没有冲突的IP
。
VMWare
的桥也是同样的道理,只不过,本来作为硬件的一块网卡,现在由VMWare
软件虚拟了!当采用桥接时,VMWare
会虚拟一块网卡和真正的物理网卡就行桥接,这样,发到物理网卡的所有数据包就到了VMWare
虚拟机,而由VMWare
发出的数据包也会通过桥从物理网卡的那端发出。
所以,如果物理网卡可以上网,那么桥接的软网卡也没有问题了,这就是桥接上网的原理了。
联网方式
这一种联网方式最简单,在局域网内,你的主机是怎么联网的,你在虚拟机里就怎么连网。把虚拟机看成局域网内的另一台电脑就行了!
Host-Only(私有网络共享主机)
默认网卡使用
VMnet1
,Host-only
技术只用于主机和虚拟机互访,于访问internet
无关。
原理
提供的是主机和虚拟机之间的网络互访。只想让虚拟机和主机之间有数据交换,而不想让虚拟机访问Internet
,就要采用这个设置了。
Host-only
的条件下,VMWare
在真正的Windows
系统中,建立一块软网卡。这块网卡可以在网络连接中看到,一般是VMNET1
,这块网卡的作用就是使Windows
看到虚拟机的IP
。
联网方式
- 动态IP地址。
像上面那样开启DHCP
后,虚拟机直接自动获取IP地址和DNS
。就可以和主机相连了。当然,还要进行一些局域网共享的操作,这里不再赘述。 - 静态IP地址。
也可以手动设置,将虚拟机IP
设置与VMnet1
同网段,网关设置成VMnet1
的网关相同,其余设置与VMnet1
相同,
DNS
设置与主机相同。
例如:
VMnet1
:IP
:172.16.249.1
;Gateway
:172.16.249.2
虚拟机
:IP
:172.16.249.100
;Gateway
:172.16.249.2
这样虚拟机<--->主机可以通信,但是虚拟机<--->互联网无法通信 。
域名服务的工作流程
- 从本地
hosts
中寻找域名->ip
的映射关系。 - 如果本地
hosts
中没有该域名,则向外部的DNS
服务器查询。 - 拿到
ip
地址,就发出真实的请求。
评论区