烤鸭新语 發表於 2019-11-7 12:07:00

CentOS 7 firewalld详解,添加删除策略

<h2>一、CentOS7中firewall防火墙</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">修改防火墙配置文件之前,需要对之前防火墙【/etc/firewalld/zones/public.xml】做好备份
重启防火墙后,需要确认防火墙状态和防火墙规则是否加载,若重启失败或规则加载失败,则所有请求都会被防火墙。
1.firewall-cmd --state         #查看firewall的状态
firewall-cmd --list-all      #查看防火墙规则(只显示/etc/firewalld/zones/public.xml中防火墙策略)
firewall-cmd --list-all-zones#查看所有的防火墙策略(即显示/etc/firewalld/zones/下的所有策略)
firewall-cmd --reload          #重新加载配置文件
2、关闭firewall:
systemctl stop firewalld.service      #停止firewall
systemctl disable firewalld.service   #禁止firewall开机启动
firewall-cmd --state                  #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
3、firewalld的基本使用
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
4.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
5.配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息:firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
</pre>
</div>
<h2>二、防火墙配置文件</h2>
<div class="cnblogs_code">
<pre># <span style="background-color: rgba(153, 204, 0, 1)">iptables -L -</span><span style="color: rgba(0, 0, 0, 1)"><span style="background-color: rgba(153, 204, 0, 1)">n</span>
Chain INPUT (policy ACCEPT)
target   prot opt source               destination         
ACCEPT   all</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">            ctstate RELATED,ESTABLISHED
ACCEPT   all</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
INPUT_directall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
INPUT_ZONES_SOURCEall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
INPUT_ZONESall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
DROP       all</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">            ctstate INVALID
REJECT   all</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            reject-with icmp-host-<span style="color: rgba(0, 0, 0, 1)">prohibited

Chain FORWARD (policy ACCEPT)
target   prot opt source               destination         
ACCEPT   all</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">            ctstate RELATED,ESTABLISHED
ACCEPT   all</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
FORWARD_directall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
FORWARD_IN_ZONES_SOURCEall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
FORWARD_IN_ZONESall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
FORWARD_OUT_ZONES_SOURCEall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
FORWARD_OUT_ZONESall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
DROP       all</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">            ctstate INVALID
REJECT   all</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            reject-with icmp-host-<span style="color: rgba(0, 0, 0, 1)">prohibited

Chain OUTPUT (policy ACCEPT)
target   prot opt source               destination         
OUTPUT_directall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         

