iptables防火墙概述即使用

一、Linux包过滤防火墙概述

1.1、netfilter

位于Linux内核中的包过滤功能体系
称为Linux防火墙的“内核态”

1.2、iptables

位于/sbin/iptables,用来管理防火墙规则的工具
称为Linux防火墙的用户态
–上述两种称呼都可以表示Linux防火墙

1.3、包过滤的工作层次

主要是网络层,针对IP数据包
体现在对包内的IP地址、端口等信息的处理上
在这里插入图片描述

二、iptables的表、链结构

2.1、五链

2.1.1、规则链

规则的作用:对数据包进行过滤或处理
链的作用:容纳各种防火墙规则
链的分类依据:处理数据包的不同时机

2.1.2、默认包括5种规则链(类似于ACL中的访问控制列表)

INPUT:处理入站数据包(进入防火墙时)
OUTPUT:处理出战数据包(出防火墙时)
FORWARD:处理转发数据包
NAT时使用:
PREROUTING链:在进行路由选择前处理数据包(先把目标IP转换为私有IP再查询路由表进行数据转发)
POSTROUTING链:在进行路由选择后处理数据包(从内向外会查路由表;将源地址转换为外网地址出去)

服务器上在input链上写规则;客户端在input链或forward链

2.2、四表

2.2.1规则表

表的作用:容纳各种规则链
表的划分依据:防火墙规则的作用相似

2.2.2默认包括4个规则表

(1)、filter表:filter表用来对数据包进行过滤,根据具体的规则要求决定如何处理一个数据包。filter表对应的内核模块为iptables_filter,表内包含三个链,即INPUT,FORWARD,OUTPUT。 
(2)、nat表:nat(NetworkAddress Translation,网络地址转换)表主要用来修改数据包的IP地址,端口号等信息。nat表对应的内核模块为iptables_nat,包含三个链,即PREROUTING,POSTROUTING,OUTPUT。 
(3)、mangle表:mangle表用来修改数据包的TOS(Type Of Service,服务类型)、TTL(Time To Live,生存周期),或者为数据包设置Mark标记,以实现流量整形、策略路由等高级应用。mangle表对应的内核模块为iptables_mangle,表内包含五个链,即PREROUTING,POSTROUTING,INOPUT,OUTPUT,FORWARD。
(4)、raw表:raw表是自1.2.9版本以后的iptables新增的表,主要用来决定是否对数据包进行状态跟踪。raw表对应的内核模块为iptables_raw,表内包含两个链,即OUTPUT,PREROUTING。
补充:
状态化防火墙:高安全到低安全可以访问是因为防火墙会做标记。

2.3默认的表、链结构示意图

表包含链
链包含规则
在这里插入图片描述

2.4数据包过滤的匹配流程

2.4.1、规则表之间的顺序

raw–mangle–nat–filter

2.4.2、规则链之间的顺序

PREROUTING–INPUT–FORWARD–OUTPUT–POSTROUTING
入站:PREROUTING–INPUT
出战:OUTPUT–POSTROUTING
转发:PREROUTING–FORWARD–POSTROUTING

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值