前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【云安全最佳实践】技术栈系列基础篇6-iptables

【云安全最佳实践】技术栈系列基础篇6-iptables

原创
作者头像
gavin1024
发布2022-09-20 16:36:43
3100
发布2022-09-20 16:36:43
举报
文章被收录于专栏:百科知识百科知识

一、基础概念

Linux系统中防火墙功能的两大角色:iptables和netfilter。iptables是Linux系统下应用层内置控制防火墙的工具,netfilter则是防火墙功能的具体实现,是内核空间的功能模块。所谓的iptables“控制”防火墙,就是用户利用iptables将防火墙规则设置给内核的netfilter功能模块,这中间涉及“四表五链”

image.png

二、架构

image.png

三、四表五链

3.1 内核工作模型

image.png

  • 入站: PREROUTING→INPUT
  • 出站: OUTPUT→POSTROUTING
  • 转发: PREROUTING>FORWARD→POSTROUTING
  • 五链顺序:PREROUTING— > INPUT— – > FORWARD- - - - >OUTPUT---- >POSTROUT ING

“四表五链”其实是对用户设置规则的管理,是看待用户设置的规则的两个维度。举个例子,看图中深蓝色箭头的数据流向,数据包要到达用户层,需要经过PREROUTING链(路由前链)INPUT链(输入链),在这个链路中存放着用户设置的规则,这些规则根据功能不同又会被分组存放在RAW表、Mangle表和NAT表中。当数据包抵达PREROUTING链时,netfilter程序会依次从RAW表、Mangle表和NAT表中取出针对PREROUTING链的用户规则并执行相应操作;同理,INPUT链上的规则也会被分组存放在Mangle表和Filter表中,netfilter程序会依次从这两个表中取出针对INPUT链设置的用户规则并执行相应操作。(特别强调,转发的数据包不经过 OUTPUT 链

这里需要强调的一点是FORWARD链,它是转发链,也就是说只有在网卡个数>=2的系统中才具有的功能:开启系统转发功能后,当网络层发现数据包并非发给本机时会从另一网卡转发出去。中间经过FORWARD链,FORWARD链上的规则由Filter表、Mangle表读取操作。所以对于单网卡的系统中,上图应更改为:*

image.png

数据包流向

image.png

3.2 四表

功能

Filter表

过滤数据包

NAT表

用于网络地址转换(IP、端口)

Mangle表

修改数据包的服务类型、TTL、并且可以配置路由实现QOS

Raw表

决定数据包是否被状态跟踪机制处理

3.3 五链

功能

INPUT链

进来的数据包应用此规则链中的规则

OUTPUT链

外出的数据包应用此规则链中的规则

FORWARD链

转发数据包时应用此规则链中的规则

PREROUTING链

对数据包作路由选择前应用此链中的规则

POSTROUTING链

对数据包作路由选择后应用此链中的规则

参考文档

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、基础概念
  • 二、架构
  • 三、四表五链
    • 3.1 内核工作模型
      • 3.2 四表
        • 3.3 五链
        • 参考文档
        相关产品与服务
        NAT 网关
        NAT 网关(NAT Gateway)提供 IP 地址转换服务,为腾讯云内资源提供高性能的 Internet 访问服务。通过 NAT 网关,在腾讯云上的资源可以更安全的访问 Internet,保护私有网络信息不直接暴露公网;您也可以通过 NAT 网关实现海量的公网访问,最大支持1000万以上的并发连接数;NAT 网关还支持 IP 级流量管控,可实时查看流量数据,帮助您快速定位异常流量,排查网络故障。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档