Chain FORWARD_IN_ZONES (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         
FWDI_publicall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>         [<span style="color: rgba(0, 0, 255, 1)">goto</span><span style="color: rgba(0, 0, 0, 1)">]
FWDI_publicall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>         [<span style="color: rgba(0, 0, 255, 1)">goto</span><span style="color: rgba(0, 0, 0, 1)">]

Chain FORWARD_IN_ZONES_SOURCE (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain FORWARD_OUT_ZONES (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         
FWDO_publicall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>         [<span style="color: rgba(0, 0, 255, 1)">goto</span><span style="color: rgba(0, 0, 0, 1)">]
FWDO_publicall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>         [<span style="color: rgba(0, 0, 255, 1)">goto</span><span style="color: rgba(0, 0, 0, 1)">]

Chain FORWARD_OUT_ZONES_SOURCE (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain FORWARD_direct (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain FWDI_public (</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         
FWDI_public_logall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
FWDI_public_denyall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
FWDI_public_allowall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
ACCEPT   icmp </span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         

Chain FWDI_public_allow (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain FWDI_public_deny (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain FWDI_public_log (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain FWDO_public (</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         
FWDO_public_logall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
FWDO_public_denyall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
FWDO_public_allowall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         

Chain FWDO_public_allow (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain FWDO_public_deny (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain FWDO_public_log (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain INPUT_ZONES (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         
IN_publicall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>         [<span style="color: rgba(0, 0, 255, 1)">goto</span><span style="color: rgba(0, 0, 0, 1)">]
IN_publicall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>         [<span style="color: rgba(0, 0, 255, 1)">goto</span><span style="color: rgba(0, 0, 0, 1)">]

Chain INPUT_ZONES_SOURCE (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain INPUT_direct (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain IN_public (</span><span style="color: rgba(128, 0, 128, 1)">2</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         
IN_public_logall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
IN_public_denyall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
IN_public_allowall</span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         
ACCEPT   icmp </span>--<span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span>            <span style="color: rgba(128, 0, 128, 1)">0.0</span>.<span style="color: rgba(128, 0, 128, 1)">0.0</span>/<span style="color: rgba(128, 0, 128, 1)">0</span><span style="color: rgba(0, 0, 0, 1)">         

Chain IN_public_allow (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         
<span style="color: rgba(153, 204, 0, 1)">ACCEPT   tcp</span></span><span style="color: rgba(153, 204, 0, 1)">--172.17.134.13      0.0.0.0/0            tcp dpt:2181 ctstate NEW
ACCEPT   all--172.17.134.13      0.0.0.0/0            tcp ctstate NEW,UNTRACKED
ACCEPT   all--172.17.172.236       0.0.0.0/0         
ACCEPT   tcp--0.0.0.0/0            0.0.0.0/0            tcp dpt:22 ctstate NEW</span><span style="color: rgba(0, 0, 0, 1)">

Chain IN_public_deny (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain IN_public_log (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination         

Chain OUTPUT_direct (</span><span style="color: rgba(128, 0, 128, 1)">1</span><span style="color: rgba(0, 0, 0, 1)"> references)
target   prot opt source               destination

# <span style="background-color: rgba(153, 204, 0, 1)">cat /etc/firewalld/zones/<span style="color: rgba(0, 0, 255, 1)">public</span><span style="color: rgba(0, 0, 0, 1)">.xml
</span></span>&lt;?xml version=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">1.0</span><span style="color: rgba(128, 0, 0, 1)">"</span> encoding=<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)">utf-8</span><span style="color: rgba(128, 0, 0, 1)">"</span>?&gt;
&lt;zone&gt;
<span style="color: rgba(0, 0, 0, 1)">&lt;short&gt;Public&lt;/short&gt;</span>
&lt;description&gt;For use <span style="color: rgba(0, 0, 0, 1)">in public</span> areas. You <span style="color: rgba(0, 0, 0, 1)">do</span> not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.&lt;/description&gt;
<span style="color: rgba(0, 0, 255, 1)">&lt;service name="ssh"/&gt;
&lt;service name="dhcpv6-client"/&gt;
&lt;port protocol="tcp" port="8715"/&gt;
&lt;port protocol="tcp" port="80"/&gt;</span>
<span style="color: rgba(153, 204, 0, 1)">&lt;rule family="ipv4"&gt;
    &lt;source address="172.17.134.13"/&gt;
    &lt;port protocol="tcp" port="2181"/&gt;
    &lt;accept/&gt;
&lt;/rule&gt;</span>
<span style="color: rgba(0, 0, 255, 1)"><span style="color: rgba(153, 204, 0, 1)">&lt;rule family="ipv4"&gt;
    &lt;source address="172.17.134.13"/&gt;</span><br><span style="color: rgba(153, 204, 0, 1)">    &lt;port protocol="tcp" port="0-65535"/&gt;
    &lt;accept/&gt;
&lt;/rule&gt;</span>
<span style="color: rgba(153, 204, 0, 1)">&lt;rule family="ipv4"&gt;
    &lt;source address="172.17.172.236"/&gt;
    &lt;accept/&gt;
&lt;/rule&gt;</span></span>
&lt;/zone&gt;</pre>
</div>
<h2><span style="font-size: 1.17em">三、Centos7的firewalld开启端口/IP、屏蔽IP</span></h2>
<p>&nbsp;</p>
<div class="cnblogs_code">
<pre><span style="color: rgba(0, 0, 0, 1)">开启防火墙:systemctl start firewalld
查看开放的端口和服务以及屏蔽的IP:firewall</span>-cmd --zone=<span style="color: rgba(0, 0, 255, 1)">public</span> --list-<span style="color: rgba(0, 0, 0, 1)">all
查看系统中查看系统中可用的服务:firewall</span>-cmd --<span style="color: rgba(0, 0, 255, 1)">get</span>-<span style="color: rgba(0, 0, 0, 1)">services<br>
允许全部网段访问本机80端口:firewall</span>-cmd --permanent --zone=<span style="color: rgba(0, 0, 255, 1)">public</span> <span style="background-color: rgba(255, 255, 0, 1)">--add-port=<span style="color: rgba(128, 0, 128, 1)">80</span>/tcp</span>(--<span style="color: rgba(0, 0, 0, 1)">permanent永久生效,没有此参数重启后失效)
查看:                     firewall</span>-cmd --zone= <span style="color: rgba(0, 0, 255, 1)">public</span> --query-port=<span style="color: rgba(128, 0, 128, 1)">80</span>/<span style="color: rgba(0, 0, 0, 1)">tcp<br><br>### 添加规则允许规则:
允许全部网段访问本机端口段:          firewall</span>-cmd --permanent --zone=<span style="color: rgba(0, 0, 255, 1)">public</span> <span style="background-color: rgba(255, 255, 0, 1)">--add-port=<span style="color: rgba(128, 0, 128, 1)">5060</span>-<span style="color: rgba(128, 0, 128, 1)">5061</span>/udp</span> <span style="color: rgba(0, 0, 0, 1)">
允许[指定IP]访问本机10050: </span>         firewall-cmd --permanent --zone=public <span style="background-color: rgba(255, 255, 0, 1)">--add-rich-rule=<span style="color: rgba(128, 0, 0, 1)">"</span></span><span style="color: rgba(128, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)">rule</span> family=</span><span style="color: rgba(128, 0, 0, 1)">"</span>ipv4<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> source address=</span><span style="color: rgba(128, 0, 0, 1)">"172.17.134.13</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> port protocol=</span><span style="color: rgba(128, 0, 0, 1)">"</span>tcp<span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> port=</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 128, 1)">10050</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(128, 0, 0, 1)"> accept</span><span style="color: rgba(128, 0, 0, 1)">"<br>允许[指定IP]访问本机全部tcp端口:&nbsp; &nbsp; &nbsp;firewall-cmd --permanent --zone=public <span style="background-color: rgba(255, 255, 0, 1)">--add-rich-rule="rule</span> family="ipv4" source address="172.17.134.13" port protocol="tcp" port="0-65535" accept"</span><span style="color: rgba(0, 0, 0, 1)"><br>允许[指定IP]访问本机全部端口:&nbsp; &nbsp; &nbsp;   firewall-cmd --permanent --zone=public <span style="background-color: rgba(255, 255, 0, 1)">--add-rich-rule="rule</span> family="ipv4" source address="172.17.172.236"&nbsp; accept"<br>允许[指定IP段]访问本机全部端口:     firewall-cmd --permanent --zone=public <span style="background-color: rgba(255, 255, 0, 1)">--add-rich-rule="rule</span> family="ipv4" source address="192.168.1.0/24" accept"<br>允许[指定IP段]访问本机8080-8090端口: firewall-cmd --permanent --zone=public <span style="background-color: rgba(255, 255, 0, 1)">--add-rich-rule='rule</span> family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080-8090" accept'<br></span><span style="color: rgba(0, 0, 0, 1)"><br>### 添加禁止规则:
禁止[指定IP]访问本机8080端口:firewall</span>-cmd --permanent --zone=public <span style="background-color: rgba(255, 255, 0, 1)">--add-rich-rule=<span style="color: rgba(128, 0, 0, 1)">'</span></span><span style="color: rgba(128, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)">rule</span> family="ipv4" source address="192.168.1.1" port protocol="tcp" port="8080" reject</span><span style="color: rgba(128, 0, 0, 1)">'</span><span style="color: rgba(0, 0, 0, 1)">
屏蔽[指定IP](reject):      firewall</span>-cmd --permanent --zone=public <span style="background-color: rgba(255, 255, 0, 1)">--add-rich-rule=<span style="color: rgba(128, 0, 0, 1)">"</span></span><span style="color: rgba(128, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)">rule</span> family=ipv4 source address=43.229.53.61 reject</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
屏蔽[指定IP段](drop):       firewall</span>-cmd --permanent --zone=<span style="color: rgba(0, 0, 255, 1)">public</span> <span style="background-color: rgba(255, 255, 0, 1)">--add-rich-rule=<span style="color: rgba(128, 0, 0, 1)">"</span></span><span style="color: rgba(128, 0, 0, 1)"><span style="background-color: rgba(255, 255, 0, 1)">rule</span> family=ipv4 source address='x.x.x.x/24'drop</span><span style="color: rgba(128, 0, 0, 1)">"</span><span style="color: rgba(0, 0, 0, 1)">
<br>###删除添加的规则:<br>删除端口:&nbsp; &nbsp;firewall-cmd --permanent --zone=public <span style="background-color: rgba(255, 0, 0, 1)">--</span><span style="background-color: rgba(255, 0, 0, 1)">remove-port</span>=8080/tcp&nbsp;<br>删除IP+端口:firewall-cmd --permanent --zone=public <span style="background-color: rgba(255, 0, 0, 1)">--</span><span style="background-color: rgba(255, 0, 0, 1)">remove-rich-rule</span>="rule family="ipv4" source address="10.0.5.0/24" port protocol="tcp" port="10050" accept"<br>
***添加或者修改完规则后必须热加载才能生效:firewall</span>-cmd --<span style="color: rgba(0, 0, 0, 1)">reload
查看屏蔽结果:firewall</span>-cmd --list-rich-<span style="color: rgba(0, 0, 0, 1)">rules
因为在</span>/usr/lib/firewalld/services/中事先定义了ssh.xml的相应的规则</pre>
</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div class="line number10 index9 alt1">
<h2><span style="font-size: 1.17em">四、firewalld防火墙 禁止/限制 特定用户的IP访问,drop和reject区别</span></h2>
<div class="cnblogs_Highlighter">
<pre class="brush:bash;gutter:true;">1.drop禁止特定ip连接ssh/22服务
firewall-cmd --permanent --zone=public --add-rich-rule="rule family=ipv4 source address='x.x.x.x/24' service name='ssh' drop"
firewall-cmd --reload ##重新加载防火墙配置,不然firewall-cmd --list-all-zones不会显示刚加上的规则

2.reject禁止特定ip连接ssh/22服务
firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='x.x.x.x/24' service name='ssh' reject"
firewall-cmd --permanent --zone=public --add-rich-rule="rule family='ipv4' source address='x.x.x.x/24' port port=22 protocol=tcp reject"
firewall-cmd --reload
3.accept运行特定ip连接ssh/22服务
firewall-cmd --permanent --zone=public --add-rich-rule="rule family=ipv4 source address='x.x.x.x/24' port port=22 procotol=tcp accept"
firewall-cmd --reload
防火墙内的策略动作有DROP和REJECT两种,区别如下:
1、DROP动作只是简单的直接丢弃数据,并不反馈任何回应。需要Client等待超时,Client容易发现自己被防火墙所阻挡。
2、REJECT动作则会更为礼貌的返回一个拒绝(终止)数据包(TCP FIN或UDP-ICMP-PORT-UNREACHABLE),明确的拒绝对方的连接动作。连接马上断开,Client会认为访问的主机不存在。REJECT在IPTABLES里面有一些返回参数,参数如下:ICMP port-unreachable、ICMP echo-reply 或是 tcp-reset(这个封包会要求对方关闭联机),进行完此处理动作后,将不再比对其它规则,直接中断过滤程序。

    至于使用DROP还是REJECT更合适一直未有定论,因为的确二者都有适用的场合。REJECT是一种更符合规范的处理方式,并且在可控的网络环境中,更易于诊断和调试网络/防火墙所产生的问题;而DROP则提供了更高的防火墙安全性和稍许的效率提高,但是由于DROP不很规范(不很符合TCP连接规范)的处理方式,可能会对你的网络造成一些不可预期或难以诊断的问题。因为DROP虽然单方面的中断了连接,但是并不返回任何拒绝信息,因此连接客户端将被动的等到tcp session超时才能判断连接是否成功,这样早企业内部网络中会有一些问题,例如某些客户端程序或应用需要IDENT协议支持(TCP Port 113, RFC 1413),如果防火墙未经通知的应用了DROP规则的话,所有的同类连接都会失败,并且由于超时时间,将导致难以判断是由于防火墙引起的问题还是网络设备/线路 故障。

    一点个人经验,在部署防火墙时,如果是面向企业内部(或部分可信任网络),那么最好使用更绅士REJECT方法,对于需要经常变更或调试规则的网络也是如此;而对于面向危险的Internet/Extranet的防火墙,则有必要使用更为粗暴但是安全的DROP方法,可以在一定程度上延缓******的进度(和难度,至少,DROP可以使他们进行TCP-Connect方式端口扫描时间更长)。
</pre>
</div>
<p>&nbsp;</p>
<p>  </p>
<p>&nbsp;</p>
</div><br><br>
来源:https://www.cnblogs.com/faithH/p/11811286.html
頁: [1]
查看完整版本: CentOS 7 firewalld详解,添加删除策略