Skip to content
Eternal Center

Eternal Center

  • Single-Node (单节点)
    • System (系统)
    • Service (服务)
    • Database (数据库)
    • Container (容器)
    • Virtualization (虚拟化)
  • Multi-Node (多节点)
    • Cluster (集群)
    • Big Data (大数据)
    • Cloud Computing (云计算)
    • Batch Processing (批量处理)
  • Approach (方式方法)
    • Languages (语言)
    • Ideas (思路)
    • Programing (编程)
    • Project (项目)
  • Eternity (永恒)
    • News (消息)
    • Creations (创作)
    • Classics (经典)
    • Legends (传说)
    • Chronicle (编年史)
    • FNIOS (宇宙公民开源学院)

Category: Firewalld

Posted on July 28, 2022October 19, 2022

Linux 防范黑客入侵的思路

黑客发现阶段

黑客在入侵前往往会先对整个网络进行扫描,尝试发现我们的系统。在这个阶段我们可以尝试的防范措施有:

1) 关闭 ICMP 协议,让黑客无法通过 ping 发现我们的系统
2) 关闭所有不需要的端口
3) 通过防火墙只让允许访问的 IP 地址访问对应的端口
4) 让防火墙使用 drop 操作丢掉所有没有被允许的访问请求

黑客列举阶段和黑客立足阶段

黑客在发现了我们的系统之后。会根据我们系统和软件的版本,列举不同的破解方法并进行取舍,并最终会选择一种或多种方法进行尝试。在这两个阶段我们可以尝试的防范措施有:

1) 不使用盗版的系统和软件
2) 不使用有漏洞的系统和软件
3) 尽量将所有的系统和软件升级到最新的版本
4) 删除所有非必须的软件
5) 在用户尝试登录系统时,取消显示系统的版本
6) 删除或禁用所有不需要的用户
7) 让所有的用户都使用复杂的密码
8) 定期检查和修改所有用户的密码
9) 定期检查和修改所有用户 ~/.ssh/ 目录中的密钥
10) 限制错误密码尝试的次数,以防止暴力破解
11) 定期检查系统防火墙策略
12) 定期检查系统开启的所有端口
13) 定期检查系统开启的所有进程
14) 定期查看 /var/log/message 中的尝试登录失败的日志记录

黑客保持持久性阶段

黑客在成功进入系统以后,会尝试为自己下次进入系统准备方法,以让入侵保持持久性。在这个阶段我们可以尝试的防范措施有:

1) 定期检查系统中的所有用户的名称和数量
2) 定期检查系统中所有拥有 root 权限的名称和数量
3) 定期检查和修改所有用户的密码
4) 定期检查和修改所有用户 ~/.ssh/ 目录中的密钥
5) 定期检查系统防火墙策略
6) 定期检查系统开启的所有端口
7) 定期检查系统开启的所有进程
8) 缩小重要文件的权限
9) 定期检查所有用户的登录日志
10) 通过 auditd 服务监控所有重要配置文件,并定期检查监控日志

黑客掩盖痕迹阶段

黑客让入侵保持持久性后,会尝试掩盖自己的痕迹。在这个阶段我们可以尝试的防范措施有:

1) 定期检查系统中的所有用户的名称和数量
2) 定期检查系统中所有拥有 root 权限的名称和数量
3) 定期检查和修改所有用户的密码
4) 定期检查和修改所有用户 ~/.ssh/ 目录中的密钥
5) 定期检查系统防火墙策略
6) 定期检查系统开启的所有端口
7) 定期检查系统开启的所有进程
8) 缩小重要文件的权限
9) 定期检查所有用户的登录日志,注意日志的时间是否连贯
10) 通过 auditd 服务监控所有重要配置文件,并定期检查监控日志,注意日志的时间是否连贯

Posted on December 15, 2019October 19, 2022

[命令] Linux 命令 firewall-cmd (设置防火墙)

内容一:防火墙信息查询

1.1 防火墙运行状态查询

# firewall-cmd –state

1.2 显示防火墙紧急模式是否开启 (是否拒绝所有网络)

# firewall-cmd –query-panic

1.3 防火墙默认信息查询

1.3.1 显示防火墙的所有区域
# firewall-cmd --get-zones
1.3.2 显示防火墙支持的所有服务
# firewall-cmd --get-services
1.3.3 显示防火墙支持的所有 icmp 协议
# firewall-cmd --get-icmptypes

1.4 显示防火墙当前所在的区域

# firewall-cmd --get-default-zone

1.5 显示防火墙的策略

