ESXi 5防火墙是VMware vSphere 5一个新特性,可以通过vSphere Client或命令行配置。ESXi 5防火墙以前只存在于刚刚停止使用的ESX hypervisor中。VMware曾经声称ESXi不需要防火墙,因为轻量级hypervisor几乎不会开启任何服务或端口,这样不会被攻击。
我认为VMware在ESXi 5中增加防火墙有以下几点原因。使用防火墙,ESXi 5 能够延续原有ESX Server的这一显著特性。同时,防火墙给用户及合作伙伴发出了一个信号,那就是VMware在致力于安全。最后,vSphere 5仍旧像之前一样安全,甚至更好。
和ESX Server防火墙一样,新的ESXi 防火墙只保护管理接口,并不保护单个的虚拟机。ESXi防火墙是一个面向服务的无状态防火墙,这意味着它不追踪网络会话而只评估经过的每个数据包。也就是说,ESXi防火墙是一个完全不同的防火墙引擎,消除了对定义端口规则或服务的iptables及规则集的使用。对于远程主机来说,你可以指定允许访问每个服务的IP地址或IP地址范围。当然你可以使用vSphere Client或命令行配置这些参数。
使用vSphere Client配置ESXi防火墙
ESXi 5防火墙默认是开启的,位于ESXi server管理接口和网络之间。
安装完ESXi 5防火墙后,除了用于管理的默认TCP和UDP服务,比如SSH(端口号22),DNS(端口号53),DHCP(端口号68)之外,初始配置阻止所有的输入、输出流量。需要注意的是ESXi 主机的ICMP(ping操作使用该协议)默认是启用的。
你可以在vSphere Client中查看并编辑输入、输出的TCP和UDP端口号。在“主机配置”选项卡下,单击“软件安全配置文件”,选择“属性”,你将看到ESXi防火墙和主机上用于网络访问的服务相关联。如果服务被创建,并且勾选了复选框,那么该服务的流量就能够穿过防火墙。
同样也可以定义能够通过指定端口访问ESXi主机的IP地址或IP地址范围。单击“防火墙”按钮然后输入允许的IP地址即可完成配置。
使用命令行配置ESXi防火墙
你可以使用PowerCLI,vSphere Management Assistant(vSphere管理助手)或ESXi主机的命令行配置ESXi防火墙。但是首先你必须在ESxi主机上启用Tech Support Mode或Remote Tech Support Mode。比如在启用Remote Tech Support Mode后就可以通过安全Shell连接到ESXi 5主机了。以下几个文件是配置ESXi 防火墙的关键文件。
规则集配置文件:(/etc/vmware/firewall/service.xml)该文件包含默认的防火墙规则,由端口和协议两部分组成。
服务配置文件:(/etc/vmware/services/service.xml)该文件列出了默认的服务及防火墙规则分组。
虽然你也可以通过vSphere Client启用、禁用规则,或者打开、关闭服务,但是增加新的防火墙规则只能通过命令行操作。你可以通过编辑这些文件(比如在命令行下输入“vi /etc/vmware/firewall/service.xmlte”命令)添加规则。然后使用esxcli网络防火墙刷新命令启用防火墙规则。
通过命令也可以启用/禁用整个防火墙,启用/禁用规则,或者为防护墙规则添加/删除指定的IP地址或IP地址范围。