使用FirewallD在CentOS 7上管理防火墙

检查 FirewallD 是否正在运行第一步是检查 FirewallD 是否已安装并正在运行 。这可以通过systemd运行以下命令来完成:
$ systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)Active: active (running) since Thu 2016-03-10 15:07:00 UTC; 1min 30s ago...或者,您可以使用以下firewall-cmd工具进行检查:
$ firewall-cmd --staterunning管理区域FirewallD 使用zones区域定义连接所用信任级别的概念进行操作 。您可以将不同的网络接口划分为不同的区域,以便对每个接口应用特定的防火墙规则,也可以对所有接口使用一个区域 。
开箱即用,所有操作都在默认public区域上完成,但是也可以应用其他几个预配置区域 。
列出所有可用区域您可能需要获取所有可用区域的列表,其中有些是开箱即用的 。同样,可以使用firewall-cmd以下命令完成此操作:
$ firewall-cmd --get-zonesblock dmz drop external home internal public trusted work检查默认区域您可以使用来发现当前配置的默认区域firewall-cmd
$ firewall-cmd --get-default-zonepublic如果您想更改默认区域(例如home),可以通过运行以下命令来完成:
$ firewall-cmd --set-default-zone=homesuccess此信息将反映在主配置文件中/etc/firewalld/firewalld.conf 。但是,建议您不要手动修改此文件,而应使用firewall-cmd
检查当前分配的区域您可以通过运行以下命令获取分配接口的区域列表:
$ firewall-cmd --get-active-zonespublicinterfaces: eth0您还可以eth0通过运行以下命令检查单个接口的区域(在这种情况下):
$firewall-cmd --get-zone-of-interface=eth0public创建区域如果默认的预配置区域无法完全满足您的需求,那么zone1再次创建新区域()的最简单方法是firewall-cmd
$ firewall-cmd --permanent --new-zone=zone1success创建后,您需要重新加载:
$ firewall-cmd --reloadsuccess将区域应用于接口为了将网络接口永久分配给一个区域,您可以使用firewall-cmd记住--permanent保留该标记以保留更改的方法 。如果使用NetworkManager,则还应确保使用nmcli来设置连接区域 。
$ firewall-cmd --permanent --zone=internal --change-interface=eth1`success获取区域的永久配置为了检查区域的永久配置(public在这种情况下),包括分配的接口,允许的服务,端口设置等,请运行:
$ firewall-cmd --permanent --zone=public --list-allpublic (default)interfaces:sources:services: dhcpv6-client sshports:masquerade: noforward-ports:icmp-blocks:rich rules:管理服务一旦分配并配置了所需的区域,就可以开始向区域添加服务 。服务描述了可以为区域访问的协议和端口 。
列出现有服务在 firewalld 中预先配置了许多常用服务 。这些可以列出:
$ firewall-cmd --get-servicesRH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns freeipa-ldap freeipa-ldaps freeipa-replication ftp high-availability http https imaps ipp ipp-client ipsec iscsi-target kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp openvpn pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind rsyncd samba samba-client smtp ssh telnet tftp tftp-client transmission-client vdsm vnc-server wbem-https您还可以获取为默认区域启用的服务的列表:

推荐阅读