当前位置: 首页 > news >正文

【博客590】iptables raw表的特殊作用

iptables raw表的特殊作用

1、iptables四表五链:

在这里插入图片描述

2、raw表的优先级

从上图中可以看到raw表作用于prerouting和output链,且在这两个链中的几个表中拥有最高优先级,并且是高于连接跟踪的,这个也是raw表用于优化性能的一个重要前提

汇总关系表如下:
在这里插入图片描述

从netfilter的hook点优先级我们也可以看到raw表hook点优先级非常高:数值越低,优先级越高

enum nf_ip_hook_priorities {
 	NF_IP_PRI_FIRST = INT_MIN,
 	NF_IP_PRI_CONNTRACK_DEFRAG = -400,
 	NF_IP_PRI_RAW = -300,
	NF_IP_PRI_SELINUX_FIRST = -225,
	NF_IP_PRI_CONNTRACK = -200,
	NF_IP_PRI_MANGLE = -150,
	NF_IP_PRI_NAT_DST = -100,
	NF_IP_PRI_FILTER = 0,
	NF_IP_PRI_SECURITY = 50,
	NF_IP_PRI_NAT_SRC = 100,
	NF_IP_PRI_SELINUX_LAST = 225,
	NF_IP_PRI_CONNTRACK_HELPER = 300,
	NF_IP_PRI_CONNTRACK_CONFIRM = INT_MAX,
	NF_IP_PRI_LAST = INT_MAX,
};

3、raw表的特殊作用

raw 表:

可以用于决定是否对数据包进行状态跟踪。
对应的内核模块为:iptable_raw,其表内包括两个链:output、prerouting;

raw表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在系统进行ip_conntrack(连接跟踪)前进行处理。一但用户使用了raw表,在某个链上,raw表处理完后,将跳过NAT表和ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了。RAW表可以应用在那些不需要做nat的情况下,以提高性能。

4、raw表优化性能示例

raw 表主要用-j notrack给不需要被连接跟踪的包打标记(UNTRACKED状态),这种让数据包不进入链接跟踪/NAT子系统行为,所以raw表可以用在那些不需要做nat和链接跟踪的情况

示例场景:

RAW表可以应用在那些不需要做nat和链接跟踪的情况,如大量迸发的Web服务,
可以让80端口不再做数据包的链接跟踪,节省iptables处理开销以提高用户的访问速度。

配合-j notrack实现允许规则指定80端口的包不进入链接跟踪/NAT子系统用例:

iptables -t raw -A PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j NOTRACK
iptables -t raw -A PREROUTING -s 1.2.3.4 -p tcp --sport 80 -j NOTRACK
iptables -A FORWARD -m state --state UNTRACKED -j ACCEPT

相关文章:

  • 直播间 网站建设/网络营销战略有什么用
  • 课程网站开发流程图及原型图/上海网站seo
  • 个人如何做购物网站 关于支付接口/实事新闻热点
  • 我想看b站直播有哪些软件/网站关键词排名怎么提升
  • 学做网站/贵阳百度推广电话
  • 中山祥云网站建设/网易最新消息新闻
  • 第8章 NVS
  • 【Android笔记67】Android之动态申请访问权限(工具类封装)
  • Pytorch自定义数据集模型训练流程
  • QEMU零知识学习3 —— QEMU配置
  • k8s之挂载本地磁盘到POD中
  • Spring国际化详解,Spring国家化实例及源码详解
  • 解决Windows Server远程断开后自动锁屏问题
  • 系分 - 案例分析 - 系统设计
  • 基于有向图的邻接矩阵计算其割点、割边、压缩图,并用networkx可视化绘制
  • 【进阶】Spring更简单的读取和存储对象
  • C++内存分配方法new与placement new使用方法详解
  • [ACTF2020 新生赛]BackupFile