虚拟机和windows的网络连接原理(转载http://blog.sina.com.cn/s/blog_601bc5cf0101d32z.html)。
1、问题:由于业务需要,个人笔记本电脑上用Vmware安装了3台Ubuntu虚拟机,现要求pc机连入局域网后,四台机器(3台ubuntu虚拟机+1台宿主机)能上网,并且,虚拟机要使用某一网段的固定IP。
2、思路:在pc上安装了若干虚拟机,可认为这是独立的机器,虚拟机和宿主机的连接方式有桥接模式、NAT模式、Host-Only模式,结合本人需求,采用NAT+固定IP的模式。
3、理论:
虚拟机NetworkAdapter三种方式的区别
Vmware在安装时默认安装了两块虚拟网卡,VMnet1和VMnet8,另外还有VMnet0。这些虚拟网卡的配置都是由Vmware虚拟机自动生成的,一般来说不需要用户自行设置。
Vmware提供了三种网络连接模式,分别为
1)、bridged(桥接模式):默认使用VMnet0,不提供DHCP服务
在桥接模式下,虚拟机和宿主计算机处于同等地位,虚拟机就像是一台真实主机一样存在于局域网中。因此在桥接模式下,我们就要像对待其他真实计算机一样为其配置IP、网关、子网掩码等等。
当我们可以自由分配局域网IP时,使用桥接模式就可以虚拟出一台真实存在的主机。
2)、NAT(网络地址转换模式):默认使用VMnet8,提供DHCP服务
在NAT模式下,宿主计算机相当于一台开启了DHCP功能的路由器,而虚拟机则是内网中的一台真实主机,通过路由器(宿主计算机)DHCP动态获得网络参数。因此在NAT模式下,虚拟机可以访问外部网络,反之则不行,因为虚拟机属于内网。
使用NAT模式的方便之处在于,我们不需要做任何网络设置,只要宿主计算机可以连接到外部网络,虚拟机也可以。
NAT模式通常也是大学校园网Vmware最普遍采用的连接模式,因为我们一般只能拥有一个外部IP。很显然,在这种情况下,非常适合使用NAT模式。
3)、Host-only(主机模式):默认使用VMnet1,提供DHCP服务
在Host-only模式下,相当于虚拟机通过双绞线和宿主计算机直连,而宿主计算机不提供任何路由服务。因此在Host-only模式下,虚拟机可以和宿主计算机互相访问,但是虚拟机无法访问外部网络。
当我们要组成一个与物理网络相隔离的虚拟网络时,无疑非常适合使用Host-only模式。
虚拟机和windows的具体配置。
1)、NAT设置 记录虚拟网络的子网,打开VMware,Edit->Virtual network editor。
由于NAT模式默认使用的虚拟网卡为VMnet8,并且使用DHCP协议自动给虚拟机分配IP,查看
ip:192.168.1.0
掩码:255.255.255.0
网关IP:192.168.1.2
同时设置SubnetIP()为如上的网段。
2)、在虚拟机的启动界面,分别设置3台机器的Network adapter为NAT模式。
3)、设置物理主机的虚拟网络参数,在宿主机(windows网络中心)中找到vMnet8,但不可与上面的虚拟网络的子网IP重复。子网掩码、默认网关与上面获取到的虚拟网络的子网掩码、网关保持一致。DNS可设也不可忽略,如果设置,可利用google的免费DNS:8.8.8.8和8.8.4.4。
修改后如下
ip:192.168.1.10
掩码:255.255.255.0
网关IP:192.168.1.2
4)、设置具体虚拟机的网络参数,但不可与上面的虚拟网络的子网IP、物理机迅即网络IP重复。子网掩码、默认网关与上面获取到的虚拟网络的子网掩码、网关保持一致。DNS可设也不可忽略,如果设置,可利用google的免费DNS:8.8.8.8和8.8.4.4。
在ubuntu的终端命令行,
~$ sudo gedit /etc/network/interfaces
在打开的文件中输入IP、子网掩码、网关:
auto eth0
iface eth0 inet static
address 192.168.1.20
netmask 255.255.255.0
gateway 192.168.1.2
~$ sudo gedit /etc/resolv.conf
(在修改完文件关闭即可返回终端指令进行下一步指令操作,我还小心翼翼的试探了半天发先不能返回指令操作界面,直接关了就好。)
在打开的文件中修改当前网络的DNS,如:
nameserver 8.8.8.8
重启网卡命令 :sudo/etc/init.d/networking restart.
接下来就是见证奇迹的时刻:
在windows cmd指令里输入 ipconfig 查看windows下的VMnet8 ip 192.168.1. 2
在liunx 终端指令里输入 ifconfig查看liunx下的自动分配的 ip 192.168.1.168
最后来个惊喜是 如果你的电脑连着网的话,直接在liunx下ping 220.181.6.19(百度的ip)也是可以通。
互相ping都ok,只想说入个门真难。