其它规则

  • 当基本firewalld语法规则不能满足要求时,可以使用以下更复杂的规则
  • rich-rules 富规则,功能强,表达性语言
  • Direct configuration rules 直接规则,灵活性差
  • 帮助:man 5 firewalld.direct

管理rich规则

  • rich规则比基本的firewalld语法实现更强的功能,不仅实现允许/拒绝,还可以实现日志syslog和auditd,也可以实现端口转发,伪装和限制速率
  • rich语法:

    rule

[source]
[destination]
service|port|protocol|icmp-block|masquerade|forward-port
[log]
[audit]
[accept|reject|drop]
man 5 firewalld.richlanguage

  • man 5 firewalld.richlanguage

规则

  • 规则实施顺序:
  • 该区域的端口转发,伪装规则
  • 该区域的日志规则
  • 该区域的允许规则
  • 该区域的拒绝规则
  • 每个匹配的规则生效,所有规则都不匹配,该区域默认规则生效

rich规则选项

rich规则示例

  • 拒绝从192.168.0.11的所有流量,当address 选项使用source 或 destination时,必须用family= ipv4 |ipv6

  firewall-cmd --permanent --zone=classroom --add-rich-rule='rule
  family=ipv4 source address=192.168.0.11/32 reject‘

  • 限制每分钟只有两个连接到ftp服务

  firewall-cmd --add-rich-rule=‘rule service name=ftp limit value=2/m accept’

  • 抛弃esp( IPsec 体系中的一种主要协议)协议的所有数据包

  firewall-cmd --permanent --add-rich-rule='rule protocol value=esp drop'

  • 接受所有192.168.1.0/24子网端口5900-5905范围的TCP流量

  firewall-cmd --permanent --zone=vnc --add-rich-rule='rule family=ipv4
  source address=192.168.1.0/24 port port=5900-5905 protocol=tcp accept'

