内容目录:
内容一:防火墙信息查询
1.1 防火墙运行状态查询
1.2 防火墙默认信息查询
1.2.1 查看防火墙的所有区域
1.2.2 查看防火墙支持的所有服务
1.2.3 查看防火墙支持的所有 icmp 协议
1.3 查看防火墙当前所在的区域
1.4 查看防火墙的策略
1.4.1 查看防火墙当前所在的区域的所有策略
1.4.2 查看所有区域的所有策略
1.4.3 查看某一个区域的策略
1.4.3.1 查看某一个区域的策略的格式
1.4.3.2 查看某一个区域的策略的案例
内容二: 区域的网卡管理
2.1 查看网卡所在的区域
2.1.1 查看哪些区域处于激活状态
2.1.2 查看某一个网卡所属的区域
2.1.2.1 查看某一个网卡所属的区域的格式
2.1.2.2 查看某一个网卡所属的区域的案例
2.2 将某一个网卡放入某一个区域
2.2.1 将某一个网卡放入某一个区域的格式
2.2.2 将某一个网卡放入某一个区域的案例
2.3 将某一个网卡从某一个区域删除
2.3.1 将某一个网卡从某一个区域删除的格式
2.3.2 将某一个网卡从某一个区域删除的案例
内容三:防火墙区域设置
3.1 查看防火墙目前所在的区域
3.2 指定防火墙的区域
3.2.1 指定防火墙的区域的格式
3.2.2 指定防火墙的区域的案例
内容四:防火墙暂时策略设置(防火墙重启后失效)
4.1 开放策略相关
4.1.1 暂时开放端口
4.1.1.1 暂时在防火墙当前所在区域里开放某一个端口
4.1.1.1.1 暂时在防火墙当前所在区域里开放某一个端口的格式
4.1.1.1.2 暂时在防火墙当前所在区域里开放某一个端口的案例
4.1.1.2 暂时在防火墙当前所在区域里开放某一个服务的所有端口
4.1.1.2.1 暂时在防火墙当前所在区域里开放某一个服务的所有端口的格式
4.1.1.2.2 暂时在防火墙当前所在区域里开放某一个服务的所有端口的案例
4.1.1.3 暂时在防火墙当前所在区域里对某个网段开放某一个端口
4.1.1.3.1 暂时在防火墙当前所在区域里对某个网段开放某一个端口的格式
4.1.1.3.2 暂时在防火墙当前所在区域里对某个网段开放某一个端口的案例
4.1.1.4 暂时在防火墙当前所在区域里对某一个 IP 地址开放多个端口
4.1.1.4.1 暂时在防火墙当前所在区域里对某一个 IP 地址开放多个端口的格式
4.1.1.4.2 暂时在防火墙当前所在区域里对某一个 IP 地址开放多个端口的案例
4.1.1.5 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址开放多个端口
4.1.1.5.1 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址开放多个端口的格式
4.1.1.5.2 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址开放多个端口的案例
4.1.2 暂时关闭已开放的端口
4.1.2.1 暂时在防火墙当前所在区域里关闭已开放的某一个端口
4.1.2.1.1 暂时在防火墙当前所在区域里关闭已开放的某一个端口的格式
4.1.2.1.2 暂时在防火墙当前所在区域里关闭已开放的某一个端口的案例
4.1.2.2 暂时在防火墙当前所在区域里关闭已开放的某一个服务的所有端口
4.1.2.2.1 暂时在防火墙当前所在区域里关闭已开放的某一个服务的所有端口的格式
4.1.2.2.2 暂时在防火墙当前所在区域里关闭已开放的某一个服务的所有端口的案例
4.1.2.3 暂时在防火墙当前所在区域里关闭已开放的对某个网段开放某一个端口
4.1.2.3.1 暂时在防火墙当前所在区域里关闭已开放的对某个网段开放某一个端口的格式
4.1.2.3.2 暂时在防火墙当前所在区域里关闭已开放的对某个网段开放的某一个端口的案例
4.1.2.4 暂时在防火墙当前所在区域里关闭已开放的对某一个 IP 地址开放的多个端口
4.1.2.4.1 暂时在防火墙当前所在区域里关闭已开放的对某一个 IP 地址开放的多个端口的格式
4.1.2.4.2 暂时在防火墙当前所在区域里关闭已开放的对某一个 IP 地址开放的多个端口的案例
4.1.2.5 暂时在防火墙当前所在区域里关闭对除了某一个 IP 地址外的 IP 地址开放多个端口
4.1.2.5.1 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址开放多个端口的格式
4.1.2.5.2 暂时在防火墙当前所在区域里关闭对除了某一个 IP 地址外的 IP 地址开放多个端口的案例
4.2 拒绝策略相关
4.2.1 暂时拒绝端口
4.2.1.1 暂时在防火墙当前所在区域里对某个网段拒绝某一个端口
4.2.1.1.1 暂时在防火墙当前所在区域里对某个网段拒绝某一个端口的格式
4.2.1.1.2 暂时在防火墙当前所在区域里对某个网段拒绝某一个端口的案例
4.2.1.2 暂时在防火墙当前所在区域里对某一个 IP 地址拒绝多个端口
4.2.1.2.1 暂时在防火墙当前所在区域里对某个网段拒绝某一个端口的格式
4.2.1.2.2 暂时在防火墙当前所在区域里对某个网段拒绝某一个端口的案例
4.2.1.2 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址拒绝多个端口
4.2.1.2.1 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址拒绝多个端口的格式
4.2.1.2.2 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址拒绝多个端口的案例
4.2.2 暂时撤销已拒绝端口
4.2.2.1 暂时在防火墙当前所在区域里撤销已设置的对某个网段拒绝某一个端口
4.2.2.1.1 暂时在防火墙当前所在区域里撤销已设置的对某个网段拒绝某一个端口的格式
4.2.2.1.2 暂时在防火墙当前所在区域里撤销撤销已设置的对某个网段拒绝某一个端口的案例
4.2.2.2 暂时在防火墙当前所在区域里撤销已设置的对某一个 IP 地址拒绝多个端口
4.2.2.2.1 暂时在防火墙当前所在区域里撤销已设置的对某个网段拒绝某一个端口的格式
4.2.2.1.2 暂时在防火墙当前所在区域里撤销已设置的对某个网段拒绝某一个端口的案例
4.2.3.2 暂时在防火墙当前所在区域里撤销已设置的对除了某一个 IP 地址外的 IP 地址拒绝多个端口
4.2.3.2.1 暂时在防火墙当前所在区域里撤销已设置的对除了某一个 IP 地址外的 IP 地址拒绝多个端口的格式
4.2.2.3.2 暂时在防火墙当前所在区域里撤销已设置的对除了某一个 IP 地址外的 IP 地址拒绝多个端口的案例
4.3 转发策略相关
4.3.1 开启防火墙转发策略
4.3.2 暂时在防火墙当前所在区域里开启一个端口跳转到另一个 IP 地址的另一个端口
4.3.2.1 暂时在防火墙当前所在区域里开启一个端口跳转到另一个 IP 地址的另一个端口的格式
4.3.2.2 暂时在防火墙当前所在区域里开启一个端口跳转到另一个 IP 地址的另一个端口的案例
4.3.3 暂时在防火墙当前所在区域里关闭已开放的一个端口跳转到另一个 IP 地址的另一个端口
4.3.3.1 暂时在防火墙当前所在区域里关闭已开放的一个端口跳转到另一个 IP 地址的另一个端口的格式
4.3.3.2 暂时在防火墙当前所在区域里关闭已开放的一个端口跳转到另一个 IP 地址的另一个端口的案例
内容五:防火墙暂时禁止 icmp 的设置
5.1 防火墙暂时禁止 icmp
5.2 防火墙暂时取消禁止 icmp
内容六:防火墙暂时禁止所有网络的设置
6.1 让防火墙暂时进入拒绝模式
6.2 取消防火墙的拒绝模式
6.3 查看防火墙目前的状态
内容七:将防火墙暂时策略的设置方法转换成永久策略和限时策略的设置方法
7.1 防火墙暂时策略的设置方法
7.2 防火墙永久策略的设置
7.3 防火墙限时策略的设置
内容八:防火墙策略的加载
8.1 使用防火墙命令加载策略
8.2 在系统层面上重启防火墙以加载策略
相关链接:与 firewall-cmd 相关的 shell 脚本
具体的内容:
内容一:防火墙信息查询
1.1 防火墙运行状态查询
# firewall-cmd –state
1.2 防火墙默认信息查询
1.2.1 查看防火墙的所有区域
# firewall-cmd --get-zones
1.2.2 查看防火墙支持的所有服务
# firewall-cmd --get-services
1.2.3 查看防火墙支持的所有 icmp 协议
# firewall-cmd --get-icmptypes
1.3 查看防火墙当前所在的区域
# firewall-cmd --get-default-zone
1.4 查看防火墙的策略
1.4.1 查看防火墙当前所在的区域的所有策略
# firewall-cmd --list-all
1.4.2 查看所有区域的所有策略
# firewall-cmd --list-all-zones
1.4.3 查看某一个区域的策略
1.4.3.1 查看某一个区域的策略的格式
# firewall-cmd --zone=<zone> --list-all
1.4.3.2 查看某一个区域的策略的案例
# firewall-cmd --zone=public --list-all
内容二: 区域的网卡管理
2.1 查看网卡所在的区域
2.1.1 查看哪些区域处于激活状态
# firewall-cmd --get-active-zones
(注意:只有放入了显卡的区域才会处于激活状态)
2.1.2 查看某一个网卡所属的区域
2.1.2.1 查看某一个网卡所属的区域的格式
# firewall-cmd –get-zone-of-interface=<network card>
2.1.2.2 查看某一个网卡所属的区域的案例
# firewall-cmd --get-zone-of-interface=eth0
(补充:这里以往区域里加入 eth0 网卡为例)
2.2 将某一个网卡放入某一个区域
2.2.1 将某一个网卡放入某一个区域的格式
# firewall-cmd --zone=<zone> --add-interface=<network card>
2.2.2 将某一个网卡放入某一个区域的案例
# firewall-cmd --zone=public --add-interface=eth0
(补充:这里以往 public 区域里加入 eth0 网卡为例)
2.3 将某一个网卡从某一个区域删除
2.3.1 将某一个网卡从某一个区域删除的格式
# firewall-cmd --zone=<zone> --remove-interface=<network card>
2.3.2 将某一个网卡从某一个区域删除的案例
# firewall-cmd --zone=public --remove-interface=eth0
(补充:这里以从 public 区域删除 eth0 网卡为例)
内容三:防火墙区域设置
3.1 查看防火墙目前所在的区域
# firewall-cmd --get-default
3.2 指定防火墙的区域
3.2.1 指定防火墙的区域的格式
# firewall-cmd --set-default=<zone>
3.2.2 指定防火墙的区域的案例
# firewall-cmd --set-default=public
(补充:这里以将默认区域设置为 public 为例)
内容四:防火墙暂时策略设置(防火墙重启后失效)
(注意:防火墙的规则没有现后之分,但是拒绝规则永远高于允许规则)
4.1 开放策略相关
4.1.1 暂时开放端口
4.1.1.1 暂时在防火墙当前所在区域里开放某一个端口
4.1.1.1.1 暂时在防火墙当前所在区域里开放某一个端口的格式
# firewall-cmd --add-port=<port>/tcp
4.1.1.1.2 暂时在防火墙当前所在区域里开放某一个端口的案例
# firewall-cmd --add-port=80/tcp
(补充:这里以暂时添加 80/TCP 端口为例)
4.1.1.2 暂时在防火墙当前所在区域里开放某一个服务的所有端口
4.1.1.2.1 暂时在防火墙当前所在区域里开放某一个服务的所有端口的格式
# firewall-cmd --add-service=<service>
4.1.1.2.2 暂时在防火墙当前所在区域里开放某一个服务的所有端口号的案例
# firewall-cmd --add-service=http
(补充:这里以暂时添加 http 服务为例)
4.1.1.3 暂时在防火墙当前所在区域里对某个网段开放某一个端口
4.1.1.3.1 暂时在防火墙当前所在区域里对某个网段开放某一个端口的格式
# firewall-cmd --add-rich-rule="rule family="<network protocol>" source address="<network segment>/<subnet mask>" port protocol="<port protocol>" port="<port>" accept"
4.1.1.3.2 暂时在防火墙当前所在区域里对某个网段开放某一个端口的案例
# firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept"
(补充:这里以暂时对 192.168.1.0/24 开放 80/tcp 端口为例)
4.1.1.4 暂时在防火墙当前所在区域里对某一个 IP 地址开放多个端口
4.1.1.4.1 暂时在防火墙当前所在区域里对某一个 IP 地址开放多个端口的格式
# firewall-cmd --add-rich-rule="rule family="<network protocol>" source address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" accept"
4.1.1.4.2 暂时在防火墙当前所在区域里对某一个 IP 地址开放多个端口的案例
# firewall-cmd --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="0-65535" accept"
(补充:这里以暂时对 192.168.1.1 开放 0/tcp 到 65535/tcp 端口为例)
4.1.1.5 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址开放多个端口
4.1.1.5.1 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址开放多个端口的格式
# firewall-cmd --add-rich-rule="rule family="<network protocol>" source NOT address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" accept"
4.1.1.5.2 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址开放多个端口的案例
# firewall-cmd --add-rich-rule="rule family="ipv4" source NOT address="192.168.1.1" port protocol="tcp" port="0-65535" accept"
(补充:这里以暂时对非 192.168.1.1 开放 0/tcp 到 65535/tcp 端口为例)
4.1.2 暂时关闭已开放的端口
4.1.2.1 暂时在防火墙当前所在区域里关闭已开放的某一个端口
4.1.2.1.1 暂时在防火墙当前所在区域里关闭已开放的某一个端口的格式
# firewall-cmd --remove-port=<port>/tcp
4.1.2.1.2 暂时在防火墙当前所在区域里关闭已开放的某一个端口的案例
# firewall-cmd --remove-port=80/tcp
(补充:这里以暂时关闭 80/TCP 端口为例)
4.1.2.2 暂时在防火墙当前所在区域里关闭已开放的某一个服务的所有端口
4.1.2.2.1 暂时在防火墙当前所在区域里关闭已开放的某一个服务的所有端口的格式
# firewall-cmd --remove-service=<service>
4.1.2.2.2 暂时在防火墙当前所在区域里关闭已开放的某一个服务的所有端口号的案例
# firewall-cmd --remove-service=http
(补充:这里以暂时关闭 http 服务为例)
4.1.2.3 暂时在防火墙当前所在区域里关闭已开放的对某个网段开放某一个端口
4.1.2.3.1 暂时在防火墙当前所在区域里关闭已开放的对某个网段开放某一个端口的格式
# firewall-cmd --remove-rich-rule="rule family="ipv4" source address="<network segment>/<subnet mask>" port protocol="<port protocol>" port="<port>" accept"
4.1.2.3.2 暂时在防火墙当前所在区域里关闭已开放的对某个网段开放的某一个端口的案例
# firewall-cmd --remove-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept"
(补充:这里以暂时对 192.168.1.0/24 关闭 80/tcp 端口为例)
4.1.2.4 暂时在防火墙当前所在区域里关闭已开放的对某一个 IP 地址开放的多个端口
4.1.2.4.1 暂时在防火墙当前所在区域里关闭已开放的对某一个 IP 地址开放的多个端口的格式
# firewall-cmd --remove-rich-rule="rule family="ipv4" source address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" accept"
4.1.2.4.2 暂时在防火墙当前所在区域里关闭已开放的对某一个 IP 地址开放的多个端口的案例
# firewall-cmd --remove-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="0-65535" accept"
(补充:这里以暂时对 192.168.1.1 关闭 0/tcp 到 65535/tcp 端口为例)
4.1.2.5 暂时在防火墙当前所在区域里关闭对除了某一个 IP 地址外的 IP 地址开放多个端口
4.1.2.5.1 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址开放多个端口的格式
# firewall-cmd --remove-rich-rule="rule family="<network protocol>" source NOT address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" accept"
4.1.2.5.2 暂时在防火墙当前所在区域里关闭对除了某一个 IP 地址外的 IP 地址开放多个端口的案例
# firewall-cmd --remove-rich-rule="rule family="ipv4" source NOT address="192.168.1.1" port protocol="tcp" port="0-65535" accept"
(补充:这里以暂时对非 192.168.1.1 关闭 0/tcp 到 65535/tcp 端口为例)
4.2 拒绝策略相关
4.2.1 暂时拒绝端口
4.2.1.1 暂时在防火墙当前所在区域里对某个网段拒绝某一个端口
4.2.1.1.1 暂时在防火墙当前所在区域里对某个网段拒绝某一个端口的格式
# firewall-cmd --zone=public --add-rich-rule="rule family="<network protocol>" source address="<network segment>/<subnet mask>" port protocol="<port protocol>" port="<port>" drop"
或者:
# firewall-cmd --zone=public --add-rich-rule="rule family="<network protocol>" source address="<network segment>/<subnet mask>" port protocol="<port protocol>" port="<port>" reject"
(补充:这里 drop 和 reject 的区别是 drop 收到数据包后直接丢掉不给发送方任何回应,而 drop 收到数据包后会给发送方发送一个拒绝的回应)
4.2.1.1.2 暂时在防火墙当前所在区域里对某个网段拒绝某一个端口的案例
# firewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol=tcp port=80 drop"
或者:
# firewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol=tcp port=80 reject"
(
补充:
1) 这里以在 public 区域拒绝 192.168.1.0/24 访问 80/tcp 端口为例
2) 这里 drop 和 reject 的区别是 drop 收到数据包后直接丢掉不给发送方任何回应,而 drop 收到数据包后会给发送方发送一个拒绝的回应
)
4.2.1.2 暂时在防火墙当前所在区域里对某一个 IP 地址拒绝多个端口
4.2.1.2.1 暂时在防火墙当前所在区域里对某个网段拒绝某一个端口的格式
# firewall-cmd --zone=public --add-rich-rule="rule family="<network protocol>" source address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" drop"
或者:
# firewall-cmd --zone=public --add-rich-rule="rule family="<network protocol>" source address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" reject"
(补充:这里 drop 和 reject 的区别是 drop 收到数据包后直接丢掉不给发送方任何回应,而 drop 收到数据包后会给发送方发送一个拒绝的回应)
4.2.1.2.2 暂时在防火墙当前所在区域里对某个网段拒绝某一个端口的案例
# firewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol=tcp port="0-65535" drop"
或者:
# firewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol=tcp port="0-65535" reject"
(
补充:
1) 这里以在 public 区域拒绝 192.168.1.1 访问 0/tcp 到 65536/tcp 端口为例
2) 这里 drop 和 reject 的区别是 drop 收到数据包后直接丢掉不给发送方任何回应,而 drop 收到数据包后会给发送方发送一个拒绝的回应
)
4.2.1.2 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址拒绝多个端口
4.2.1.2.1 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址拒绝多个端口的格式
# firewall-cmd --add-rich-rule="rule family="<network protocol>" source NOT address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" accept"
或者:
# firewall-cmd --add-rich-rule="rule family="<network protocol>" source NOT address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" reject"
(补充:这里 drop 和 reject 的区别是 drop 收到数据包后直接丢掉不给发送方任何回应,而 drop 收到数据包后会给发送方发送一个拒绝的回应)
4.2.1.2.2 暂时在防火墙当前所在区域里对除了某一个 IP 地址外的 IP 地址拒绝多个端口的案例
# firewall-cmd --add-rich-rule="rule family="ipv4" source NOT address="192.168.1.1" port protocol="tcp" port="0-65535" accept"
或者:
# firewall-cmd --add-rich-rule="rule family="ipv4" source NOT address="192.168.1.1" port protocol="tcp" port="0-65535" accept"
(
补充:
1) 这里以拒绝非 192.168.1.1 访问 0/tcp 到 65536/tcp 端口为例
2) 这里 drop 和 reject 的区别是 drop 收到数据包后直接丢掉不给发送方任何回应,而 drop 收到数据包后会给发送方发送一个拒绝的回应
)
4.2.2 暂时撤销已拒绝端口
4.2.2.1 暂时在防火墙当前所在区域里撤销已设置的对某个网段拒绝某一个端口
4.2.2.1.1 暂时在防火墙当前所在区域里撤销已设置的对某个网段拒绝某一个端口的格式
# firewall-cmd --zone=public --add-rich-rule="rule family="<network protocol>" source address="<network segment>/<subnet mask>" port protocol="<port protocol>" port="<port>" drop"
或者:
# firewall-cmd --zone=public --add-rich-rule="rule family="<network protocol>" source address="<network segment>/<subnet mask>" port protocol="<port protocol>" port="<port>" reject"
(补充:这里 drop 和 reject 的区别是 drop 收到数据包后直接丢掉不给发送方任何回应,而 drop 收到数据包后会给发送方发送一个拒绝的回应)
4.2.2.1.2 暂时在防火墙当前所在区域里撤销撤销已设置的对某个网段拒绝某一个端口的案例
# firewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol=tcp port=80 drop"
或者:
# firewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol=tcp port=80 reject"
(
补充:
1) 这里以取消在 public 区域拒绝 192.168.1.1 访问 0/tcp 到 65536/tcp 端口为例
2) 这里 drop 和 reject 的区别是 drop 收到数据包后直接丢掉不给发送方任何回应,而 drop 收到数据包后会给发送方发送一个拒绝的回应
)
4.2.2.2 暂时在防火墙当前所在区域里撤销已设置的对某一个 IP 地址拒绝多个端口
4.2.2.2.1 暂时在防火墙当前所在区域里撤销已设置的对某个网段拒绝某一个端口的格式
# firewall-cmd --zone=public --add-rich-rule="rule family="<network protocol>" source address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" drop"
或者:
# firewall-cmd --zone=public --add-rich-rule="rule family="<network protocol>" source address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" reject"
(补充:这里 drop 和 reject 的区别是 drop 收到数据包后直接丢掉不给发送方任何回应,而 drop 收到数据包后会给发送方发送一个拒绝的回应)
4.2.2.1.2 暂时在防火墙当前所在区域里撤销已设置的对某个网段拒绝某一个端口的案例
# firewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol=tcp port="0-65535" drop"
或者:
# firewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol=tcp port="0-65535" reject"
(
补充:
1) 这里以取消拒绝 192.168.1.1 访问 0/tcp 到 65536/tcp 端口为例
2) 这里 drop 和 reject 的区别是 drop 收到数据包后直接丢掉不给发送方任何回应,而 drop 收到数据包后会给发送方发送一个拒绝的回应
)
4.2.3.2 暂时在防火墙当前所在区域里撤销已设置的对除了某一个 IP 地址外的 IP 地址拒绝多个端口
4.2.3.2.1 暂时在防火墙当前所在区域里撤销已设置的对除了某一个 IP 地址外的 IP 地址拒绝多个端口的格式
# firewall-cmd --add-rich-rule="rule family="<network protocol>" source NOT address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" accept"
或者:
# firewall-cmd --add-rich-rule="rule family="<network protocol>" source NOT address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" reject"
(补充:这里 drop 和 reject 的区别是 drop 收到数据包后直接丢掉不给发送方任何回应,而 drop 收到数据包后会给发送方发送一个拒绝的回应)
4.2.2.3.2 暂时在防火墙当前所在区域里撤销已设置的对除了某一个 IP 地址外的 IP 地址拒绝多个端口的案例
# firewall-cmd --add-rich-rule="rule family="ipv4" source NOT address="192.168.1.1" port protocol="tcp" port="0-65535" accept"
或者:
# firewall-cmd --add-rich-rule="rule family="ipv4" source NOT address="192.168.1.1" port protocol="tcp" port="0-65535" accept"
(
补充:
1) 这里以取消拒绝非 192.168.1.1 访问 0/tcp 到 65536/tcp 端口为例
2) 这里 drop 和 reject 的区别是 drop 收到数据包后直接丢掉不给发送方任何回应,而 drop 收到数据包后会给发送方发送一个拒绝的回应
)
4.3 转发策略相关
4.3.1 开启防火墙转发策略
# firewall-cmd --add-masquerade --permanent
(注意:只有开启了防火墙转发策略之后防火墙才能转发端口)
4.3.2 暂时在防火墙当前所在区域里开启一个端口跳转到另一个 IP 地址的另一个端口
4.3.2.1 暂时在防火墙当前所在区域里开启一个端口跳转到另一个 IP 地址的另一个端口的格式
# firewall-cmd --add-forward-port=port=<port>:proto=<port protocol>:toport=<port>:toaddr=<IP address>
4.3.2.2 暂时在防火墙当前所在区域里开启一个端口跳转到另一个 IP 地址的另一个端口的案例
# firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.1
(补充:这里以将本地的 80 端口转向 192.168.1.1 的 8080 端口为例)
4.3.3 暂时在防火墙当前所在区域里关闭已开放的一个端口跳转到另一个 IP 地址的另一个端口
4.3.3.1 暂时在防火墙当前所在区域里关闭已开放的一个端口跳转到另一个 IP 地址的另一个端口的格式
# firewall-cmd --remove-forward-port=port=<port>:proto=<port protocol>:toport=<port>:toaddr=<IP address>
4.3.3.2 暂时在防火墙当前所在区域里关闭已开放的一个端口跳转到另一个 IP 地址的另一个端口的案例
# firewall-cmd --remove-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.1
(补充:这里以取消将本地的 80 端口转向 192.168.1.1 的 8080 端口为例)
内容五:防火墙暂时禁止 icmp 的设置
5.1 防火墙暂时禁止 icmp
# firewall-cmd --add-rich-rule='rule protocol value=icmp drop'
5.2 防火墙暂时取消禁止 icmp
# firewall-cmd --remove-rich-rule='rule protocol value=icmp drop'
内容六:防火墙暂时禁止所有网络的设置
6.1 让防火墙暂时进入拒绝模式
# firewall-cmd –panic-on
6.2 取消防火墙的拒绝模式
# firewall-cmd –panic-off
6.3 查看防火墙目前的状态
# firewall-cmd –query-panic
内容七:将防火墙暂时策略的设置方法转换成永久策略和限时策略的设置方法
7.1 防火墙暂时策略的设置方法
和内容一、内容二、内容三、内容四里的大部分设置命令一样,例
# firewall-cmd --add-port=80/tcp
(补充:这里以临时添加 80/tcp 端口为例)
7.2 防火墙永久策略的设置
和内容一、内容二、内容三、内容四里的大部分设置命令一样,但是需要在后面添加 –permanent 参数,例
# firewall-cmd --add-port=80/tcp --permanent
(补充:这里以永久添加 80/tcp 端口为例)
(注意:永久策略设置后,防火墙要重新加载才会生效)
7.3 防火墙限时策略的设置
和内容一、内容二、内容三、内容四的大部分设置命令一样,但是需要在后面添加 –timeout=<秒> 参数,列
# firewall-cmd --add-port=80/tcp --timeout=3600
(补充:这里以在 3600 秒期间添加 80/tcp 端口为例)
(注意:此策略会在 3600 秒后失效)
内容八:防火墙策略的加载
8.1 使用防火墙命令加载策略
# firewall-cmd --reload
(注意:此时暂时策略会失效,永久策略会生效)
8.2 在系统层面上重启防火墙以加载策略
# systemctl retart firewalld
(注意:此时暂时策略会失效,永久策略会生效)
相关链接:与 firewall-cmd 相关的 shell 脚本
Shell 在 firewalld 防火墙上批量对多个 IP 地址开发多个端口号
Shell 在 firewalld 防火墙上开放所有正在处于监听状态的端口号
Shell 在 firewalld 防火墙上取消所有已设置的复杂端口号策略
Shell 在 firewalld 防火墙上取消所有已开放的端口号