`
desert3
  • 浏览: 2158621 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

防火墙、Iptables、netfilter/iptables、NAT 概述

 
阅读更多
转自:防火墙的概述

一、防火墙的简介
  • 防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。它通过访问控制机制,确定哪些内部服务允许外部访问,以及 允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定IP包是否可以传进或传出内部网
  • 防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中的一条规则为止,然后依据控制机制做出相应的动作。如果都不满足,则将数据包丢弃,从而保护网络的安全
  • 防火墙可以被认为是这样一对机制:一种机制是拦阻传输流通行,另一种机制是允许传输流通过。一些防火墙偏重拦阻传输流的通行,而另一些防火墙则偏重允许传输流通过

二、防火墙的功能
  • 可以保护易受攻击的服务
  • 控制内外网之间网络系统的访问
  • 集中管理内网的安全性,降低管理成本
  • 提高网络的保密性和私有性
  • 记录网络的使用状态,为安全规划和网络维护提供依据


三、防火墙的类型
防火墙技术根据防范的方式和侧重点的不同而分为很多种类型,但总体来讲可分为:包过滤防火墙、代理服务器(例如:squid代理服务器)两种类型
1、包过滤防火墙(网络层)
工作原理

通过检查数据流中的每个数据包的源地址、目的地址、源端口、目的端口、协议状态等因素来确定数据包是否允许通过
2、代理服务器防火墙(应用层)
工作原理
代理服务型防火墙是在应用层上实现防火墙功能的。它能提供部分与传输有关的状态,能完全提供与应用相关的状态和部分传输的信息,它还能处理和管理信息,例 如:当代理服务器收到用户对某个网站的访问请求,先检查这个请求是否符合控制规则,如果符合ACL,则替用户取回所需要的信息再转给用户

一、iptables的简介
netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)等功能

netfilter/iptables IP 信息包过滤系统被称为单个实体,但它实际上由两个组件 netfilter和 iptables 组成。
netfilter 组件也称为 内核空间(kernelspace),是内核的一部分,由一些信息包过滤表组成, 这些表包含内核用来控制信息包过滤处理的规则集。
iptables 组件是一种工具,也称为 用户空间(userspace),它使插入、修改和除去信息包过滤表中的规则变得容易。 除非您正在使用 Red Hat Linux 7.1 或更高版本,否则需要从 netfilter.org 下载该工具并安装使用它。
通过使用用户空间,可以构建自己的定制规则,这些规则存储在内核空间的信息包过滤表中。

二、iptables的基础知识(表->链->规则)
1、规则(rules)
它其实就是网络管理员预定义的条件,规则一般的定义为“如果数据包头符合这样的条件,就这样处理这个数据包”。规则存储在内核空间的信息包过滤表中,这些规 则分别指定了源地址、目的地址、传输协议(如TCP、UDP、ICMP)和服务类型(如HTTP、FTP和SMTP)等。当数据包与规则匹配 时,iptables就根据规则所定义的方法来处理这些数据包,如放行(accept)、拒绝(reject)和丢弃(drop)等。配置防火墙的主要工 作就是添加、修改和删除这些规则
2、链(chains)
它是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查(即:检查的顺序:从上到下),看该数据包是否满足规则所定义的条件。如果满足,系统就会根据该条规则所定义的方法处理该数据包;否则iptables将继续检查 下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定义的默认策略来处理数据包
3、表(tables)
它提供特定的功能,iptables内置了4个表,即filter表、nat表、mangle表和raw表,分别用于实现包过滤,网络地址转换、包重构(修改)和数据跟踪处理

如图可得到:
1)这4个表的优先级别:raw > mangle > nat > filter
2)每个表有相关的链
  • raw表有2个链:prerouting、output
  • mangle表有5个链:prerouting、postrouting、input、output、forward
  • nat表有3个链:prerouting、postrouting、output
  • filter表中有3个链:input、output、forward

最常用的链:input(进入)、output(出去)、forward(转发),而prerouting与postrouting用于网络地址转换(NAT)
4、iptables传输数据包的过程

第一种:prerouting  ->  forward  -->  postrouting
第二种:prerouting  ->  input -> localost(本地) -> output  ->  postrouting

1、什么是NAT
NAT 英文全称是Network Address Translation,称是网络地址转换,它是一个IETF标准,允许一个机构以一个地址出现在Internet上。NAT将每个局域网节点的地址转换成一个IP地址,反之亦然。它也可以应用到防火墙技术里,把个别IP地址隐藏起来不被外界发现,使外界无法直接访问内部网络设备,同时,它还帮助网络可以超越地址的限制,合理地安排网络中的公有Internet地址和私有IP地址的使用
2、NAT的类型
1) 静态NAT(Static NAT,SNAT)(局域网的IP==>广域网的IP)

静态NAT设置起来最为简单和最容易实现的一种,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址
2)动态地址NAT(Pooled NAT,DNAT)(广域网的IP==>局域网的IP)
动态地址NAT是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络
动态地址NAT只是转换IP地址,它为每一个内部的IP地址分配一个临时的外部IP地址,主要应用于拨号,对于频繁的远程联接也可以采用动态NAT
3)网络地址端口转换NAPT(Port-Level NAT)
NAPT是把内部地址映射到外部网络的一个IP地址的不同端口上
最熟悉的一种转换方式。NAPT普遍应用于接入设备中,它可以将中小型的网络隐藏在一个合法的IP地址后面。NAPT与动态地址NAT不同,它将内部连接映射到外部网络中的一个单独的IP地址上,同时在该地址上加上一个由NAT设备选定的TCP端口号
  • 大小: 73 KB
  • 大小: 73.1 KB
  • 大小: 85.7 KB
  • 大小: 59.5 KB
分享到:
评论
1 楼 hutuxiansheng123 2016-11-01  
    

相关推荐

    netfilter/iptables(简称为iptables)

    netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火墙解决方案,完成封包过滤、封包重定向和网络地址转换(NAT)...

    基于JAVA JSP Iptables图形管理工具设计与实现的毕业设计,采用Browser/Server模式,通过Web配置界面

    Netfilter/Iptables防火墙是Linux平台下的包过滤防火墙,Iptables防火墙不仅提供了强大的数据包过滤能力,而且还提供转发,NAT映射等功能,是个人及企业级Linux用户构建网络安全平台的首选工具。但是,由于种种原因...

    Netfilter源代码分析详解

    Netfilter/IPTables 是 Linux 防火墙机制的新一代解决方案,继承了 IPfwadm 和 IPchains 的优点,并具有良好的可扩充性。Netfilter 采用模块化设计,提供了一个框架,将对网络代码的直接干涉降到最低,并允许用规定...

    [计算机毕设]基于jsp的基于Iptables图形管理工具系统设计与实现(源代码+项目报告).zip

    Netfilter/Iptables防火墙是Linux平台下的包过滤防火墙,Iptables防火墙不仅提供了强大的数据包过滤能力,而且还提供转发,NAT映射等功能,是个人及企业级Linux用户构建网络安全平台的首选工具。但是,由于种种原因...

    Linux网络安全Netfilter机制与iptables工具

    提供 Source NAT 与 Destination NAT 的功能。 可以针对特定使用者、群组、PID 等限制网络连结的过滤存取。 可以设定封包在 Routing Table 进出前时先预先处理。 可以针对外面自动建立、与现有联机有关这类联机过滤...

    Linux netfilter/iptables知识点详解

    Netfilter是Linux内核中的一个数据包处理模块,它可以提供数据包的过滤、转发、地址转换NAT功能。Iptables是一个工具,可以用来在Netfilter中增加、修改、删除数据包处理规则。 Netfilter是位于网卡和内核协议栈之间...

    Netfilter_Modules

    #### 一、Netfilter与Xtables框架概述 Netfilter是一个功能强大的内核框架,它为Linux系统提供了数据包过滤、网络地址转换(NAT)、连接跟踪等核心网络功能。通过该框架,开发人员可以编写内核模块来扩展其功能。...

    iptables防火墙应用指南

    ### iptables防火墙应用指南 #### 1. iptables简介 **1.1 iptables防火墙简介** iptables是一款广泛应用于Unix/Linux系统的免费包过滤防火墙工具。它具有强大的功能和高度灵活性,能够精确控制流入、流出以及通过...

    构筑Linux防火墙之IPtables的概念与用法

    <br>POSTROUTING链在包就要离开防火墙之前改变其源地址此表仅用于NAT,也就是转换包的源或目标地址。注意,只有流的第一个包会被这个链匹配,其后的包会自动被做相同的处理。实际的操作分为以下几类: <br>◆...

    JSP基于Iptables图形管理工具的设计与实现(源代码+lw).zip

    Netfilter/Iptables防火墙是Linux平台下的包过滤防火墙,Iptables防火墙不仅提供了强大的数据包过滤能力,而且还提供转发,NAT映射等功能,是个人及企业级Linux用户构建网络安全平台的首选工具。但是,由于种种原因...

    操作系统安全:Netfilter框架.pptx

    Netfilter/IPTables是Linux2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统。Netfilter采用模块化设计,具有良好的可扩充性。其重要工具模块IPTables从用户态的iptables连接到内核态的Netfilter的架构中...

    基于Netfilter的NAT技术及其应用

    在Linux 2.4内核版本中,Netfilter框架下的NAT实现主要依靠iptables工具,这是一种强大的包过滤和NAT功能的管理工具,它通过一系列预定义的表和链来控制和修改网络流量。 ##### 3.1 Netfilter架构 Netfilter框架...

    防火墙与Linux代理服务器.doc

    Netfilter/Iptables 是 Linux 内核中的一个重要组件,它为用户提供了一个强大的防火墙管理工具。自 Linux 2.4 版本内核起,Netfilter/Iptables 成为了标准配置之一。这一工具不仅功能全面而且易于使用,能够实现对...

    基于PC架构Linux NAT性能优化.pdf

    文章首先介绍了采用Netfilter/iptables技术实现NAT的原因。Netfilter是Linux内核中的一种包过滤和转换框架,它替代了早期的ipchains,并且支持NAT功能。通过Netfilter,可以对通过系统的IP包进行过滤、伪装,以实现...

    Netfilter源代码分析详解.docx编程资料

    Netfilter/IPTables作为2.0.x的IPfwadm和2.2.x的IPchains之后的新一代Linux防火墙机制,采用了高度模块化的设计思路,从而具备优秀的可扩展性。该框架的核心在于提供了一个统一的接口,允许开发者通过定义特定的模块...

    Linux网络安全讲义Netfilter机制与iptables工具.pdf

    有多种配置选项与iptables和Netfilter相关,例如CONFIG_PACKET用于支持原始套接字的网络包捕获,CONFIG_NETFILTER用于启用内核网络包过滤框架,CONFIG_IP_NF_CONNTRACK用于网络连接跟踪,CONFIG_IP_NF_FTP用于支持...

    linux iptables防火墙配置

    自2.4版及后续版本的内核起,`netfilter`框架成为了主流的包过滤机制,而`iptables`则作为其主要的管理工具,负责定义和执行防火墙规则。 `iptables`位于`/sbin/iptables`路径下,它不仅是一种命令行工具,更是...

    Linux使用iptables限制多个IP访问你的服务器

    在Linux内核上,netfilter是负责数据包过滤、网络地址转换(NAT)和基于协议类型的连接跟踪等功能的一个子系统,这个子系统包含一些信息包过滤表组成,这些表包含内核用来控制信息包过滤处理的规则集。iptables是一个...

Global site tag (gtag.js) - Google Analytics