admin管理员组

文章数量:1539356

2023年12月26日发(作者:)

VMware Workstation实例一:双网卡的虚拟机提供外网访问

这几天在一台大内存的拥有双千兆网卡的服务器上搞了一个虚拟机做测试,目的是让虚拟机也能跟其他真实存在的机器一样成为一台服务器,为局域网和互联网提供服务。也就是说不止要让局域网的其他机器能访问到,因为有分配了一个公网的IP地址,所以也要让外网访问虚拟机。嗯?有点枯燥?那咱们配图说话(点击图片看大图):

这次安装虚拟机采用的是VMware Workstation。由于之前用虚拟机顶多就是在局域网内跑或是单机跑。所以从来都没怎么关注过VMware

Workstation的网络类型。于是马上Google和百度分别来几下。搜索到了ChinaUnix论坛上的一篇帖子:/jh/4/

感谢作者,图文并茂介绍了VMware Workstation的虚拟网络类型。经过学习之后,我决定采用Bridge方式。因为这个方式很适合用来实现我想要的功能。

逻辑上,我们在虚拟机上也建立两张网卡,再采用bridge的网络类型,把两张虚拟网卡桥接到实际存在的两张物理网卡上,再分别设置相对应的IP地址。即可。母机上的两张物理网卡,一张是接入内部交换机,网卡名字后面有#2。另外一张接入外网的路由器中。

具体上如何操作呢?下面咱们也来图文并茂给大家介绍一下。 首先,得建立虚拟机(感觉是废话),最好采用自定义建立,这样在选择网络的时候,选择Bridged方式(另外三个分别是NAT、host-only、不是用任何网络),建立好之后,先别启动虚拟机。点选如(图三)所示(点击菜单栏的Edit后,再点Virtual Network Settings…) 点了之后会出现Virtual Network Editor的界面,点击Automatic Bridging,然后把那个勾勾取消掉。再点击Host Virtual Network Mapping的标签,进入如(图四)的界面。

这里解释一下哦。因为我们需要虚拟两张网卡,然后采用的是bridge的方式,所以我们这里需要设置一下。把两张虚拟网卡桥接到母机的物理网卡上。如(图四),我们可以看到有VMnet0到VMnet9共10张虚拟网卡。其中,VMnet0默认是采用Bridge是用的虚拟网卡,VMnet8

是默认情况下NAT方式使用的虚拟网卡,VMnet1是默认采用host-only时使用的虚拟网卡。当然,这些虚拟网卡的用途,在VMware

Workstation中都是可以变更的。

现在,我们把VMnet0的栏位选择我们的物理网卡#2。再把VMnet2的栏位选择我们的物理网卡(接外网的那张。)这样,VMnet0桥接到局域网的网卡上,VMnet2桥接到外网的网卡上了。

接下来就是为新建立的虚拟机添加第二张虚拟网卡,点击VMware

Workstation主菜单上的VM,出现的下拉菜单中再点击Settings… 或是按快捷键CTRL+D。然后在出现的虚拟机编辑界面中,点击add。会出现Add Hardware Wizard的界面。再点击Ethernet Adapter后按下一步,一直到出现如(图五)的界面 ,(图五)的界面就是选择网络类型,这里我们选择自定义(Custom),然后在下拉的虚拟网卡中,选择我们之前设置过桥接的VMnet2(因为建立VMnet0已经被第一张虚拟网卡使用了)。选好之后,点完成。这样就完成了整个虚拟机爽网

卡的配置了。接下来就是挂载镜像,启动虚拟机。安装系统。系统安装完成之后,可以看到虚拟机系统也有双网卡了。然后在两张虚拟网卡上分别设置局域网IP地址和外网的IP地址。这里再跟大家解释一下:像我介绍的这样采用桥接方式之后,我们的虚拟机就跟母机在网络上处于对等地位,网络关系上是平等的。因为我这个虚拟机已经分配了一个公网的IP地址。所以。也就实现了文章开头的需要让虚拟机成为局域网中的一台服务器的功能。由于有公网的IP地址,所以以上设置完成之后,就可以使用设置在虚拟机的那个公网IP访问虚拟机了。而局域网的机器则可以采用设置在虚拟机上的局域网IP地址访问虚拟机。整个关系就变化成下图:

VMware Workstation实例二:单IP的虚拟机提供外网访问

2008年,我写了一篇如何设置VMware Workstation虚拟机的双网卡来实现让外网访问虚拟机,此后有不少朋友给我发邮件或是留言,询问单网卡局域网下或是单公网IP下如何实现类似功能。在我一一进行答复后,心里头就想写一篇来解答朋友们的疑问。时隔两年多后,咱们来分享VMware Workstation虚拟机单网卡单公网IP下实现让外网访问虚拟机的方法。

