本来我想写一篇很高深的文章作为虚拟化技术分类的开篇。昨天晚上上课的时候,某个比较2,缺乏计算机常识的同学拿着他的苹果笔记本到课上演示程序,结果弄了一晚上没搞定,用非苹果电脑的都搞定了。我说你给我买20块钱的苹果,我教教你。

情况是这样的,做一个并行计算的小程序,两台机器或者多台机器连起来,可用虚拟机。由于他的苹果没有投影仪接口,另一个同学的电脑配置不高,跑两台机器有点卡,他们就打算连接两台物理机里的虚拟机,用非苹果电脑演示。

(1)他们在宿舍可以连,原因如下:

物理机用p1,p2表示,虚拟机用v1,v2表示。

v1,v2分别用VMware的桥接方式,由于学校宿舍的IP都是dhcp配置且都是公网地址,所以两个虚拟机都获得了一个公网地址,直接可以相连。

知识点:VMware的桥接方式,相当于把一个网卡分成多个使用,一根网线分成多条使用,可以分多少个不清楚,如果可以分100个,你在一个笔记本可以占用100个公网地址,这个世界太不公平了。某2b同学还记不记得有次苹果电脑上不去网了,里面的虚拟机还能上网?

(2)他们在教室可以用无线网,虚拟机里不能上网:

理论上如果用桥接方式虚拟机也可以上无线网,不过他们的虚拟机是Linux,是的,Linux也可以上无线网,不过,好像他们的Linux虚拟机里没有无线驱动,那好吧,某2b同学以为两个虚拟机都能上网了,就可以连了,不愧是学计算机的。

(3)让他们的虚拟机可以上网,很容易:

只要把虚拟机的网络连接方式设成NAT就行了,这时虚拟机实际上是通过主机上网的,主机相当于一个路由器,而且这个路由器提供DHCP,只要主机能上网,虚拟机就能上网。

(4)只要虚拟机能上网,两个虚拟机就能相连了吗?

图样图森破,乃义务。一般192.168.x.x和10.0.x.x(具体我忘了)是保留用来做NAT的。

p1外网IP118.229.221.5  v1 IP地址192.168.1.2

p2外网IP59.64.179.22    v2 IP地址192.168.1.3

v1发送了个包 源地址是192.168.1.2 目标地址是192.168.1.3

到了p1,被改成  源地址是118.229.221.5 目标地址是192.168.1.3

可是,到哪去找这个192.168.1.3呢? naive!!

上面说的是用NAT的方式上网,当然,虚拟机里安上网卡驱动可以用桥接的方式上网,但我觉得无线网一般都是内网地址,连上的可能性不大。

(5)怎么让两个虚拟机连起来呢?

找个网线把两个电脑连起来,两个虚拟机都改为桥接方式,然后配置成一个网段的IP,就可以连起来了。