一、防火墙基础
Linux系统的防火墙:IP信息包过滤系统,由两个组件netfilter和iptables组成。主要工作在网络层,针对IP数据包,体现在对IP数据包内的IP地址、端口、协议等信息的处理上。
1.netfilter/iptables关系
netfilter
1.位于Linux内核中的包过滤功能体系
2.称为Linux防火墙的内核态(内核空间)
3.内核的一部分,由一些数据包过滤表组成,这些表包含内核用来控制数据包过滤处理的规则集
iptables
1.位于/sbin/iptables
2.用来管理防火墙规则的工具称为Linux防火墙的用户态
3.他使插入、修改和删除数据包过滤表中的规则变得容易
注:netfilter/iptables后期简称为iptables,iptables是基于内核的防火墙,其中内置了raw、mangle、nat和filter四个规则表,表中所有规则配置后,立即生效,不需要重启服务
二、防火墙的分类
按保护范围划分:
1.主机防火墙:服务范围为当前一台主机(input output链)
2.网络防火墙:服务范围为防火墙一侧的局域网(forward链)
按实现方式划分:
1.硬件防火墙:在专用硬件级别实现部分功能的防火墙;另一个部分功能基于软件实现,如:华为,山石hillstone,天融信,启明星辰,绿盟,深信服,PaloAlto,fortinet,Cisco,Checkpoint等,开源二次开发
2.软件防火墙:运行于通用硬件平台之上的防火墙的应用软件,Windows防火墙ISA--->Forefront系统上的软件实现防火墙功能
按七层模型协议划分:
1.网络层防火墙:OSI模型下四层又称为包过滤防火墙
2.应用层防火墙/代理服务器:proxy代理网关,OSI七层模型,控制应用层的数据
2层原理:根据mac地址转发
3层原理:根据ip地址转发
4层原理:根据协议端口号转发
7层原理:真实数据
三、四表五链*
表中有链,链中有规则
1.四表
表的作用:规定了如何处理数据包,表中有链
raw表:是否跟踪数据流量(Prerouting链、output链)
mangle表:是否标记数据流量(Prerouting链、Postrouting链、input链、output链、forward链)
nat表:网络地址转换,用来修改数据包中的源、目标IP地址和端口(Prerouting链、Postrouting链、output链)
filter表:过滤数据流量,决定了数据是否通过(input链、output链、forward链)
2.五链
链的作用:什么时候起作用,容纳各种防火墙规则
input链:处理入站数据包,匹配目标IP为本机的数据包
output链:处理出站数据包
forward链:处理转发数据包,匹配经过本机的数据包。
prerouting链:在进行路由选择前处理数据包,用来修改目的地址,用来做DNAT。相当于把内网服务器的工P和端口映射到路由器的外网IP和端口上
postrouting链:在进行路由选择后处理数据包,用来修改源地址,用来做SNAT。相当于内网通过路由器NAT转换功能实现内网主机通过一个公网IP地址上网
3.规则链之间的匹配顺序
1.入站数据(来自外界的数据包,且目标地址是防火墙本机):PREROUTING>INPUT>本机的应用程序
2.出站数据(从防火墙本机向外部地址发送的数据包):本机的应用程序>OUTPUT>POSTROUTING网络型防火墙
3.转发数据(需要经过防火墙转发的数据包):PREROUTING>FORWARD>POSTROUTING
4.规则链内的匹配顺序
1.自上向下按顺序依次进行检查,找到相匹配的规则


3469

被折叠的 条评论
为什么被折叠?



