http://blog.51cto.com/boytnt/1292487

在使用VMware workstation的时候,我们经常以NAT的方式配置虚拟机的网络,与桥接方式相比,这样配置可以让虚拟机共享主机的网络而不用单独设置IP。到了ESXi,由于其使用了vSwitch作为网络交换设备,因此没有NAT这样的选项了。但在实际环境中,我们还是经常会遇到IP不够用的情况,比如只有少量几个公网IP,但是有一堆虚拟机需要上网。此时就要通过软路由来达到目的。

先看一下配置之前的网络环境,在vSphere Client上选中主机,然后在右边依次点击“配置”->“网络”,如下图:

可以看到当前主机上有一个虚拟交换机vSwitch0,构成VM Network网络,它连接到主机的物理网卡vmnic0上,因此网络是与外网连通的。有4台虚拟机连接到此网络。此时这4台虚拟机想要上网,必须有此网段的独立IP。

想达到共享上网的目的,我们必须增加一个内网,比如10.10.10.*,然后通过路由设置把这个网段内的请求映射到外网去。

先在主机上创建内网,还在刚才的“网络”页,点“添加网络...”,选择创建虚拟机网络:

之后比较关键,选择创建虚拟交换机,但是不要让它与物理网卡相关,因此去掉vmnic1前面的勾,下方的预览图里会相应显示无适配器。之所以这么做,是因为我们要把这个网络的请求都转发到VM Network上去,而不要让它自己走物理网卡出去。

下一步,可以给它定一个名称,比如NAT Network。

接下来要建一个软件路由了,它的作用是连接两个网络,把内网的请求转发到外网去。我推荐使用pfSense,它是一个ova文件,在vSphere Client的文件菜单里选“部署OVF模板...”就可以部署它了,过程比较简单,不一一截图了。

部署完成后,注意编辑一下配置,作为路由器,它一定有2个网络适配器,我们把适配器1定义为外网,让它接入VM Network网络,把适配器2定义为内网,让它接入NAT Network,如下图:

顺便记录一下这两个适配器的MAC地址,后面会用到。

完成后启动新部署的pfSense虚拟机,比较慢,启动好后如图:

从图中可以看到它识别了两个网络,WAN表示外网,绑定到了em1上,没有ip,LAN表示内网,绑定到了em0上,自动分配了一个192.168.1.1的IP。

接下来要设置它,选择1,设置适配器,如图:

两个有效的网络接口,em0和em1,这时刚才记录的MAC就发挥作用了,对比之前的设置得知,em0是连接到VM Network的适配器,是外网,我们要让它代表WAN,并且分配外网IP,em1是连接到NAT Network的适配器,是内网,我们要让它代表LAN,分配内网IP,并且作为此网络的网关。

后续的几个选项:

Do you want to set up VLANs now? 选n,不设置vlan

Enter the WAN interface name or 'a' for auto-detection: 设置外网的适配器,输入em0

Enter the LAN interface name or 'a' for auto-detection: 设置内网的适配器,输入em1

Do you want to proceed? 是否继续设置其它内容,先选n,不继续设置了

如图:

之后会回到首页,选2,设置IP:

Configure WAN interface via DHCP: 是否开启DHCP,选n

Enter the number of the interface you wish to configure: 输入要设置哪个适配器,参照上面的提示,选1,先设置外网的

Enter the new WAN IPv4 address: 输入外网的IP地址,如192.168.90.16

Enter the new WAN IPv4 subnet bit count: 输入外网的子网掩码位数,如24表示255.255.255.0

Do you want to revert to HTTP as the webConfigurator protocol: 输入y,表示使用http协议登录管理控制台

同理再设置内网的IP为10.10.10.1/24,完成后的效果如图:

OK,万事俱备,下面要进行详细的设置了。再建立一个虚拟机,比如Win7(后续的设置要通过浏览器,最好是IE8以上,或者用chrome/firefox一类的),把它的适配器连入NAT网络,设置IP为10.10.10.2/24,网关为10.10.10.1,然后打开浏览器登录 http://10.10.10.1,默认用户名密码为admin/pfsense。

第一次登录,会自动进入设置向导。

设一下Hostname和DNS:

根据实际情况设一下外网的类型、IP、Gateway,这样外网才能上网,比如我这里是局域网固定IP,Type就选Static。

再设一下内网的(由于之前设过了,检查一下就好了):

OK,现在虚拟机可以连通外网了,打开一个网页试一下吧。

此时查看主机的网络设置,可以看到是这样的:

pfSense29这台软路由跨了两个vSwitch,它将NAT Network(内网)的请求转发到VM Network(外网)上,并最终走主机的物理网卡vmnic0到达互联网。以后增加新的虚拟机,只要把网络适配器连到NAT Network上,设置IP为10.10.10.*,网关10.10.10.1就可以上网了。

