在Linux服务器管理范畴内,CentOS 7的firewall配置属于每个系统管理员均需掌握的核心技能这一状况,极其关键。它将传统的iptables予以替代,借助动态防火墙守护进程firewalld来提供更具灵活性的区域管理机制这种情形,十分突出,不可小觑。合理地配置防火墙,不仅能够有效地阻挡非法访问,并且还能够保障关键服务稳定运行,此作用,颇为重要。后面我将依据实际应用这一角度着手,去分享firewall配置的整套流程,以及实用的技巧centos 7 firewall配置,这样的行为,具备相当的必要性。
为什么需要配置CentOS 7防火墙
现代服务器正备受各类网络威胁的困扰,默认的防火墙设置往往难以符合特定业务需求,通过精细化的规则配置,可把控不同区域的访问权限,比如把内部网络设为可信区域,将互联网连接定义为公共区域,在实际运维当中,因防火墙配置不正确导致服务无法访问的情况屡见不鲜,这充分显示了掌握配置方法的重要意义。

比如数据库服务,它只需朝着内部网络去进行开放,Web 服务器却得开放 80/443 端口,像这样拥有正确配置的防火墙能够切实削减攻击面。依靠 firewalld 的区这个概念,可以针对不一样的网络环境事先设定规则,在服务器从内部机房转移到公有云时,只要切换区域配置就能自动应用对应的防火墙策略。
如何查看防火墙当前状态
采用systemctl status firewalld这般操作,能够用以查验服务是否处于运行状态,正常状态理应显示成active (running)。通过firewall-cmd --state此途径,能够更为迅速地获取运行状态,要是返回running那就意味着服务已然启动了。要是发觉服务处于未运行状态,那就得借助systemctl start firewalld去启动该服务,还要将其设定为开机自启 。

递进运用firewall-cmd --list-all,即能借以查看当下处于激活状态区域的完整设置状况,其中包含被许可的服务、端口以及协议 。若要查看全部区域配置,那么添加--list-all-zones参数 。这些信息对于排查网络问题而言是起到无比关键之重要作用的,恰似去确认特定端口是否已然开放,又如同服务是否被准确无误地添加至允许列表当中 。
怎样永久开放特定端口
以临时方式开放端口,是通过使用firewall-cmd --add-port=8080/tcp来达成的64位linux,可是一旦重启,此操作所带来的效果就会失效。要是期望实现持久开放此端口,那就需要添加--permanent参数 ,具体操作为:firewall-cmd --permanent --add-port=8080/tcp。在执行完该操作之后呐,必须要进行重载配置或者重启服务这样的操作,才能够让所做的更改生效,而这一点恰恰是新手常常会遗漏掉的关键步骤 。

倘若出现需对端口予以批量开放的状况,那么能够多次执行 add-port 此命令,或者运用端口范围语法即 --add-port=8000 -- 8010/tcp。于实际应用情景里,建议同时添加临时与永久规则:先添加临时规则用以测试连通性,在确定没有错误后再转变为永久规则,避免因配置有误而导致服务中断。
如何配置防火墙允许服务
具备预定义常见服务配置的firewalld,类似http、https、ssh这些,运用firewall-cmd --add-service=http便可开放和HTTP服务相应的标准端口,通过--get-services能够查看全部预定义服务,并且这些配置是存于/usr/lib/firewalld/services/目录的XML文件之中的。
在下自定义服务的情形当中,是可以于 /etc/firewalld/services/ 这个目录去创建与之同名的 XML 文件的。要是在部署并非标准端口的 Web 服务之际,是能够复制 http.xml 模板进而修改端口号,然后凭借服务名直接进行引用的。这种方法相比于直接去操作端口而言是更加易于维护的,一旦服务端口出现变更,仅仅需要更新 XML 文件就行了。

什么时候需要设置防火墙区域
在网络环境发生变化之时,需要执行切换区域的操作,能够使用firewall-cmd --get-default-zone来查看默认区域,通过--set-default-zone=public去更改默认区域,利用firewall-cmd --get-active-zones查看激活区域以及相应的网卡,这种情形对于多网卡服务器而言特别关键。
当服务器有着同时具备内网以及外网 IP 的状况时,典型的案例是,需将内网卡设置成名为 trusted 的区域,以此来准许开展所有的访问,而外网卡则得设置成 public 区域,并且要实施严格的限制。采用firewall-cmd --zone=trusted -- add-face=ethd这样的一种办法centos 7 firewall配置,为特定的网卡分配区域,最终实现不同的接口能够运用不同的安全策略 。
怎样备份和恢复防火墙配置

仅有直接对 /etc/firewalld/ 目录予以备份,才能够将所有自定义配置留存下来,建议于重大变更之前去执行 cp -r /etc/firewalld/ /root/firewalld_backup 。倘若存在需要还原的情况,在停止服务之后对原目录进行覆盖接着重启即可。这种方法所具备的优点是能够完整地将所有区域和服务配置保存下来。
存在另外一种路径,借助firewall-cmd --runtime-to-permanent,将当下正在运行的配置转化为具备永久性的配置。再结合iptables-save样式的导出能力linux环境配置,可以运用firewall-cmd --list-all-zones > firewall_backup.txt这条指令,导出所有的相关规则。操作对于多台那些服务器,进行成批量来开展部署,这个期间,能够将备份所获取那文件,用作为模板这样东西,快速去应用,到别的另一些服务器以上头 。
这个过程是您在配置 CentOS 7 防火墙时,有没有碰到过格外棘手、属于网络方面的问题呢?欢迎在评论区域分享您在实战里积累的经验,要是感觉这篇文章对您有帮助,那就请点赞给予支持,并且分享给更多有需要的朋友们!
