Pd(Paralles Desktop)是Mac下非常好用的虚拟机软件,速度非常快。pd之所以比较快,是因为它采用了半虚拟化的方式,
从网卡类型处可以见一些端倪,下图中的virtio,很强大就对了。
声明:以下描述中,虚拟机指在pd中所安装的虚拟机,如cent os等linux发行版。
需求:
- 给虚拟机配置表态ip,如192.168.6.10/24。
- 无论mac是否已经连接外网,在mac上都可直接连接到虚拟机的内网地址。
- 当mac连接到外网时,虚拟机也可以连接到外网。
安装pd之后,会在mac中增加一个虚拟网卡,这个是pd用于把虚拟机和宿主系统如mac互联的网络接口,相当于虚拟机和宿主系统之间的一个交换机,如下所示。
也可以在终端使用命令行来查看。
vnic0中的vnic是指virtual net interface card,即虚拟网络接口,后面的0对应的是图一左上角虚拟网卡中的#0,即蓝色部分,它表示pd安装的第0块网卡。
以上两个图中显示的是同一块刚卡,因此ip都是192.168.6.2。这个并不是我在图一中的“ip address”中配置的,它是在pd中配置的。
可以打开pd的偏好设置里面进行相关设置。
图三中配置的是shared模式,即让我们的虚拟机与mac共享外网,红色框框中的enable ipv4 dhcp是用来打开内置的dhcp服务,熟悉nat模式的同学都知道,这就是让虚拟机通过nat模式上网的方式。下面蓝色框框中的start address等三个输入框是用来确认dhcp的地址池,即虚拟机采用dhcp方式可自动获取的ip地址的范围。
如果用dhcp获取ip的话,虚拟机中的ip地址就不固定,也许下次开机时就换了个新的ip,那么每次都要去查看下新的ip才能连接到虚拟机。因此我需要把虚拟机设置为固定ip,即静态ip,所以没有勾选enable ipv4 dhcp,也就是说要手动配置ip,需要填写地址池,因为这是在借助nat的方式,虚拟机中所配置的ip地址必须要属于此ip地址范围,而且这不仅是为了配置虚拟机的ip范围,还要给pd在宿主机上的虚拟网卡vnic0分配地址。
之后,确认一下配置,如图四所示。
将网卡network1(我只配置了一块,具体以大家实际需求为准)的source源选择为Shared Network,也就是将虚拟机的网卡绑定到此Shared Network,Shared Network就是上面图四中的连接方式Shared,这样虚拟机便可与mac共享网络。
还没完,还需要配置虚拟机的ip。
启动虚拟机后,进入网卡文件的配置目录,用vim编辑网卡配置文件,我这里的网卡配置文件是ifcfg-eth0,具体以大家实际的为主。如图五所示。
使用的命令是
vi /etc/sysconfig/network-scripts/ifcfg-eth0
图中的bootproto采用的是static,表示静态,也可以写成none,大小写均可。接下来的是手动配置的ip,主要注意的是GATEWAY网关,这里配置的是192.168.6.1,并不是图一或图二中的192.168.6.2,因为我们并不是把mac当成Ip数据报文转发路由器(如同vmware中使用仅主机模式共享网络,然后虚拟机把网关指向vmware所共享的网卡ip),而是当成nat路由器,当采用nat方式为虚拟机提供网络服务时,pd会单独为虚拟机生成一个网关地址,这通常是地址池中的第1个ip,如图三中的起始地址,而图二中vnic0的地址是地址池中的第2个ip,即192.168.6.2。
编辑完文件后,重启网络,我的虚拟机是centOs6.3,执行的命令是
service network restart
如图六所显示,配置成功。
我们在网卡配置文件中已经设置好了GATEWAY是192.168.6.1,这是虚拟机上网的关键,可以用ip r命令验证一下路由表,如图七所示。
如果mac的外网是通的,现在可以在虚拟机中用ping命令测试下网络了,如图八所示,网是通的。
ping自己的mac主机也可以,如图九所示。
接下来在mac上直接访问虚拟机试试看,这里用ssh连接虚拟机的ip地址192.168.6.10,如图十所示,通了。
自此便实现了mac通过内网连接虚拟机,虚拟机又可以通公(外)网。