[转帖]在VMware ESXi服务器上配置NAT上网 需要学习一下。的更多相关文章

  1. 在同一台服务器上配置多个Tomcat

    如果要在一台服务器上配置多个Tomcat,主要就是要避免Tomcat服务器的端口冲突的问题.只需要修改CATALINA_HOME\conf\server.xml中的启动端口和连接端口就OK了! 下面我 ...

  2. 在Linux服务器上配置phpMyAdmin

    使用php和mysql开发网站的话,phpmyadmin是一个非常友好的mysql管理工具,并且免费开源,国内很多虚拟主机都自带这样的管理工具,配置很简单,接下来在linux服务器上配置phpmyad ...

  3. 网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?

    xampp 是一个非常方便的本地 apache + php + mysql 的调试环境,在本地安装测试 WordPress 等各种博客.论坛程序非常方便.今天我们来给大家介绍一下,如何使用 XAMPP ...

  4. 本地Linux服务器上配置Git

    当我们需要拉取远程服务器代码到本地服务器时,我们首先要确定已经配置了正确的Git账号,可以从~/.gitconfig文件(为隐藏文件,需要使用ls -a查看),以及~/.ssh下的id_rsa.pub ...

  5. 巨高兴,偶的文章 “如何在服务器上配置ODBC来访问本机DB2for Windows服务器”被推荐至CSDN博客首页

    非常高兴,偶的文章 "如何在服务器上配置ODBC来访问本机DB2for Windows服务器"被推荐至CSDN博客首页,截图留念.                  文章被推荐在C ...

  6. 如何在服务器上配置ODBC来访问本机DB2 for Windows服务器

    如何在服务器上配置ODBC来访问本机 DB2 for Windows服务器                         马根峰             (广东联合电子服务股份有限公司, 广州 51 ...

  7. 在一台服务器上配置多个Tomcat的方法

    原文来自:http://blog.csdn.net/lmb55/article/details/49561669 这段时间在开发智能导航的热部署功能,需要从一台服务器去访问其它的24台服务器去进行相关 ...

  8. linux服务器上配置多个svn仓库

    linux服务器上配置多个svn仓库 1.在指定目录建立仓库保存总目录,本文示例目录设定为:/usr/local/svn/svnrepos # mkdir -p /usr/local/svn/svnr ...

  9. 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境

    在阿里云服务器上配置CentOS+Nginx+Python+Flask环境 项目运行环境 阿里云(单核CPU, 1G内存, Ubuntu 14.04 x64 带宽1Mbps), 具体购买和ssh连接阿 ...

随机推荐

  1. MP实战系列(十)之SpringMVC集成SpringFox+Swagger2

    该示例基于之前的实战系列,如果公司框架是使用JDK7以上及其Spring+MyBatis+SpringMVC/Spring+MyBatis Plus+SpringMVC可直接参考该实例. 不过建议最好 ...

  2. Arthas开源项目

    本文主要围绕着Arthas是什么.能做什么.安装和使用等三个方面内容来讲解,希望对初学者和对此有兴趣的朋友有帮助. 一. Arthas是什么 文档地址: https://alibaba.github. ...

  3. 分布式计算(一)Ubuntu搭建Hadoop分布式集群

    最近准备接触分布式计算,学习分布式计算的技术栈和架构知识.目前的分布式计算方式大致分为两种:离线计算和实时计算.在大数据全家桶中,离线计算的优秀工具当属Hadoop和Spark,而实时计算的杰出代表非 ...

  4. day05-列表类型

    列表类型: 用途:存放多个值,根据索引. 定义方式:在[]内用逗号分隔开多个任意类型的值 L1 = list[{a:1,b:2,c:3}] 输出的为字典的key值 常用操作+内置方法 1.按索引取值: ...

  5. 20155207 《网络对抗技术》EXP3 免杀原理与实践

    20155207 <网络对抗技术>EXP3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? - 根据特征码进行检测(静态) - 启发式(模糊特征点.行为 ) - 根据行为进行检 ...

  6. Ubuntu 守护进程

    项目中用的Qt开发的GUI程序,需要随机自启动. 最初尝试过使用SuperVisor,但是会出现下面的错误. qt.qpa.screen: QXcbConnection: Could not conn ...

  7. Linux常用rmp包网址

    * HA:http://download.opensuse.org/repositories/network:/ha-clustering:/Stable/ * Openstack:https://r ...

  8. stl源码剖析 详细学习笔记 RB_tree (1)

    // //  RB_tree_STL.cpp //  笔记 // //  Created by fam on 15/3/21. // // #include "RB_tree_STL.h&q ...

  9. 对NP问题的一点感想

    一.概述 回忆欧拉回路问题,要求找出一条经过图的每条边恰好一次的路径,这个问题是线性可解的.哈密尔顿圈问题是找一个简单圈,该圈包括图的每一个顶点.对于这个问题,现在还没有发现线性算法. 对于有向图的单 ...

  10. jenkins pipeline 部署

    一.git 版本控制结合jenkins 发布 sh-4.2$ git branch sh-4.2$ git chekout master sh-4.2$ git tag v1.1 sh-4.2$ gi ...