Notes
  • 简介
  • Linux
    • Ubuntu
      • Ubuntu 20.04 ARM64 修改PAGE_SIZE 64k
    • Samba
      • CentOS7安装Samba
      • 简单案例
      • 审计
      • 相关命令
    • Systemd
    • FPM 打包 nginx rpm 包
    • rpm 打包-从二进制文件进行打包
    • Centos7 重置密码
    • CentOS7搭建kvm并创建虚拟机
    • CentOS7-KVM 嵌套虚拟化
    • CentOS7 KVM GPU 穿透
    • Bonding
    • CentOS7 发送邮件
    • CentOS7 安装 OpenVPN
    • Linux 多线路由策略
    • Webmin 安装
    • NoVNC 安装
    • SRS-RTMP 服务部署
    • CentOS7 安装 MongoDB
    • confluence 安装
    • jira 安装
    • crowd 安装
    • ScriptRunner For Jira
    • ScriptRunner For Confluence
    • Ubuntu VNC
    • Ubuntu18.04-VNC 安装
    • deb 打包
    • iptables
    • debian 保持软件包一致
    • Ubuntu18.04 编译安装 grpc
    • CentOS7 安装 odoo13
    • Pacemaker 入门
    • Firewalld Rich Language
    • PHP Xdebug
    • CentOS7.3 编译安装 Python3.6
    • 葫芦儿打包
    • CentOS7 安装 Tomcat8
    • CentOS7 安装 JDK
    • GuacamoleServer 编译安装
    • FreeBSD7.0安装AMP
    • CentOS7 换源
    • deb下载并离线安装
    • pip下载并离线安装
  • Network
    • 案例一
  • AI
    • 微调Qwen2.5
    • Qwen2.5 VL AWQ量化
    • qwen2.5 填充权重
  • JavaScript
  • Zabbix
    • CentOS7 安装 Zabbix4.0 LTS
    • Zabbix 加密连接
    • Zabbix 主动和被动模式
    • Zabbix 配置邮件报警
    • Zabbix 监控 MySQL
  • 数据库
    • MySQL
      • CentOS7 Install MySQL5.7
      • MySql 主从配置
      • CentOS7 安装 Percona XtraDB Cluster
      • MySql 压力测试-sysbench
      • MariaDB Galera Cluster
      • 备份脚本
    • MongoDB
      • 启用账号密码登录
      • 备份脚本
  • Nginx
    • CentOS7 安装 Nginx
    • Nginx 配置
    • nginx-http-flv-module
    • Nginx-WebDAV
  • Docker
    • CentOS7 安装 Docker
    • Dockerfile
    • DockerSwarm 集群
    • Docker 安装 guacamole
  • Python
    • 虚拟环境
  • Windows
    • Windows 问题集合
    • 迅雷自动安装 Chrome 插件
    • RDP 注册表
    • Rdp File Setting
    • 本地组策略对象(LGPO)工具
    • 禁用应用联网
    • SQL Server 问题处理
    • SQL Server Trigger
    • NSIS 脚本
    • 使用QEMU运行ARM64 CentOS7
    • DOS 脚本
    • Windows 11 设置旧版右键菜单
    • 远程桌面二次验证
  • Apple
    • AppStore 应用开发及上架
    • Apple 打包 Golang WebDav 制作 pkg 安装包
  • Android
    • Android Studio创建具有root权限的虚拟机
    • Android读写挂载system
    • Android安卓CA至系统
  • 证书
    • 证书名称(主题)
    • 证书扩展
    • SSL 自签
    • 免费 https 证书申请
  • 树莓派
    • 树莓派系统烧录及系统打包制作
    • 树莓派基础操作
    • 树莓派安装 NextCloud
    • 树莓派安装 LNMP
    • 树莓派自定义开机界面和登录提示
    • 树莓派安装 HomeAssistant
    • HomeAssistant 配置
    • 树莓派自动挂载 U 盘
    • 树莓派安装 vsftpd
    • vsftpd 配置文件详解
  • ceph
    • ceph-deploy 部署 ceph nautilus 版本
    • ceph dashboard
  • OpenStack
    • OpenStack VM 配置 Virtual IP
    • OpenStack Glance 对接 Ceph RBD 存储
    • OpenStack Cinder Volumes 对接 Ceph RBD 存储
    • OpenStack 集群搭建
    • OpenStack Rocky 单节点部署
    • OpenStack Rocky 集群部署
    • OpenStack CentOS6 镜像制作
    • OpenStack-Ubuntu 镜像制作
    • Openstack-Windows 镜像制作
    • OpenStack-RBD 导入镜像
    • OpenStack-Rocky 灾备
    • rbd-mirror
  • FFmpeg
    • CentOS7 静态编译FFmpeg
    • MacOS10.12静态编译FFmpeg
    • CentOS7 Arm64静态编译FFmpeg
    • 使用NVIDIA显卡
    • 脚本
  • Other
    • 华为一碰传标签制作
    • 常用软件
    • wireguard
