[转帖]在VMware ESXi服务器上配置NAT上网 需要学习一下。
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上网 需要学习一下。的更多相关文章
- 在同一台服务器上配置多个Tomcat
如果要在一台服务器上配置多个Tomcat,主要就是要避免Tomcat服务器的端口冲突的问题.只需要修改CATALINA_HOME\conf\server.xml中的启动端口和连接端口就OK了! 下面我 ...
- 在Linux服务器上配置phpMyAdmin
使用php和mysql开发网站的话,phpmyadmin是一个非常友好的mysql管理工具,并且免费开源,国内很多虚拟主机都自带这样的管理工具,配置很简单,接下来在linux服务器上配置phpmyad ...
- 网站环境apache + php + mysql 的XAMPP,如何实现一个服务器上配置多个网站?
xampp 是一个非常方便的本地 apache + php + mysql 的调试环境,在本地安装测试 WordPress 等各种博客.论坛程序非常方便.今天我们来给大家介绍一下,如何使用 XAMPP ...
- 本地Linux服务器上配置Git
当我们需要拉取远程服务器代码到本地服务器时,我们首先要确定已经配置了正确的Git账号,可以从~/.gitconfig文件(为隐藏文件,需要使用ls -a查看),以及~/.ssh下的id_rsa.pub ...
- 巨高兴,偶的文章 “如何在服务器上配置ODBC来访问本机DB2for Windows服务器”被推荐至CSDN博客首页
非常高兴,偶的文章 "如何在服务器上配置ODBC来访问本机DB2for Windows服务器"被推荐至CSDN博客首页,截图留念. 文章被推荐在C ...
- 如何在服务器上配置ODBC来访问本机DB2 for Windows服务器
如何在服务器上配置ODBC来访问本机 DB2 for Windows服务器 马根峰 (广东联合电子服务股份有限公司, 广州 51 ...
- 在一台服务器上配置多个Tomcat的方法
原文来自:http://blog.csdn.net/lmb55/article/details/49561669 这段时间在开发智能导航的热部署功能,需要从一台服务器去访问其它的24台服务器去进行相关 ...
- linux服务器上配置多个svn仓库
linux服务器上配置多个svn仓库 1.在指定目录建立仓库保存总目录,本文示例目录设定为:/usr/local/svn/svnrepos # mkdir -p /usr/local/svn/svnr ...
- 在阿里云服务器上配置CentOS+Nginx+Python+Flask环境
在阿里云服务器上配置CentOS+Nginx+Python+Flask环境 项目运行环境 阿里云(单核CPU, 1G内存, Ubuntu 14.04 x64 带宽1Mbps), 具体购买和ssh连接阿 ...
随机推荐
- snmpwalk,iptables
-A RH-Firewall-1-INPUT -i lo -j ACCEPT -A INPUT -s 1.1.1.1 -p udp -d 2.2.2.2 --dport 161 -j ACCEPT - ...
- leetcode121—Best Time to Buy and Sell Stock
Say you have an array for which the ith element is the price of a given stock on day i. If you were ...
- Python2.7-tempfile
tempfile 模块,生成临时文件夹或文件,所生成的文件(夹)的名字都是随机的,但可以指定前缀.后缀和路径,中间由6位随机字符组成.应用程序经常要保存一些临时的信息,这些信息不是特别重要,没有必要写 ...
- Mac OS 上配置java开发环境
在开始本学期的java课程前,我需要先为自己的电脑配置好Java的开发环境.由于电脑是mac操作系统,所以教材上的教程对我并不管用,于是乎开始动手自己查阅网上资料来解决. 1.安装JDK 1.访问Or ...
- js 动态声明变量(eval)
eval()可以将一段字符串当作js代码来执行. 动态声明变量(字符串)可通过eval(字符串)来实现.举例如下: var Thread_num=5; for(var i=1;i<=Thread ...
- jquery操作checked
jquery操作checkbox,如何获取勾选状态?如何使得勾选?如何取消勾选? 来段代码就知道了: <html> <head> <meta charset=" ...
- 20155223 Exp9 Web安全基础实践
20155223 Exp9 Web安全基础实践 基础问题回答 SQL注入攻击原理,如何防御? 攻击原理:SQL注入即是指web应用程序对用户输入数据的合法性没有判断,攻击者可以在web应用程序中事先定 ...
- powersheel远程连接方法操作
powersheel远程连接密码加密连接高级玩法 ConvertTo-SecureString 和 ConvertFrom-SecureString 命令都支持选项 -Key.在处理密码时通过使用 K ...
- Gitlab+Jenkins学习之路(十四)之自动化脚本部署实践
目录 一.环境说明和准备 1.环境说明 2.服务器准备工作 二.发布脚本编写 1.自动化部署流程设计 2.自动化部署脚本编写 三.发布测试 1.开发机和github添加ssh信任 2.克隆项目到开发机 ...
- web网站的并发量级别
web网站的并发量级别 评价一个网站的“大小”,处于视角的不同,有很多种衡量的方法,类似文章数,页面数之类的数据非常明显,也没有什么可以争议的.但对于并发来说,争议非常之多,这里就从一个技术的角度开始 ...