rich日志规则

  • log [prefix="<PREFIX TEXT>" [level=<LOGLEVEL>] [limit value="<RATE/DURATION>"]
  • <LOGLEVEL> 可以是emerg,alert, crit, error, warning, notice, info, debug.
  • <DURATION> s:秒, m:分钟, h:小时, d:天
  • audit [limit value="<RATE/DURATION>"]

rich日志规则实例

  • 接受ssh新连接,记录日志到syslog的notice级别,每分钟最多三条信息

firewall-cmd --permanent --zone=work --add-rich-rule='rule service
name="ssh" log prefix="ssh " level="notice" limit value="3/m" accept

  • 从2001:db8::/64子网的DNS连接在5分钟内被拒绝,并记录到日志到audit,每小时最大记录一条信息

  firewall-cmd --add-rich-rule='rule family=ipv6 source
  address="2001:db8::/64" service name="dns" audit limit value="1/h" reject' --timeout=300

 规则示例

  • firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=172.25.X.10/32 service name="http" log level=notice prefix="NEW HTTP " limit value="3/s" accept'
  • firewall-cmd --reload
  • tail -f /var/log/messages
  • curl http://serverX.example.com

伪装和端口转发

  • NAT网络地址转换,firewalld支持伪装和端口转发两种NAT方式
  • 伪装NAT
  • firewall-cmd --permanent --zone=<ZONE>
  • firewall-cmd --query-masquerade 检查是否允许伪装
  • firewall-cmd --add-masquerade 允许防火墙伪装IP
  • firewall-cmd --remove-masquerade 禁止防火墙伪装IP
  • 示例:
  • firewall-cmd --add-rich-rule='rule family=ipv4 address=192.168.0.0/24 masquerade'

端口转发

  • 端口转发:将发往本机的特定端口的流量转发到本机或不同机器的另一个端口。通常要配合地址伪装才能实现
  • firewall-cmd --permanent --zone=<ZONE> --add-forward-port=port=<PORTNUMBER>:proto=<PROTOCOL>[:toport=<PORTNUMBER>][:toaddr=<IPADDR>] 说明:toport= 和toaddr= 至少要指定一个
  • 示例:
  • 转发传入的连接9527/TCP,到防火墙的80/TCP到public zone 的192.168.0.254
  • firewall-cmd --add-masquerade 启用伪装
  • firewall-cmd --zone=public --add-forward-
  • port=port=9527:proto=tcp:toport=80:toaddr=192.168.0.254

rich规则

  • rich规则语法:
  • forward-port port=<PORTNUM> protocol=tcp|udp [to-port=<PORTNUM>] [to-addr=<ADDRESS>]
  • 示例:
  • 转发从192.168.0.0/24来的,发往80/TCP的流量到防火墙的端口8080/TCP

firewall-cmd --zone=work --add-rich-rule='rule family=ipv4 source address=192.168.0.0/24 forward-port port=80 protocol=tcp to-port=8080'

rich规则示例

  • firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=172.25.X.10/32 forward-port port=443 protocol=tcp to-port=22'
  • firewall-cmd --reload
  • ssh -p 443 serverX.example.com

Linux之iptables(六、rich规则)的更多相关文章

  1. Linux下iptables防火墙用法规则详解

    管理网络流量是系统管理员必需处理的最棘手工作之一,我们必需规定连接系统的用户满足防火墙的传入和传出要求,以最大限度保证系统免受×××.很多用户把 Linux 中的iptables当成一个防火墙,从严格 ...

  2. Linux防火墙iptables规则设置(转)

    iptables命令是Linux上常用的防火墙软件,是netfilter项目的一部分.可以直接配置,也可以通过许多前端和图形界面配置. 一.语法 iptables(选项)(参数) 二.选项 -t< ...

  3. Linux防火墙iptables的基础

    一.网络访问控制 1.Linux一般都是作为服务器系统使用,对外提供一些基于网络的服务 2.通常我们都需要对服务器进行一些网络访问控制,类似防火墙的功能 3.常见的访问控制包括:哪些IP可以访问服务器 ...

  4. Linux防火墙iptables介绍

    介绍网络防火墙是通过一个或多个允许或拒绝的规则来过滤网络流量的网络设备或软件.网络防火墙还可以执行更复杂的任务,例如网络地址转换,带宽调整,提供加密隧道以及更多与网络流量相关的任务.而我们的任务就是需 ...

  5. 【Linux】iptables相关实践,原理及参数解释

    1.禁止指定IP地址的主机进行连接 iptables -I INPUT -s .***.***. -j DROP 2.解除禁止指定IP地址的主机进行连接 iptables -D INPUT -s .* ...

  6. linux 防火墙iptables简明教程

    前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...

  7. Linux防火墙iptables简明教程

    前几天微魔部落再次遭受到个别别有用心的攻击者的攻击,顺便给自己充个电,复习了一下linux下常见的防火墙iptables的一些内容,但是无奈网上的很多教程都较为繁琐,本着简明化学习的目的,微魔为大家剔 ...

  8. (转载)Linux上iptables防火墙的基本应用教程

    (转载)http://www.vpser.net/security/linux-iptables.html iptables是Linux上常用的防火墙软件,下面vps侦探给大家说一下iptables的 ...

  9. Linux防火墙iptables学习笔记(三)iptables命令详解和举例[转载]

     Linux防火墙iptables学习笔记(三)iptables命令详解和举例 2008-10-16 23:45:46 转载 网上看到这个配置讲解得还比较易懂,就转过来了,大家一起看下,希望对您工作能 ...

随机推荐

  1. UVA - 12345 带修改的莫队

    题意显然:给出初始序列,单点修改,区间查询元素的种类. 由于时限过宽,暴力可过. 比较优秀的解法应该是莫队. 带修改的莫队题解可以看https://www.luogu.org/blog/user126 ...

  2. 洛谷 P2577 [ ZJOI 2005 ] 午餐 —— DP + 贪心

    题目:https://www.luogu.org/problemnew/show/P2577 首先,想一想可以发现贪心策略是把吃饭时间长的人放在前面: 设 f[i][j] 表示考虑到第 i 个人,目前 ...

  3. ORACLE游标概念讲解

    1,什么是游标? ①从表中检索出结果集,从中每次指向一条记录进行交互的机制. ②关系数据库中的操作是在完整的行集合上执行的.   由 SELECT 语句返回的行集合包括满足该语句的 WHERE 子句所 ...

  4. 【转载】HTTP协议详解

    [本文转自]http://www.cnblogs.com/EricaMIN1987_IT/p/3837436.html 一.概念 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规 ...

  5. bzoj4720: [Noip2016]换教室(期望dp)

    4720: [Noip2016]换教室 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 1294  Solved: 698[Submit][Status ...

  6. HTML 5.1 -- 14项新增功能及如何使用

    最近太忙了 过完年来 连续的加班让我筋疲力尽,今天终于把东西交了,抽空来点干货吧! 1. 响应式图像 W3C 引入了一些功能特性,无需使用 CSS 就可以实现响应式图像.它们是 … srcset 图像 ...

  7. Windows 和 Linux 上Redis的安装守护进程配置

    # Windows 和 Linux 上Redis的安装守护进程配置 Redis 简介 ​ Redis是目前最常用的非关系型数据库(NOSql)之一,常以Key-Value的形式存储.Redis读写速度 ...

  8. js调试技巧汇总中

    由于设备多样性(PC.ios.安卓.pad.tv)以及各设备对js脚本支持性差异性.js兼容性调试显得越来越重要. 0:尽力模仿真实场景下进行调试,迅速定位问题以及提供解决方案. 1:setTimeo ...

  9. 在Azure Ubunt Server 14.04虚机中使用Deep-Visualization-Toolbox

      参考网站 a)   https://zhuanlan.zhihu.com/p/24833574?utm_source=tuicool&utm_medium=referral b)   ht ...

  10. 可以在一个html的文件当中读取另一个html文件的内容

    1.IFrame引入,看看下面的代码 <IFRAME NAME="content_frame" width=100% height=30 marginwidth=0 marg ...