VMWare是著名的虚拟化产品公司,VMWare Esxi也是专为服务器设计的虚拟化软件。在安装VMWare Esxi的服务器上能够同时运行多个虚拟系统,充分利用服务器资源。其一大特点之处就在于能够生成虚拟的网络拓扑,经过建立虚拟交换机,能够管理不一样虚拟系统上的流量,也令虚拟设备的配置变得更加灵活。惋惜的是,VMWare Esxi使用vSwitch做网络交换设备,并未直接提供NAT上网的解决方案。下面以多个虚拟机共享一个公网IP上网为例(至关于须要路由器配置上网),讲解在VMWare Esxi中配置NAT环境。(本教程以讲解搭建Esxi虚拟网络拓扑为主,安装Esxi及虚拟机、设置软路由等操做不做为重点,所以略去,有须要可自行搜索相关教程或参考本文结尾处的"参考资料")html
目的:一个公网IP(本例中为172.16.12.141),2台虚拟设备共享上网浏览器
系统环境:VMWare Esxi 5.5服务器
软件环境:海蜘蛛软路由(v8),VMWare vSphere Client 5.5,操做系统镜像网络
步骤详解:负载均衡
1. 安装并配置VMWare Esxiide
硬件环境可使用VMWare Workstation[1],前提是PC最好有8G以上内存,若是有条件能够在真正的服务器或闲置的PC上直接安装。下载地址及教程略,能够自行搜索网上教程。安装好后须要配置Esxi的管理IP。本实验在局域网下(路由器),网络地址为172.16.12.1,实际主机和虚拟机都桥接在这个局域网下。建议开启DHCP并在【DHCP服务器】中进行静态地址分配。具体教程略。性能
本例中,VMWare Esxi安装在实际主机的VMWare Workstation虚拟机上,配置两个网卡(自动桥接),根据网卡的MAC在路由器上分配DHCP地址:测试
如上图,Esxi的两个网卡分别绑定了140和141,其管理地址为140(具体配置参考Esxi网络配置相关教程[2])。配置好后能经过vSphere Client登陆到管理后台为配置成功,以下图。网站
2. 在Esxi上安装系统ui
本步骤操做同在VMWare Workstation上安装虚拟机同样,所以略。
对于Esxi运行在虚拟机上的状况,建议安装WinXp、Linux这些占用资源少的系统,并且共安装两个系统已经足够了。
本例安装两个WinXp系统做实验。
3. 在Esxi上安装海蜘蛛软路由
软路由能够帮助虚拟网络拓扑实现路由转发功能,虽然性能不及硬件路由器好,可是有着比硬件路由更丰富的功能,并且通常的路由功能须要的性能并不高,在服务器上跑软路由能够知足基本的NAT需求了。本例中使用的海蜘蛛有功能强大、使用操做简单的优势,在Esxi上新建虚拟机安装海蜘蛛则能够知足NAT共享上网的需求。海蜘蛛可从官网上下载试用版[3]或者找破解版的教程[4]。
海蜘蛛的安装也很简单,根据提示安装或参照网上教程均可以。对于破解版,安装后可使用命令激活[5]。注意在建立海蜘蛛虚拟机时,至少须要建立两个网络适配器。
安装后进入海蜘蛛主机控制台(右键虚拟机-打开控制台),能够看到海蜘蛛的后台界面,包括配置地址及更改参数的选项。本教程使用默认配置,即NAT内网地址为192.168.0.1,管理端口880。
4. 搭建局域网
软路由安装后,只要与其余虚拟机配置好网络,就能够经过其余虚拟机进入配置网页,至关于通常路由器的192.168.1.1,这里就是192.168.0.1:880。下面经过建立vSwitch搭建局域网[6]。
在vSphere Client中选中主机,点击【配置】-【网络】,以下图
接下来要建立一个标准交换机:
4.1 点击右上角的按钮【添加网络...】 - 【虚拟机】 - 建立vSphere标准交换机,注意要取消全部实际网卡,这个交换机是无适配器的,以下图:
4.2 点击下一步,能够更改端口组的名称(本例中改成NAT)
4.3 完成后,在虚拟机的【编辑虚拟机设置】选项中,将目前全部虚拟机的网络适配器选项中,网络标签改成NAT(根据步骤4.2的端口组名称)
4.4 配置完成后,vSwitch1的端口组应该是这样的(这个交换机没有物理适配器):
至此局域网已配置好了,打开其中一台虚拟机,经过浏览器登入软路由的管理后台(192.168.0.1:880,账号admin,密码admin)。登得上证实已经链接到局域网了(下图为管理主页界面),能够ping一下其余虚拟机的IP测试。至于路由器中的局域网、DHCP之类的设置,这个属于路由器配置的问题了,这里略。
5. 链接WAN口
硬件路由器上除了几个LAN口外,还有一个WAN口。而对于软路由,WAN口能够有不止一个。在第4步中,局域网已经搭好,不一样虚拟机间以及虚拟机和海蜘蛛间均可以通讯。接下来只须要把软路由的WAN口插上,就能够上网了。
建立一个标准交换机:【添加网络...】 - 【虚拟机】 - 【建立vSphere标准交换机】(这里勾选一个空闲的网卡,如vnmic-1)- 改名(本例为WAN)
在海蜘蛛虚拟机的配置中,把海蜘蛛虚拟机的另外一个空闲网络适配器加到WAN网络中:
对比上面vSwitch1的配置截图,Router软路由跨了两个交换机端口组。接下来打开Esxi中的其中一台虚拟机,经过浏览器进入路由控制台,在左边选项中能够发现增长了【广域网接口】这个选项(这时由于WAN口已经插上了,若是再给WAN网络分配多一个网卡,广域网接口就会出现两个)。经过【广域网接口】能够设置WAN口的上网参数。用服务器或实体主机作实验的话就和配置PC上网同样,若是是通过硬件路由器、到VMWare Workstation、再到Exsi的话,就填在硬件路由器中的IP地址参数,这时只要链接上硬件路由器就能够了。本例中,广域网地址设为172.16.12.141。
完整的网络拓扑图:
6. 分析
就Esxi来看,这时NAT共享IP上网的网络拓扑已经搭建好了,若是网络里的虚拟机能连上路由器而不能上网,那是路由器的配置问题了。下面的内容就这个网络拓扑分析NAT上网的原理。
从网络拓扑配置(上面两个交换机的截图)能够看到,软路由跨了两个端口组,因为LAN没有物理适配器,全部虚拟机的流量都发到了软路由上(其余虚拟机也会收到,可是不做处理),软路由在LAN的网络适配器用于接收局域网流量。软路由的程序能够实现路由功能,经过NAT转换等操做后,把流量统一由WAN中的网络适配器输出。因为WAN链接着物理适配器,流量从LAN进入路由,从WAN转发出,最终从物理适配器(上图vnmic1)发到真实的网络。
若是要和硬件路由器类比,LAN至关于路由器的几个LAN口,而WAN就是WAN口了。一般硬件路由器只有一个WAN口,但软路由能够实现多带宽负载均衡等功能,所以能够插上多个WAN口。
系统结构如上图,这里的交换机都只有一个端口组(同端口组全部端口属性相同)。公网IP(172.16.12.141)从vSwitch2进入软路由,经过路由功能生成一个内网网段(192.168.0.1),由vSwitch2把192.168.0.1xx网址分配给2台虚拟机。这里软路由只有一个工做,就是把外网IP转换为多个NAT内网地址,地址分配的功能由vSwitch1实现,因此2台虚拟机和路由器插在LAN的端口组上。右下角表示172.16.12.140留做管理IP用。
上图的红色框线内表示一个硬件路由器的工做原理(路由器全部LAN口集合至关于交换机),在其内部实现了路由功能和交换功能,而WAN口插网线至关于上图红色虚线(直接链接上网口),只是在Esxi中须要经过交换机(vSwitch2)链接上真实的网卡。
经过软路由,能够实现服务器中创建多个虚拟机而使用同一IP,在虚拟机中各自安装服务器软件,就能够经过这个外网IP访问2台虚拟机了。固然端口不能共用,80口只能给一个虚拟机用,其余能够经过端口转发,或者用反向代理的方法,这里也不做详细说明。
参考资料及引用:
[1] Workstation安装Esxi: 红黑联盟.VMware ESXi 5安装图文教程.
http://www.2cto.com/os/201201/117743.html
[2] Esxi网络设置:虚拟化之Esxi的基本设置.
http://tieba.baidu.com/p/2096905053
[3] 海蜘蛛官方网站: http://www.hi-spider.com/
[4] 海蜘蛛完美激活+海盾: 海蜘蛛6.15完美激活+海盾+教程.
http://bbs.pxecn.com/thread-101591-1-1.html
[5] 海蜘蛛muddyboot激活方法: 海蜘蛛破解方法.
http://blog.chinaunix.net/uid-20832381-id-1743773.html
[6] 局域网配置: 在VMware ESXi服务器上配置NAT上网.
http://www.it165.net/os/html/201309/6206.html