首页 iptables教程iptables 匹配条件

iptables 用法说明

iptables-Target详解

运维派隶属马哥教育旗下专业运维社区,是国内成立最早的IT运维技术社区,欢迎关注公众号:yunweipai
领取学习更多免费Linux云计算、Python、Docker、K8s教程关注公众号:马哥linux运维

iptables 基本匹配条件

基本匹配条件:无需加载模块,由iptables/netfilter自行提供

范例:

iptables 扩展匹配条件

扩展匹配条件:需要加载扩展模块(/usr/lib64/xtables/*.so),方可生效
扩展模块的查看帮助 :man iptables-extensions

扩展匹配条件:

  • 隐式扩展
  • 显式扩展
隐式扩展

iptables 在使用-p选项指明了特定的协议时,无需再用-m选项指明扩展模块的扩展机制,不需要手动加载扩展模块

tcp协议的扩展选项
[!] --source-port, --sport port[:port]:匹配报文源端口,可为端口连续范围
[!] --destination-port,--dport port[:port]:匹配报文目标端口,可为连续范围
[!] --tcp-flags mask comp
mask 需检查的标志位列表,用,分隔
例如 SYN,ACK,FIN,RST
comp 在mask列表中必须为1的标志位列表,无指定则必须为0,用,分隔tcp协议的扩展选项

范例:

[!] --syn:用于匹配第一次握手, 相当于:--tcp-flags SYN,ACK,FIN,RST SYN

udp 协议的扩展选项

icmp 协议的扩展选项

范例:

范例:

范例:

显式扩展及相关模块

显示扩展即必须使用-m选项指明要调用的扩展模块名称,需要手动加载扩展模块

扩展模块的使用帮助:

  • CentOS 6: man iptables
  • CentOS 7,8: man iptables-extensions
multiport扩展

​ 以离散方式定义多端口匹配,最多指定15个端口

范例:

iprange扩展

指明连续的(但一般不是整个网络)ip地址范围

范例:

mac扩展

mac 模块可以指明源MAC地址,,适用于:PREROUTING, FORWARD,INPUT chains

范例:

3.4.2.4 string扩展

对报文中的应用层数据做字符串模式匹配检测

范例:

time扩展

注意:CentOS 8 此模块有问题

根据将报文到达的时间与指定的时间范围进行匹配

范例:

connlimit扩展

根据每客户端IP做并发连接数数量匹配
可防止Dos(Denial of Service,拒绝服务)攻击

范例:

limit扩展

基于收发报文的速率做匹配
令牌桶过滤器

范例:

范例:

state扩展

state扩展模块,可以根据”连接追踪机制“去检查连接的状态,较耗资源
conntrack机制:追踪本机上的请求和响应之间的关系

状态类型

-NEW:新发出请求;连接追踪信息库中不存在此连接的相关信息条目,因此,将其识别为第一次发出的请求

-ESTABLISHED:NEW状态之后,连接追踪信息库中为其建立的条目失效之前期间内所进行的通信状态
-RELATED:新发起的但与已有连接相关联的连接,如:ftp协议中的数据连接与命令连接之间的关系
-INVALID:无效的连接,如flag标记不正确
-UNTRACKED:未进行追踪的连接,如:raw表中关闭追踪

已经追踪到的并记录下来的连接信息库

调整连接追踪功能所能够容纳的最大连接数量

查看连接跟踪有多少条目

不同的协议的连接追踪时长

说明:

-连接跟踪,需要加载模块: modprobe nf_conntrack_ipv4

-当服务器连接多于最大连接数时dmesg 可以观察到 :kernel: ip_conntrack: table full, dropping packet错误,并且导致建立TCP连接很慢。

-各种状态的超时后,链接会从表中删除

连接过多的解决方法两个:

(1) 加大nf_conntrack_max 值

(2) 降低 nf_conntrack timeout时间

格式:

范例:

案例:开放被动模式的ftp服务

CentOS 8 此模块有bug

(1) 装载ftp连接追踪的专用模块:
跟踪模块路径:/lib/modules/kernelversion/kernel/net/netfilter

(2) 放行请求报文:
命令连接:NEW, ESTABLISHED
数据连接:RELATED, ESTABLISHED

(3) 放行响应报文:

范例:开放被动模式的ftp服务示例

本文链接:http://www.yunweipai.com/35056.html

iptables 用法说明

iptables-Target详解

网友评论comments

发表评论

电子邮件地址不会被公开。

暂无评论

Copyright © 2012-2020 YUNWEIPAI.COM - 运维派
扫二维码
扫二维码
返回顶部