本来我想写一篇很高深的文章作为虚拟化技术分类的开篇。昨天晚上上课的时候,某个比较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,就可以连起来了。