13 虚拟机防火墙管理
13 虚拟机防火墙管理
在网络防护方面,PVE提供了相当良好的防火墙管理功能,并且可以适用于节点实体机、客体机、让客体机内不需要另外再安装软体防火墙,对于效能与统一管理大有助益,管理者可以方便一次管理所有的防火墙规则,降低管理操作负担。
13.1 启用防火墙功能
** 启用资料中心防火墙**
- 请在左方资源检视区中选择【资料中心】,并切换至【防火墙】页签,点选【选项】,查看目前资料中心级的防火墙是否启用。
- 若清单中的【防火墙】项目设定为【否】,请点选两下后将其勾选,将它启用。启用完成后,其他项目保持为预设即可。
** 启用节点防火墙**
- 在资源检视区中选取节点,本例为【host-106】,切换至【防火墙】页签,点选【选项】,查看目前节点级的防火墙是否启用。
- 预设已经启用,若它呈现为【否】,请点选两下进入,并将它启用。
** 启用节点防火墙服务**
- 设定完成以后,还需要确认防火墙服务是否有在运作中。
- 请切换至【系统】页签,在右方服务清单中,确认【pve-firewall】服务有在执行中(running),若没有的话,请按上方的【启动】按钮,将它执行起来。
** 启用客体机防火墙**
- 请在左方资源检视区选取客体机后,切换至【防火墙】页签,点选【选项】,查看客体机防火墙是否启用。
- 若无启用的话,将它设定为【是】,其预设值为【否】。
** 启用客体机网络装置支援防火墙**
防火墙相关服务与设定调整完成后,还需要将客体机的网络装置启用防火墙支援,才能正确启动。
- 切换至硬体页签,点选【网路装置(net0)】两下进入设定视窗。
- 进入客体机网路装置设定视窗,确认【防火墙】核取方块已勾选,即可按下【完成】按钮。若有正确设定,会在硬体清单中的网路装置项目后有【firewall=1】的字样,即表示成功。
13.2 设定防火墙规则
待防火墙的相关前置作业完成后,就可以准备进行客体机的防火墙规则设定。在预设的情况下,所有的输入(Input)流量都被阻挡,输出(Output)原则预设放行,稍后的规则设定将以此原则进行建立。切换至【防火墙】,再按下【增加】按钮,进入新增防火墙规则设定视窗。
** 范例:开启SSH连入规则**
若要开放客体机的SSH供连入使用,可参考以下的配置范例。
- 方向:选择【in】,表示输入。
- 动作:选择【ACCEPT】,表示允许通过。
- 介面:若留空,表示套用至此客体机的所有网路装置。要指定客体机的特定网路装置,可以填入如【net0】或【net1】等。
- 启用:勾选即表示让此规则生效。
- 巨集:请在下拉清单选取【ssh】。
- 来源地址:指定哪些来源网路符合SSH使用规则,可以使用单一IP或者指定网段。留空则表示所有来源地址皆符合原则。
- 目标位址:指定要连往的目标位址规则,同样可以使用IP、网段、或者留空表示所有目标皆符合规则,亦表示这台客体机拥有的所有IP。
- 备注:可以在此输入说明事项。
- 记录层级:设定要写入至记录的资讯层级,【nolog】表示不做任何记录,其他有多种类型可以选,如果要启用,建议可以选择【err】,以避免太多讯息将记录塞爆。
选项确认无误后,按下【完成】按钮,将规则存入。待回到规则清单后,可以看到多出一笔新的防火墙规则,可以在它前方的核取方块按一下,将规则切换为【启用】。
** 范例:开启8080连接埠连入规则**
若要开放特定连接埠连入,可参考以下的配置范例,重复部分参考前一小节。
- 协定:请选择【tcp】协定。
- 目标连接埠:请输入【8080】连接埠号。
- 备注:可以在此输入说明事项,例如:开放Web 8080 Port,以便日后参考。
选项确认无误后,按下【完成】按钮,将规则存入。待回到规则清单后,可以看到多出一笔新的防火墙规则,可以在它前方的核取方块按一下,将规则切换为【启用】。
13.3 检视防火墙规则记录
若防火墙规则有启用记录功能,当符合记录层级的资讯产生时,将会被记录起来。要检视相关内容,可以切换至【防火墙】页签,点选【记录】,右方即会显示相关的资讯内容。
13.4 管理IP集合
有些经常用来设定的网路主机IP或网段,可以在IP集合功能里预先建立好,并且赋予一个易于记住的名称,届时在各个客体机之间要设定时,可以省下许多时间。
- 在资源检视区选取【资料中心】切换至【防火墙】页签,选取【IPSet】,再按下IPSet旁的【建立】按钮。
- 接着在IP集合名称设定对话框,可以输入名称如【lan_trust】,备注则填写易懂的内容如【内部信任网段】,备注可以使用中文没有问题。
- 建立IP集合项目完成后,会出现在清单之中,先选取它,接下来要在这个IP集合之下,把IP或网段加进来。请点选右方的【IP/CIDR】的【增加】按钮。
- 进入设定选项视窗后,请在【IP/CIDR】输入预计的目标,例如:可以使用【192.168.1.0/24】或者【192.168.2.100】这样的表示方式。在【备注】栏位中可输入详细的说明资讯,最后按下【建立】按钮即可。
- 完成后,即可在清单中检视设定的多笔项目。
13.5 管理安全群组
对于一些常用的连线目标或来源,以及经常允许或阻挡的连接埠,可以使用【安全群组】功能一次预先设定好,方便让客体机设定时简化更多的程序。
- 切换至【防火墙】,选取【安全群组】,再按下群组旁边的【建立】按钮。
- 在弹出的安全群组名称选项视窗中,填入名称如【it_manager】,备注则可以使用中文。
- 建立完成后,在清单中选取它,然后至右边规则旁边的【增加】按钮,将它按下。
- 进入增加规则的视窗后,与前面的建立客体虚拟机防火墙规则方式一模一样。这里我将以建立【允许外部电脑经由VPN网段进入后,可以放行至网段区网所有主机的SSH连线】为例。
- 方向:连入【in】。
- 动作:允许放行【ACCEPT】
- 巨集:选取【SSH】。
- 来源地址:输入【192.168.1.11】,这是VPN伺服器地址。
- 目标位址:在下拉清单中,可以选取在稍早建立过的IP集合【+lan_trust】,选择为IP集合者,前方会有一个加号。
- 备注:填入要说明的详细资讯。
- 记录层级:选取【err】,用以日后记录分析使用。
- 最后按下【增加】按钮存入,回到清单中即可检视。若确认无误,可勾选前方的核取方块,让它开始生效。
13.6 客体机使用安全群组与IP集合
- 请选取要设定的客体机,切换至【防火墙】页签,再按下【新增:安全群组】。
- 进入增加安全群组的选项视窗后,至【安全群组】下拉清单中选取稍早前建立过的【it_manager】安全群组;【介面】栏位可以填入要套用的客体机网路介面;【备注】栏位可以输入详细说明资讯,以免日后忘记用途,最后按下【增加】按钮。
- 当确认清单的内容无误后,可以勾选前面的【启用】核取方块,来让它生效。
13.7 开放系统管理连接埠
在预设的防火墙规则中,输入原则是【DROP】,表示所有连入的流量都会被丢弃。但当我们实际把防火墙功能启用时,会发现仍然可以经由WebUI的8006连接埠进入PVE使用,这是为什么呢?
这是为了避免启用防火墙后,结果造成把管理员自己挡在外面的窘境,当启用PVE防火墙后,预设会挡下所有连入的行为,但唯一例外的两个连接埠就是【ssh(22)】以及【WebUI(8006)】,并且只限定【与节点同网段的IP】才可以连入。
如果进一步设定只有特定IP才可以连接至PVE节点的WebUI(8006)管理连接埠,可以手动加入两条规则:先建立ACCEPT来源,再DROP连接至这两个Port的所有行为。