esxi 系统和 linux 系统一样,会不断的暴出各种安全问题,虽然有了 update manager 可以指升级 esxi 操作系统的版本,但仍然会有很大的风险。而通过防火墙策略来限制允许访问的原地址,则是一个折中的安全措施。

  vcenter5.0以后,对 esxi 的配置增加不少,esx 中能开关防火墙策略,但不能配置原地址限制。在5.0以后可以了,起码你不再需要一台台登陆 到 esx 系统中进行配置了。

  配置方法如下:

  1. 打开 vmware client ,连接到你要修改的 vcenter 上;

  2. 在左侧的树状列表中,选择你要修改的 esxi 主机;

  3. 在右上面的标签页上选择“配置”;

  4. 在下面左边出现的配置列表中,选择“安全配置文件”;(这名字有点奇怪)

  5. 右边的页面有两部分,上面部分允许修改 esxi 的服务属性及启停相关服务,下面的部分是防火墙策略,我们需要的功能在下面部分里;

wKioL1T9hXqhxl8lAAj5dLUwPxM831.jpg

  点击属性,会展示出一个策略列表对话框,选中你要修改的策略条目,点击下面的“防火墙”按钮,就可以对列出的策略进行修改。

wKioL1T9hu2QI1ImAAXyYXXM7pY802.jpg


防火墙策略里列了很多系统自带的服务,但不是全部,比如 ntp服务,在 vcenter 里就找不到,当然也不能通过 vcenter 配置。如果你想通过 vcenter 管理这些策略或是服务时,需要修改 esxi 的主机/etc/vmware/firewall/service.xml 配置文件。

修改 service.xml 文件的属性,否则你编辑不了它;

chmod 644 /etc/vmware/firewall/service.xml
chmod +t /etc/vmware/firewall/service.xml

然后 vi /etc/vmware/firewall/service.xml,增加一段类似下面的信息,<service id>不要和前面的服务重复,<id>是对此服务的描述,其他部分很好理解,方向、协议、端口等,按你需要的修改就行。

<service id="0050">
 <id>VNASTCPIn</id>
 <rule id='0000'>
  <direction>inbound</direction>
  <protocol>tcp</protocol>
  <porttype>dst</porttype>
  <port>12345</port>
 </rule>
 <enabled>true</enabled>
 <required>false</required>
</service>

这一段要加在最后一个</ConfigRoot>的前面。

然后再把权限 改回去,这样安全一些

chmod 444 /etc/vmware/firewall/service.xml
chmod -t /etc/vmware/firewall/service.xml


  刷新一下防火墙策略,你就能看到新的防火墙规则出现在了 vcenter 管理界面里,就可以按上面的步骤进行配置了。

  原本以为这样配置就 OK 了,但今天查找资料的时候发现 vmware 上的说明,自已修改的防火墙策略会在下一次引导后被还原,怎样让配置永久生效,还挺复杂,请关注下一篇博文。