1.5.1 显示防火墙当前所在区域的策略
1.5.1.1 显示防火墙当前所在区域的所有策略
# firewall-cmd --list-all
1.5.1.2 显示防火墙当前所在区域的复杂 (rich) 策略
# firewall-cmd --list-rich-rules
1.5.2 显示所有区域的所有策略
# firewall-cmd --list-all-zones

(
补充:firewall-cmd 防火墙默认区域有:
1) block 拒绝被访问,并回应一个拒绝的信息
2) work 只允许部分端口被访问,例如 22 端口
3) home 只允许部分端口被访问,例如 22 端口
4) public 只允许部分端口被访问,例如 22 端口
5) dmz 只允许部分端口被访问,例如 22 端口
6) trusted 全部开放
7) drop 禁止被访问,不回应一个拒绝的信息
8) internal 只允许部分端口被访问,例如 22 端口
9) external 只允许部分端口被访问,例如 22 端口
)

1.5.3 显示某个区域的策略
1.5.3.1 显示某个区域的所有策略
1.5.3.1.1 显示某个区域的所有策略的格式
# firewall-cmd --zone=<zone> --list-all
1.5.3.1.2 显示某个区域的所有策略的案例
# firewall-cmd --zone=public --list-all

(补充:这里以显示 public 区域的策略为例)

1.5.3.2 显示某个区域的复杂 (rich) 策略
1.5.3.2.1 显示某个区域的复杂 (rich) 策略的格式
# firewall-cmd --zone=<zone> --list-rich-rules
1.5.3.2.2 显示某个区域的复杂 (rich) 策略的案例
# firewall-cmd --zone=public --list-rich-rules

(补充:这里以显示 public 区域的复杂 (rich) 策略为例)

1.5.4 显示某个区域某个服务的策略
1.5.4.1 显示某个区域某个服务的策略的格式
# firewall-cmd --zone=<zone> --query-service=<service>
1.5.4.2 显示某个区域某个服务的策略的案例
# firewall-cmd --zone=public --query-service=https

(补充:这里以显示 public 区域的 https 服务的策略为例)

1.6 显示网卡所在的区域

1.6.1 显示哪些区域被放入了网卡
# firewall-cmd --get-active-zones

(注意:只有放入了网卡的区域才会处于激活状态)

1.6.2 显示某网卡所属的区域
1.6.2.1 显示某网卡所属的区域的格式
# firewall-cmd –get-zone-of-interface=<network card>
1.6.2.2 显示某网卡所属的区域的案例
# firewall-cmd --get-zone-of-interface=eth0

(补充:这里以显示 eth0 网卡属于哪一个区域为例)

内容二: 区域的网卡管理

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 --add-rich-rule="rule family="<network protocol>" source address="<network segment>/<subnet mask>" port protocol="<port protocol>" port="<port>" drop"

或者:

# firewall-cmd --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 --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol=tcp port=80 drop"

或者:

# firewall-cmd --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 --add-rich-rule="rule family="<network protocol>" source address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" drop"

或者:

# firewall-cmd --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 --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol=tcp port="0-65535" drop"

或者:

# firewall-cmd --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 --add-rich-rule="rule family="<network protocol>" source address="<network segment>/<subnet mask>" port protocol="<port protocol>" port="<port>" drop"

或者:

# firewall-cmd --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 --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol=tcp port=80 drop"

或者:

# firewall-cmd --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 --add-rich-rule="rule family="<network protocol>" source address="<IP address>" port protocol="<port protocol>" port="<starting port>-<end port>" drop"

或者:

# firewall-cmd --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 --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol=tcp port="0-65535" drop"

或者:

# firewall-cmd --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 暂时在防火墙当前所在区域里开启某个端口跳转到另 1 个 IP 地址的另 1 个端口
4.3.2.1 暂时在防火墙当前所在区域里开启某个端口跳转到另 1 个 IP 地址的另 1 个端口的格式
# firewall-cmd --add-forward-port=port=<port>:proto=<port protocol>:toport=<port>:toaddr=<IP address>
4.3.2.2 暂时在防火墙当前所在区域里开启某个端口跳转到另 1 个 IP 地址的另 1 个端口的案例
# 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 暂时在防火墙当前所在区域里关闭已开放的某端口跳转到另 1个 IP 地址的另 1 个端口
4.3.3.1 暂时在防火墙当前所在区域里关闭已开放的某个端口跳转到另 1 个 IP 地址的另 1 个端口的格式
# firewall-cmd --remove-forward-port=port=<port>:proto=<port protocol>:toport=<port>:toaddr=<IP address>
4.3.3.2 暂时在防火墙当前所在区域里关闭已开放的某个端口跳转到另 1 个 IP 地址的另 1 个端口的案例
# firewall-cmd --remove-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.1.1

