框架01--防火墙基础知识

防火墙

一、防火墙理论知识

防火墙就是防止别人恶意访问得。

1.分类

 1 #从逻辑上讲。防火墙可以大体分为主机防火墙和网络防火墙。
 2 
 3 主机防火墙:针对于单个主机进行防护。
 4 
 5 网络防火墙:往往处于网络入口或边缘,针对于网络入口进行防护,服务于防火墙背后的本地局域网。
 6 
 7 备注:网络防火墙和主机防火墙并不冲突,可以理解为,网络防火墙主外(集体), 主机防火墙主内(个人)。
 8 
 9  
10 
11 从物理上讲,防火墙可以分为硬件防火墙和软件防火墙。
12 
13 硬件防火墙:在硬件级别实现部分防火墙功能,另一部分功能基于软件实现,性能高,成本高。
14 
15 软件防火墙:应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能低,成本低。

2.iptables基本介绍

用户  --->  调用iptables  --->  ip_tables内核模块  --->  Netfilter(系统安全框架) --->  过滤请求

3.iptables底层原理

iptables其实不是真正的防火墙,我们可以把它理解成一个客户端代理.用户通过iptables这个代理,
           将用户的安全设定执行到对应的”安全框架”中,这个”安全框架”才是真正的防火墙,这个框架的名字叫netfilter
netfilter才是防火墙真正的安全框架(framework),netfilter位于内核空间
  iptables其实是一个命令行工具,位于用户空间,我们用这个工具操作真正的框架。组成Linux平台下的包过滤防火墙
  它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能。

4.iptables规则

1 匹配条件:匹配条件分为基本匹配条件与扩展匹配条件
2 基本匹配条件:源地址Source IP,目标地址 Destination IP
3 扩展匹配条件:还有很多其他的条件可以用于匹配,这些条件泛称为扩展条件,这些扩展条件其实也是netfilter中的一部分,
只是以模块的形式存在,如果想要使用这些条件,则需要依赖对应的扩展模块。源端口Source Port, 目标端口Destination Port

5.iptables四表

filter表:负责过滤功能,防火墙;内核模块:iptables_filter
nat表:network address translation,网络地址转换功能;内核模块:iptable_nat
mangle表:拆解报文,做出修改,并重新封装 的功能;iptable_mangle
raw表:负责数据包跟踪,关闭nat表上启用的连接追踪机制;iptable_raw

6.iptables五链、

表链关系:

PREROUTING 的规则可以存在于:raw表,mangle表,nat表。
INPUT 的规则可以存在于:mangle表,filter表,(centos7中还有nat表,centos6中没有)。
FORWARD 的规则可以存在于:mangle表,filter表。
OUTPUT 的规则可以存在于:raw表mangle表,nat表,filter表。
POSTROUTING 的规则可以存在于:mangle表,nat表。

 

7.iptables流程图解析、

流入本机: A  --->  PREROUTING  --->  INPUT ---> B
流出本机:OUTPUT  --->  POSTROUTING  ---> B
经过本机: A ---> OUTPUT ---> POSTROUTING | ---> PREROUTING ---> FORWARD  ---> POSTROUTING ---> C ---> PREROUTING  ---> INPUT ---> B

filter :  INPUT 、OUTPUT 、FORWARD
nat : PREROUTING 、 OUTPUT、 POSTROUTING
raw : PREROUTING、 OUTPUT
mangle : PREROUTING INPUT FORWARD OUTPUT POSTROUTING

须知:

# 优先级
iptables为我们定义了4张”表”,当他们处于同一条”链”时,优先级次序(由高而低):raw –> mangle –> nat –> filter


# 拓展
为了更方便的管理,我们还可以在某个表里面创建自定义链,将针对某个应用程序所设置的规则放置在这个自定义链中,
但是自定义链接不能直接使用,只能被某个默认的链当做动作去调用才能起作用
自定义链就是一段比较”短”的链子,这条”短”链子上的规则都是针对某个应用程序制定的,但是这条短的链子并不能直接使用,
需要”焊接”在iptables默认定义链子上,才能被IPtables使用,这就是为什么默认定义的”链”需要把”自定义链”当做”动作”去引用

 

 

*酒店服务流程(帮助理解)

 

 

posted @ 2021-12-24 23:43  Panda_Xin  阅读(438)  评论(0编辑  收藏  举报