Linux IPtables相关概念
基础知识
安全技术:
-
IDS:Intrusion Detection Systems,入侵检测系统
-
IPS:Intrusion Prevention System,入侵防御系统
-
FireWall:防火墙
防火墙概念
防火墙是作用与内网和外网之间,根据定义的策略来过滤流量的软件或者硬件。
防火墙分类
可以根据作用范围和实现逻辑分类
根据作用范围分类
-
主机防火墙:针对于单个主机进行防护。
-
网络防火墙:处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网
根据实现逻辑分类
-
硬件防火墙:在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高。
-
软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低。
linux的防火墙:netfilter
netfilter组件是集成在内核中的,采用模块化设计的,工作在内核空间。
netfilter的钩子函数
hook(勾子) function,是系统预留的一些函数,可以允许外部用户调用钩子函数。可以通过一些工具来向这五个钩子函数中写入规则。
netfilter在五个位置放了五个不同的钩子函数。
(INPUT 、OUTPUT 、FORWARD 、PREROUTING 、POSTROUTING)
netfilter的报文流向
说明:
-
PREROUTTING:报文的总进口
-
POSTROUTING:报文的总出口
-
到本机的某进程:PREROUTING –> INPUT
-
由本机转发的:PREROUTING –> FORWARD –> POSTROUTING
-
由本机某进程发出的: OUTPUT –> POSTROUTING
linux防火墙的管理工具
-
iptables:用来编写规则,写好的规则被送往netfilter,告诉内核如何去处理信息包
-
firewalld:CentOS7提供的,就是基于iptables的二次开发
-
nettable:CentOS8提供的
iptables的相关概念
规则、链、表的相关概念:
规则:
规则就是一种匹配策略,如果满了这种策略,就做什么样的操作。例如:禁止小商小贩进入学校
规则链:
多条规则的集合。例如:禁止小商小贩进入学校;非本校人员进入先登记;
表:
相同功能规则的一种几个叫做表。
例如“拒绝表”:
1.禁止小商小贩进入学校,
2.禁止不戴口罩的进入本校,
3.禁止赤身裸体进入本校。
通过这个表可以统一管理这些规则。
iptables预定义了五张表和五个规则链:
五表:
-
filter:负责过滤功能,防火墙;内核模块:iptables_filter
-
nat:network address translation,网络地址转换功能;内核模块:iptable_nat
-
mangle:拆解报文,做出修改,并重新封装 的功能;iptable_mangle
-
raw:关闭启用的连接跟踪机制,加快封包穿越防火墙速度
-
security:用于强制访问控制(MAC)网络规则,由Linux安全模块(如SELinux)实现
优先级从高到低:
security -->raw-->mangle-->nat-->filter
五链
预定义的五个规则链和netfilter的五个钩子函数一一对应。
-
PREROUTING
-
INPUT:报文从内核空间到用户空间(应用进程)
-
FORWARD:报文转发的规则链
-
OUTPUT:报文输出的规则链
-
POSTROUTING:报文进入netfilter的规则链
查看规则链里面的规则都存在哪些表中:
iptables -vnL -t table_name
相关文章
- 一个故事看懂Linux文件权限管理
- 闯荡Linux帝国:nginx的创业故事
- 实践GoF的设计模式:单例模式
- Go 1.18 新特性:多模块工作区模式
- 用过 mongodb 吧, 这三个大坑踩过吗?
- 教你配置windows上的windbg,linux上的lldb,打入clr内部这一篇就够了
- 使用mongodb作为Quartz.Net下的JobStore实现底层的持久化机制
- mongodb之使用explain和hint性能分析和优化
- mongodb 3.x 之实用新功能窥看[2] ——使用$lookup做多表关联处理
- mongodb 3.x 之实用新功能窥看[1] ——使用TTLIndex做Cache处理
- 双十一来了,别让你的mongodb宕机了
- 分享几个你可能不知道的交互式Git 命令
- 实践GoF的23的设计模式:SOLID原则(下)
- 实践GoF的23种设计模式:SOLID原则(上)
- k8s源码Client-go中Reflector解析
- HTTP流量神器Goreplay核心源码详解
- 手把手带你基于嵌入式Linux移植samba服务
- 8天学通MongoDB——第八天 驱动实践
- 8天学通MongoDB——第七天 运维技术
- 8天学通MongoDB——第六天 分片技术