(补充:这里以取消将本地的 80 端口转向 192.168.1.1 的 8080 端口为例)

内容五:将防火墙不带优先级策略的设置方法转换成指定优先级策略的设置方法

(
注意:
1) 此方法只对复杂 (rich) 策略有效
2) 此方法只对较新的 firewall-cmd 防火墙有效
)

5.1 firewall-cmd 防火墙优先级介绍

1) 优先级数字的范围从 -32768 到 32767
2) 数字越低代表优先级越高

5.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 端口为例)

5.3 防火墙指定优先级策略的设置方法

和内容一、内容二、内容三、内容四里的大部分设置命令一样,但是需要在其中添加 priority= 参数,例:

# firewall-cmd --add-rich-rule="rule priority=100 family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept"

(补充:这里以对 192.168.1.0/24 开放 80/tcp 端口并将优先级设置为 100 为例)

内容六:将防火墙当前所在区域策略的设置方法转换成指定区域策略的设置方法

6.1 防火墙当前所在区域策略的设置方法

和内容一、内容二、内容三、内容四里的大部分设置命令一样,例:

# firewall-cmd --add-port=80/tcp

(补充:这里以在当前所在区域添加 80/tcp 端口为例)

6.2 防火墙指定区域策略的设置方法

和内容一、内容二、内容三、内容四里的大部分设置命令一样,但是需要在其中添加 –-zone= 参数,例:

# firewall-cmd --add-port=80/tcp --zone=public

(补充:这里以在 public 区域添加 80/tcp 端口为例)

内容七:防火墙暂时禁止 icmp 的设置

7.1 防火墙暂时禁止 icmp

# firewall-cmd --add-rich-rule='rule protocol value=icmp drop'

7.2 防火墙暂时取消禁止 icmp

# firewall-cmd --remove-rich-rule='rule protocol value=icmp drop'

内容八:防火墙紧急模式的管理 (拒绝所有网络)

8.1 防火墙开启紧急模式 (拒绝所有网络)

# firewall-cmd –panic-on

8.2 防火墙取消紧急模式 (取消拒绝所有网络)

# firewall-cmd –panic-off

8.3 显示防火墙紧急模式是否开启 (是否拒绝所有网络)

# firewall-cmd –query-panic

内容九:将防火墙暂时策略的设置方法转换成永久策略和限时策略的设置方法

9.1 防火墙暂时策略的设置方法

和内容一、内容二、内容三、内容四里的大部分设置命令一样,例:

# firewall-cmd --add-port=80/tcp

(补充:这里以临时添加 80/tcp 端口为例)

9.2 防火墙永久策略的设置

和内容一、内容二、内容三、内容四里的大部分设置命令一样,但是需要在其中添加 –permanent 参数,例:

# firewall-cmd --add-port=80/tcp --permanent

(补充:这里以永久添加 80/tcp 端口为例)

(注意:永久策略设置后,防火墙要重新加载才会生效)

9.3 防火墙限时策略的设置

和内容一、内容二、内容三、内容四的大部分设置命令一样,但是需要在后面添加 –timeout=<秒> 参数,例:

# firewall-cmd --add-port=80/tcp --timeout=3600

(补充:这里以在 3600 秒期间添加 80/tcp 端口为例)

(注意:此策略会在 3600 秒后失效)

内容十:防火墙策略的加载

10.1 使用防火墙命令加载策略

# firewall-cmd --reload

(注意:此时暂时策略会失效,永久策略会生效)

10.2 在系统层面上重启防火墙以加载策略

# systemctl retart firewalld

(注意:此时暂时策略会失效,永久策略会生效)

相关链接:与 firewall-cmd 相关的 shell 脚本

Shell 在 firewalld 防火墙上批量对多个 IP 地址开发多个端口号

Shell 在 firewalld 防火墙上开放所有正在处于监听状态的端口号

Shell 在 firewalld 防火墙上取消所有已设置的复杂端口号策略

Shell 在 firewalld 防火墙上取消所有已开放的端口号

Aspiration (愿景):

Everyone can achieve self-achievement and self-happiness fairly

每个人都能公平地实现自我成就和自我幸福

Logo (徽标):

Additional Information (其他信息):

About     Manual     Clone     Contact
Disclaimer     Friendly Links     Donation

关于     手册     克隆     联系
免责声明     友情链接     捐赠

Search Inside Website (站内搜索)

Search Outside Website (站外搜索):

Google         Wikipedia         Bing

Eternal URL (永恒网址):

https://eternity.eternalcenter.com Will be last access method / 将是最后的访问方式

Proudly powered by LNMP Proudly powered by WordPress