网络拓扑

理清思路

单网卡机器VMware Workstation的NAT设置

Port Forwarding

路由器或是防火墙上设置端口映射

网络测试

网络拓扑

首先呢,一般情况下,除了机房托管的机器外,单位或是个人家庭等的网络服务器一般会比较少直接分配公网IP,三种网络模式简图如下:

理清思路

知道了以上的网络拓扑结构后,咱们要做的事情就很清晰了。首先,了解VMware三种网络模式的区别在哪里。其次,根据不同的网络环境,使用不同的VMware网络设置:

家用和公司或单位,因为机器处于内部局域网,能用的IP地址比较多,因此可以采用默认的Bridged方式,Bridged方式一般无需设定,建立虚拟机的时候一路next,默认的就是Bridged方式。如果要实现双网卡模式,可以参考我上一篇文章:《VMware Workstation虚拟机实例:让外网访问虚拟机》。

本文重点,也是众多朋友询问过的:机房里单IP的服务器安装虚拟机给外网提供服务的模式。也就是上方图片中的模式3。这种模式下,由于IP地址唯一,无法使用Bridged方式了。Host-Only模式为全封

闭的模式,只能访问到宿主(Host),甚至连外网都无法连通,所以Host-Only模式排除掉。于是,我们眼里就剩下NAT模式了。

单网卡机器VMware Workstation的NAT设置

根据上面的分析,咱们的思路很明确。就是使用VMware 的NAT网络模式。那么接下来主要有如下两个要点:

调整建立的虚拟机的网卡的网络模式,选择使用NAT模式。如下图:

使用VMware的NAT Settings中的Port Forwarding功能来进行端口转发。

Port Forwarding

1. 使用VMware的NAT网络模式后,找到虚拟机的IP地址。虚拟机的网卡为DHCP模式,请进入虚拟机内查到虚拟机的IP地址,比如本文中的例子是Ubuntu的虚拟机,下图中的红圈内的就是

虚拟机的IP地址:

2. 在VMware Workstation主界面上点“编辑”-“编辑虚拟网络”,如下图:

3. 打开VMware Workstation的虚拟网卡编辑界面。

找到模式是NAT的那张虚拟网卡,点中后,再点下面的NAT

Settings… 如下图红圈位置:

4. 在NAT Settings的标签页中,找到Port Forwarding的内容,按如下图的红圈中的那个Add按钮开始添加:

5. 在弹出的标签中,从上到下填写和选择宿主监听的端口、端口协议类型、虚拟机的IP地址、虚拟机监听的端口、描述。设置好后,一路按OK回到虚拟机主界面即可。下图是我虚拟机对外开放HTTP服务的80端口的设置图:

6. 需要注意,如此设置的时候,Host port的端口必须是宿主并未监听的端口,否则会出错。

7. 设置成功后,使用netstat命令即可看到宿主已经监听了我们填写的端口,监听该端口的程序是

8. 如上设置后,剩下的就是测试了。如果是家庭或是企业,可能还需要在路由器或是防火墙上设置端口映射到宿主

9. 经过设置后,外网访问80端口的时候,NAT的Port Forward就会把访问请求转发到虚拟机上,大致如下图:

路由器或是防火墙上设置端口映射

这个比较难说清楚,不同品牌的路由器、防火墙的设置方式都不一样。我这里给出D-Link DI-624的端口映射的截图:

关于这部分的设置,大家可以去百度和google上搜索看看,有很多的教程。至于防火墙,一般都有详细的说明书或是厂家提供技术支持。

网络测试

配置好了之后,还需要进行网络测试。

1. 得知目前的外网IP地址(固定IP的用户可以胡略此步骤),打开 ip138这个网站就可以知道自己当前的IP地址。

2. 请您网络上的朋友帮忙测试。

3. 使用网络上一些免费的网站状态检测服务,这可以从搜索引擎上找到不少。

结束语,时隔两年,炜煜自己电脑中使用的虚拟机已经从VMware

Workstation6变为VMware Workstation7了。不少朋友问的就是VMware Workstation7的虚拟网卡设置,其实大家仔细看图的话,会发现虚拟网卡设置这部分变化不大。另外,这篇文章写得很粗浅,目的是为了帮助大家在最短的时间内实现目标,可以说只是一个治标的方法。但是炜煜个人能力有限,工作重心也不是这个,所以面对深层次的东西就无能为力了。如果对于文章内容有任何想法,欢迎留言或是发邮件讨论。

本文标签: 网卡网络设置虚拟