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. oracle 按条件删除、查询表

    ---查询表的名称,字段信息以及字段注释 select us.table_name, --表名   ut.COLUMN_NAME,--字段名称 uc.comments,--字段注释 ut.DATA_T ...

  2. shiro实战系列(五)之Authentication(身份验证)

    建议学习shiro读读官方文档,虽然不一定读的懂,但是建议要大致浏览,心中有个大概,这样对于学习还是有一定帮助 官网地址:https://shiro.apache.org/ Authenticatio ...

  3. Python2.7-collections

    collections 模块主要提供了五种特殊类型容器,此外还提供了许多抽象基类用于检查类的接口 1.Counter 对象,主要用于统计出现次数,是dict的一个子类,用法与形式和 dict 很类似 ...

  4. 前端:background 设置

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. HDU 1203 I NEED A OFFER!(01背包+简单概率知识)

    I NEED A OFFER! Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Sub ...

  6. 计算机视觉-sift(2)代码理解

    之前结合不同人的资料理解了sift的原理,这里通过opencv中的代码来加深对sift的实现的理解. 使得能够从原理性理解到源码级的理解.不过该博文还是大量基于<赵春江, opencv2.4.9 ...

  7. less初识

    一种 动态 样式 语言. LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承,运算, 函数. LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也可以 ...

  8. 随机取出数组中的某些值,并删除它们array_splice,array_slice

    今天遇到这样一个情景.这样的,一个抽奖活动,预先获取一堆人参与信息,一个人最多只能中奖一次.活动有活动的配置信息,比如说一等奖有多少人,二等奖有多少人等等.. 说白了,就是从这个参与人数组里,取出来一 ...

  9. OO——电梯作业总结

    目录 电梯作业总结 程序结构与复杂度的分析 第一次作业 第二次作业 第三次作业 程序BUG的分析 互测 自动评测 有效性 总结 电梯作业总结 程序结构与复杂度的分析 第一次作业 1.设计思路 第一次作 ...

  10. Liunx-mkdir命令

    1. 新建一个文件夹 one 2. 新建三个文件夹three,four,five 3. 新建一个多层级文件夹 201904/a/01