本篇内容介绍了“怎么用FirewallD配置防火墙”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

firewalld是centos7系统默认的防火墙,和iptables一样,是使用系统中netfilter内核模块的管理工具。和iptables不一样的点 firewalld 使用区域和服务而不是链式规则。 它动态管理规则集,允许更新规则而不破坏现有会话和连接。

FirewallD 的区域zone

FirewallD 使用服务service 和区域zone来代替 iptables 的规则rule和链chain。

默认情况下,有以下的区域zone可用:

drop – 丢弃所有传入的网络数据包并且无回应,只有传出网络连接可用。
block — 拒绝所有传入网络数据包并回应一条主机禁止的 ICMP 消息,只有传出网络连接可用。
public — 只接受被选择的传入网络连接,用于公共区域。
external — 用于启用了地址伪装的外部网络,只接受选定的传入网络连接。
dmz — DMZ 隔离区,外部受限地访问内部网络,只接受选定的传入网络连接。
work — 对于处在你工作区域内的计算机,只接受被选择的传入网络连接。
home — 对于处在你家庭区域内的计算机,只接受被选择的传入网络连接。
internal — 对于处在你内部网络的计算机,只接受被选择的传入网络连接。
trusted — 所有网络连接都接受。

要列出所有可用的区域,运行:

#firewall-cmd--get-zonesworkdropinternalexternaltrustedhomedmzpublicblock

列出默认的区域 :

#firewall-cmd--get-default-zonepublic

改变默认的区域 :

#firewall-cmd--set-default-zone=dmz#firewall-cmd--get-default-zonedmzFirewallD 服务

FirewallD 服务使用 XML 配置文件,记录了 firewalld 服务信息。

列出所有可用的服务:

#firewall-cmd--get-servicesamanda-clientamanda-k5-clientbaculabacula-clientcephceph-mondhcpdhcpv6dhcpv6-clientdnsdocker-registrydropbox-lansyncfreeipa-ldapfreeipa-ldapsfreeipa-replicationftphigh-availabilityhttphttpsimapimapsippipp-clientipseciscsi-targetkadminkerberoskpasswdldapldapslibvirtlibvirt-tlsmdnsmoshmountdms-wbtmysqlnfsntpopenvpnpmcdpmproxypmwebapipmwebapispop3pop3spostgresqlprivoxyproxy-dhcpptppulseaudiopuppetmasterradiusrpc-bindrsyncdsambasamba-clientsanesmtpsmtpssnmpsnmptrapsquidsshsynergysyslogsyslog-tlstelnettftptftp-clienttinctor-sockstransmission-clientvdsmvnc-serverwbem-httpsxmpp-boshxmpp-clientxmpp-localxmpp-server

XML 配置文件存储在 /usr/lib/firewalld/services//etc/firewalld/services/ 目录下。

用 FirewallD 配置你的防火墙

作为一个例子,假设你正在运行一个 web 服务器,SSH 服务端口为 7022 ,以及邮件服务,你可以利用 FirewallD 这样配置你的服务器:

首先设置默认区为 dmz。

#firewall-cmd--set-default-zone=dmz#firewall-cmd--get-default-zonedmz

为 dmz 区添加持久性的 HTTP 和 HTTPS 规则:

#firewall-cmd--zone=dmz--add-service=http--permanent#firewall-cmd--zone=dmz--add-service=https--permanent

开启端口 25 (SMTP) 和端口 465 (SMTPS) :

firewall-cmd--zone=dmz--add-service=smtp--permanentfirewall-cmd--zone=dmz--add-service=smtps--permanent

开启 IMAP、IMAPS、POP3 和 POP3S 端口:

firewall-cmd--zone=dmz--add-service=imap--permanentfirewall-cmd--zone=dmz--add-service=imaps--permanentfirewall-cmd--zone=dmz--add-service=pop3--permanentfirewall-cmd--zone=dmz--add-service=pop3s--permanent

因为将 SSH 端口改到了 7022,所以要移除 ssh 服务(端口 22),开启端口 7022:

firewall-cmd--remove-service=ssh--permanentfirewall-cmd--add-port=7022/tcp--permanent

要应用这些更改,我们需要重新加载防火墙:

firewall-cmd--reload

最后可以列出这些规则:

#firewall-cmd–list-alldmztarget:defaulticmp-block-inversion:nointerfaces:sources:services:httphttpsimapimapspop3pop3ssmtpsmtpsports:7022/tcpprotocols:masquerade:noforward-ports:sourceports:icmp-blocks:richrules:

“怎么用FirewallD配置防火墙”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!