`
desert3
  • 浏览: 2139653 次
  • 性别: 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用户构建网络安全平台的首选工具。但是,由于种种原因...

    [计算机毕设]基于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是位于网卡和内核协议栈之间...

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

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

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

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

    Linux-iptables命令解析.doc

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

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

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

    基于Linux 的防火墙技术研究

    Linux 在其2.4 内核中内置了一个基于网络层解决方案的防火墙系统—Netfilter/Iptables,它使得 用户能够很方便地在网络边界定制对数据包的各种控制,如有状态或无状态的包过滤、各种类型的网 络地址转换、流量控制及...

    NetFlow/IPFIX iptables module:用于Linux内核的NetFlow iptables模块-开源

    这是netfilter / iptables模块,添加了对-j NETFLOW目标的支持。 设计用于不使用conntrack即可有效地工作。 支持NetFlow协议v5,v9和IPFIX。 解释IPv4,IPv6流量和NAT转换事件(NEL)。 其他选项是SNMP索引转换规则...

    IPTABLES应用手册

    防火墙(Firewall)、网址转换(NAT)、数据包(package)记录、流量统计,这些功能全是Linux核心里的Netfilter子系统所提供的,而iptables是控管Netfilter的唯一工具程序。iptables的接口很可能是Linux有史以来最精致...

    netfilter.pdf

    主要对netfilter框架的原理和源码进行讲解,对于netfilter、iptables、conntrack、nat直接如何配合,进行了详细的图标绘制,源码分析,对于个人理解netfilter框架有很好的提高

    iptables:尝试对iptables进行理智的介绍

    传奇: 常用或提及不常用或此处未记录 iptables (和ip6tables )是一个用户空间工具,用于在Linux内核的Xtables / Netfilter框架内配置NAT,数据包处理和有状态数据包过滤。 它使用称为表的组织单位来保存包含规则...

    把Iptables移植到嵌入式Linux系统

    Linux下支持netfilter机制的配置工具就是iptables,它也就相当与一个 应用程序,可以对netfilter进行配置(包过滤规则,NAT等等)。所以要实现netfilter(iptables)就要从两方面来着手:1)内 核支持netfilter;2)...

    LINUX中IPTABLES防火墙的基本使用教程

    这里可以使用Linux防火墙netfilter的用户态工具 iptables有4种表:raw–>mangle(修改报文原数据)–>nat(定义地址转换)–>filter(定义允许或者不允许的规则) 每个表可以配置多个链: * 对于filter来讲一般只能做在3个...

    libnetfilter_conntrack-1.0.7.tar.bz2

    认识和熟悉过iptables之后,更加感叹netfilter的磅礴和浩瀚。在netfilter体系中,状态跟踪机制(conntrack)是重要的一部分。它是基于Linux系统的stateful防火墙的基础,也是NAT完成对相关包进行转换的手段。本文...

    rust-iptables:iptables的Rust绑定

    锈iptables 此板条箱为Linux中的应用程序提供了绑定(受启发)。 这个板条箱使用iptables二进制文件来操作链和表。 此源代码是根据MIT许可(可在LICENSE文件中找到)许可的。 [ dependencies ]iptables = " 0.4 ...

    操作系统安全:iptables工具.pptx

    iptables;iptables工具;iptables工具;iptables工具;iptables工具;FilterTable的操作;FilterTable的操作;FilterTable的操作;FilterTable的操作;FilterTable的操作;FilterTable的操作;...Netfilter的结构图

    详解Linux iptables 命令

    iptables 是 Linux 管理员用来设置 IPv4 数据包过滤条件和 NAT 的命令行工具。iptables 工具运行在用户态,主要是设置各种规则。而 netfilter 则运行在内核态,执行那些设置好的规则。 查看 iptables 的链和规则 ...

Global site tag (gtag.js) - Google Analytics