说一说虚拟机的虚拟交换机
公司现在有一台IBM X3400服务器,只有一个网卡,想弄个网关防火墙,用ISA或IPTABLES,服务器上还有文件服务、DNS、DHCP服务等,目前网段是192.168.2.0/24,如果要用ISA或iptables,须在VMware Server中建立一台有双网卡的机器,网卡模式当然只能都选择桥接了,当时就在想,两块网卡,一块网段为192.168.1.0/24,一块为192.168.2.0/24,服务器网卡是192.168.2.0/24这段,处于192.168.1.0/24段网卡,它不是桥接在服务器网卡上么,宿主服务器网段跟它处于不同网段,那这块网卡能与它同网段的路由器通讯么?有时候大家都不怎么明白桥接、HOST-ONLY与NAT的一些区别,其实把它们想象成不同的虚拟交换机就明白了。
桥接,相当于虚拟一台连接到宿主机网络的交换机,接在这个交换机上的虚拟机与外部通讯是无碍的,所以不管主机与虚拟机是不是在同一段网络,他们与外部的通讯都可以完成。
HOST-ONLY,相当于虚拟一台只连接主机与虚拟机的交换机,虚拟机与主机网络并无关系。
至于NAT嘛,可以形象的比喻成一个路由器,WAN口就是宿主机的网卡,其他虚拟机都接在LAN口上,虚拟机内部自成一个局域网,可以访问宿主机的外部网络,但外部网络与宿主机不能访问进去,当然,当宿主机的网络无法访问外部时,虚拟机也就无法访问外部了,老夫看有的文章说NAT相当于一个WAN口桥接入主机网络的路由器,这说法应该是不正确的。
资料上说依照功能上的不同,可以将虚拟平台上的交换机,区分为两种不同的角色,一种是用来连接外部实体网络的“External”,另外一种则是完全封闭,无法连接外界网络的“Private”。 设置External交换机的时候,必须将服务器的实体网卡接口指派给External交换机做为级联线路使用。反之,设置Private交换机的时侯,由于不需要指派实体的网卡接口,因此自然形成一个封闭式的网络环境,适用于不需要连接外部网络的测试环境。一般来说做网络实验或虚拟化应用的时候都是External配合Private来使用。
所以老夫觉得,桥接是属于External类的而HOST-ONLY是属于Private类的,至于NAT,看起来它又像External类也像Private类,也应该属于Private类。
桥接、NAT与HOST-ONLY这三种类型都有提供与宿主机的连接,另外还有一种没有提供与宿主机连接的Private虚拟交换机,如VMware的Team中的LAN Segments功能和VirtualBox里的Internal,当然,Virtual Server里是没有提供Team功能的。
虚拟交换机跟真实交换机比较起来,有它的优点,单一设备端口提供的多速度快,但缺点也很明显,功能比较单一,要使用VLAN功能,还需要配合宿主机来使用或配合真实交换机才行,当然,VMware已经有推出它的拥有更高级功能的虚拟交换机产品Nexus 1000V,提供QoS、VLAN、ACL等。
如果我们要使用虚拟机来架设一个网关服务器,这个是完全没有问题的,最近网速有些慢,准备弄个Squid服务来做缓存,以后再说。
下图是将真实环境虚拟化之前和之后的比较,可以看出来,节省了很多设备,当然,按照这么个做法,宿主机得够强劲,但虚拟机内部之间的通讯速度相对真实环境来说可能会更快,因为虚拟网络很轻易就达到千兆,而真实环境中我们可能大多数还用着百兆的网络。
当然,我们可以把它们全都实现在VMware Server中。