由 GitBook 提供支持
在本页
  • 格式
  • 示例
  1. Linux

Firewalld Rich Language

参考连接:https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/security_guide/sec-using_firewalls

格式

  • 增加一条规则命令

    firewall-cmd [--zone=zone] --add-rich-rule='rule' [--timeout 9=seconds]
  • 移除一条规则命令

    firewall-cmd [--zone=zone] --remove-rich-rule='rule'
  • 检查规则是否存在

    firewall-cmd [--zone=zone] --query-rich-rule='rule'
  • 多规则命令的结构

    rule [family="<rule family>"]
        [ source address="<address>" [invert="True"] ]
        [ destination address="<address>" [invert="True"] ]
        [ <element> ]
        [ log [prefix="<prefix text>"] [level="<log level>"] [limit value="rate/duration"] ]
        [ audit ]
        [ accept|reject|drop ]

    family:规则系列, IPv4 或 IPv6

    source address:源地址,一个源地址或者地址范围是一个为 IPv4 或者 IPv6 做掩护的 IP 地址或者一个网络 IP 地址,可以通过增加 invert="true"来颠倒源地址命令的意思

    destination address:目的地址,目标地址使用跟源地址相同的语法

    element:基本要素,这个要素只可以是以下要素类型之一: service , port , protocol , masquerade , icmp-block 和 forward-port 。

    # service
    # 服务名称是 firewalld 提供的其中一种服务。要获得被支持的服务的列表,输入以下命令:firewall-cmd --get-services
    service name=service_name
    # port
    # 端口既可以是一个独立端口数字,又或者端口范围,例如,5060-5062。协议可以指定为 tcp 或 udp
    port port=number_or_range protocol=protocol
    # protocol
    # 协议值可以是一个协议 ID 数字,或者一个协议名。预知可用协议,请查阅 /etc/protocols
    protocol value=protocol_name_or_ID
    # icmp-block
    # 用这个命令阻绝一个或多个 ICMP 类型。 ICMP 类型是 firewalld 支持的 ICMP 类型之一。要获得被支持的 ICMP 类型列表,输入一下命令:firewall-cmd --get-icmptypes
    icmp-block name=icmptype_name
    # masquerade
    # 打开规则里的 IP 伪装。用源地址而不是目的地址来把伪装限制在这个区域内。在此,指定一个动作是不被允许的
    # forward-port
    # 从一个带有指定为 tcp 或 udp 协议的本地端口转发数据包到另一个本地端口,或另一台机器,或另一台机器上的另一个端口。 port 和 to-port 可以是一个单独的端口数字,或一个端口范围。而目的地址是一个简单的 IP 地址。在此,指定一个动作是不被允许的。 forward-port 命令使用内部动作 accept
    forward-port port=number_or_range protocol=protocol /
                to-port=number_or_range to-addr=address

    log:注册含有内核记录的新的连接请求到规则中,比如系统记录。您可以定义一个前缀文本——可以把记录信息作为前缀加入。记录等级可以是 emerg 、 alert 、 crit 、 error 、warning 、 notice 、 info 或者 debug 中的一个。可以选择记录的用法,可以按以下方式限制注册

    log [prefix=prefix text] [level=log level] limit value=rate/duration
    # 等级用正的自然数 [1, ..] 表达,持续时间的单位为 s 、 m 、 h 、 d 。 s 表示秒, m 表示分钟, h 表示小时, d 表示天。最大限定值是 1/d ,意为每天最多有一条日志进入

    audit:审核为发送到 auditd 服务的审核记录来注册提供了另一种方法。审核类型可以是 ACCEPT 、 REJECT 或 DROP 中的一种,但不能在 audit 命令后指定,因为审核类型将会从规则动作中自动收集。审核不包含自身参数,但可以选择性地增加限制。审核的使用是可选择的

    accept|reject|drop:可以是 accept 、reject 或 drop 中的一个行为。规则中仅仅包含一个要素或者来源。如果规则中包含一个要素,那么行为可以处理符合要素的新连接。如果规则中包含一个来源,那么指定的行为可以处理来自源地址的一切内容

    accept | reject [type=reject type] | drop

示例

  • 限制 ssh 登录 IP 为192.168.2.200

    firewall-cmd --remove-service=ssh
    firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.2.200" service name="ssh" accept'
  • 2222 端口转发到192.168.2.39的 22 端口

    firewall-cmd --add-rich-rule='rule family="ipv4" masquerade'
    firewall-cmd --add-rich-rule='rule family="ipv4" forward-port port="2222" protocol="tcp" to-port="22" to-addr="192.168.2.39"'
  • 放行 3389 端口 1 小时

    firewall-cmd --add-rich-rule='rule port port="3389" protocol="tcp" accept' --timeout=1h
  • 拦截 icmp 请求

    firewall-cmd --add-rich-rule='rule protocol value="icmp" drop'
上一页Pacemaker 入门下一页PHP Xdebug

最后更新于3年前