如何使用sourceCRT连接vmware中的虚拟主机?
在进入主题之前,我们要先了解一些概念。
-
一些你应该知道的简单的概念
-
内网地址
-
我们首先要了解一下所谓的内网地址,以下面三种形式开头的被称为内网地址:
10.x.x.x
172.16.x.x到172.31.x.x
192.168.x.x
所以的内网地址就是说这些地址只在局域网内使用,在公网上,你是不能够使用这些地址的。当然还有一个127.0.0.1是本机的回路地址,这个地址只能你本机使用,使用这个地址发送数据,数据只会在你的本机转而不会跑到外面去。
上面的那些内网地址有什么用呢?
-
NAT
内网地址被广泛应用于NAT之中,所谓NAT就是指网络地址转换,当然这篇文章不会讲太多的理论性的东西,总而言之,这个东东有什么用呢?
我们知道,现在ipv4的地址已经基本耗尽,为了尽量延缓缺少地址的尴尬,人们相方设法来地址复用,因此就出现了内网地址,内网地址就是说这些地址只能在一个局域网里面使用,在公网外面是看不到这些地址的,如果说,现在局域网的某台机器想要连接到互联网了,那应该怎样处理呢?
这个时候就是NAT大显神通的时候了,在局域网内部存在着和公网连接的网关或者路由器,这些家伙有着这个局域网为数不多的公网地址,局域网的主机要向外部发送的数据的都会经过这些网关,网关做了一些处理:将源地址改为了自己的公网地址,然后将该目的地址和局域网的地址记录下来,下一次当目标主机传送数据到该网关(路由)的时候,该网关做了一个转换处理,将ip数据包的目的地址改为了对应的(前面已经做了记录)局域网地址(内网地址),这大概就是NAT的原理。想要详细了解的可以查看相关的资料。
这样以来,从公网上来看,我们的局域网只有若干个地址,但是这若干个地址却实现了让多台主机接入互联网,这就是NAT技术所带来的好处,它大大减少了公网地址的消耗。
其实NAT离我们非常近,有可能你就是使用NAT接入互联网的,你只要查看自己的ip是不是内网地址,然后自己也能连入互联网的话,那就八九不离十了。
-
DHCP
在这篇文章里还有一个概念是DHCP,也称作动态主机配置协议,这个协议主要的作用就是动态分配ip地址,前面说了,ip地址现在很紧张,除了使用内网地址之外,还可以采用动态的形式来分配ip地址,因为其实很多主机并不是同时在线,如果主机不在线,那么分配给该主机的ip地址就暂时浪费掉了,为了减少这种浪费,人们想出了这种方式来分配ip,它的操作流程如下:
某台主机如果想上网,那么它向DHCP服务器发送请求,DHCP服务器会分配给该主机一个ip地址,该主机可以通过该地址连接互联网,如果什么时候该主机下线了,DHCP服务器会检测到,它因此会回收该地址,以便分配给需要的主机。同样的,需要了解具体细节的可以查看相关的资料。
NAT可以和DHCP混在一起使用,这样就可以节省更多的地址了。
-
交换机
本文还有一个概念就是交换机,所谓的交换机,我也不扯得太深,这个东西经常在家里或者寝室里使用,如果你们宿舍的网线插口只有一个,而你们寝室有很多人要上网,怎么办?比较廉价的解决方案就是买一个交换机,从而分出更多的接口,这里也可以看出交换机的作用,好吧,其实没啥作用,无非就是让多台主机连接到一个网络里面。
?
有了前面的那些概念,我们理解起vmware的网络设置就会简单很多。
-
在vm下的一些示例
-
bridged(桥接模式)
-
在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器。也就是说vmware如同一个交换机,将虚拟主机和主机连接在了同一个局域网内。
在桥接模式下,你需要手工为虚拟系统配置IP地址、子网掩码,而且还要和宿主机器置于同一网段,这样虚拟系统才能和宿主机器进行通信。同时,由于这个虚拟系统是局域网中的一个独立的主机系统,那么就可以手工配置它的TCP/IP配置信息,以实现通过局域网的网关或路由器访问互联网。
?
使用桥接模式的虚拟系统和宿主机器的关系,就像连接在同一个Hub上的两台电脑。想让它们相互通讯,你就需要为虚拟系统配置IP地址和子网掩码,否则就无法通信。
?
我们来看一看怎样操作吧!
然后我们设置虚拟机的网络连接方式为桥接模式。
然后在虚拟机里面设置主机的ip:
配置完成之后我们用secureCRT连接该主机。
轻松连接成功。
然后是第二种方式,通过NAT。
-
NAT(网络地址转换模式)
就如同前面的所述说的一样,这种模式其实是最为简单的。一般我们几乎不怎么配置就可以让虚拟机实现连接互联网。
使用NAT模式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。NAT模式下的虚拟系统的TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机 器能访问互联网即可。
如果你想利用VMWare安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,建议你采用NAT模式。
我的另一台虚拟主机ubuntu恰好是用这种方式实现上网的,因此我在这里展示一下。
一般vmware会提供一个虚拟网络编辑器,在这里你可以对某些东西进行控制,下图的VMnet8代表NAT模式我们来设置一下:
点击DHCP设置,我们可以控制DHCP分配的地址的起始和分配的时间等信息。
下面注意了,我的ubuntu虚拟机配置的是NAT模式:
然后在虚拟主机中进行配置:
或许你的主机压根就不必配置,即可上网。我们现在来查看一下ip地址:
这个时候如果你的主机能够连接上互联网,那我们的虚拟主机就可以直接上网了。那么请问这个时候可不可以在主机上使用secureCRT来连接虚拟主机呢?我尝试了一下,结果在ubuntu下不行,在redhat下面可以。
下面以redhat为例:
前戏不多说,设置主机的网络连接方式为NAT,下面是我的虚拟主机的地址:
看一下我的secureCRT的配置:
结果是轻松连上,看一下
再次看一下我的Vmnet8的配置:
-
host-only(主机模式)
在某些特殊的网络调试环境中,要求将真实环境和虚拟环境隔离开,这时你就可采用host-only模式。在host-only模式中,所有的虚拟系统是可以相互通信的,但虚拟系统和真实的网络是被隔离开的。
在host-only模式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连。
在host-only模式下,虚拟系统的TCP/IP配置信息(如IP地址、网关地址、DNS服务器等),都是由VMnet1(host-only)虚拟网络的DHCP服务器来动态分配的。
在这种模式下,我们无法实现secureCRT连接到虚拟主机。
-
关于VMnet0,VMnet1和VMnet8
我们可以在虚拟网络编辑器中看到这些东西,这些东西代表什么呢?
VMnet8代表NAT模式下的虚拟网络,VMnet1代表host-only模式下的虚拟网络,以及VMnet0代表bridged模式下的虚拟网络,这些都是由VMWare虚拟机自动配置而生成的,不需要用户自行设置。VMnet8和VMnet1提供DHCP服务,VMnet0虚拟网络则不提供。其实也很好理解啦,bridged模式下主机和虚拟主机相当于一个局域网内的两台主机,当然只有享受DHCP的份了。
网络连接VMnet1是host-only方式,在host-only方式下,虚拟系统和宿主机器系统是可以相互通信的,相当于这两台机器通过双绞线互连,仅将虚拟机和主机连上了,默认情况下,虚拟机只能到主机访问,可以与主机相互共享文件,但是虚拟机无法访问外部互联网。
网络连接VMnet8是NAT方式,就是让虚拟系统借助NAT(网络地址转换)功能,通过宿主机器所在的网络来访问公网。也就是相当于给你一个虚拟交换机,将虚拟机和真实系统连上去了,这样虚拟机和真实系统可以相互共享,同时可以实现在虚拟操作系统里访问互联网。其中TCP/IP配置信息是由VMnet8(NAT)虚拟网络的DHCP服务器提供的,无法进行手工修改,因此虚拟系统也就无法和本局域网中的其他真实主机进行通讯。
参考材料
下面的东西是本人当初做的一些记录,大家可以参考:
?
一般来说,在vmware下采用NAT方式连接网络是最常见和最方便的。如果你只有一个外网地址,此种方式很合适。
- 设置本地网络连接为共享状态,并且共享给VMnet8:
我们需要打开vmware的虚拟网络编辑器来设置VMnet8,如下图所示:
这其中有两项要查看,一项是NAT设置,一项是DHCP设置。
在VAT设置中我们要记录下网关ip,这个东西在后面的设置中将会用到。
在DHCP设置中,我们要记录下起始结束的ip地址,有了这个范围,在redhat中就很好配置了。
-
在redhat中设置
在应用程序—>其他—>KDE系统设置—>Network Settings。
Network Connections—>wired—>选择连接—>edit(编辑)。
然后就是设置了,按照下图进行设置:
如果我们需要上网的话,需要填写DNS servers,这个设置其实可以填写得和你的主机一致,如我的就填写了一个114.114.114.114,设置完成之后就可以按下ok了,最后还要应用一下。
现在你启动火狐,应该就可以上网了。
这里需要注意一下的是,如果你想用sourceCRT连接到redhat主机,DNS servers大可不用填写,填写之后反倒是连不上了。
CRT连接虚拟机中的RedHat enterprise
首先要保证主机和虚拟机处在同一个网段,下面以我的机器为例:
让主机和虚拟机以桥接方式连接,然后在redhat里面设置:
这样之后,通过sourceCRT就能够和主机连在一起了。
-