文档章节

Linux防火墙之介绍

柳哥
 柳哥
发布于 2015/05/12 14:21
字数 1154
阅读 49
收藏 1

Linux提供了一个非常优秀的防火墙工具,即Netfilter/iptables(http://www.netfilter.org/)。它完全是免费的,并且可以在一台低配置的老机器上很好地运行。Netfilter/iptables功能强大,使用灵活,并且可以对流入和流出的信息进行细化控制。

事实上,每个主要的Linux版本中都有不同的防火墙软件套件,iptables(Netfilter)应用程序被认为是Linux中实现包过滤功能的第4代应用程序。

Netfilter/iptables系统如何工作

Netfilter/iptables IP信息包过滤系统是一种功能强大的工具,可用于添加,编辑和除去规则。这些规则是在决定信息包过滤时防火墙所遵循和组成的,这些规则存储在专用的信息包过滤表中,而这些表集成在Linux内核中。在信息包过滤表中,规则被分组放在所谓的链(chain)中。虽然Netfilter/iptables IP信息包过滤系统称为“单个实体”,但它实际上由两个组件即Netfilter和iptables组成。Netfilter组件也称为“内核空间(kernel space)”,是内核的一部分。它由一些信息包过滤表组成,这些表包含了内核用来控制信息包过滤处理的规则集。iptables组件是一种工具,也称为“用户空间(User space)”,它使插入,修改和除去信息包过滤表中的规则变得容易。通过使用用户空间可以构建自己的定制规则,这些规则存储在内核空间的信息包过滤表中。这些规则具有目标,它们告诉内核来自某些源,前往某些目的地或如何处理具有某些协议类型的信息包。如果某个信息包与规则匹配,那么使用目标ACCEPT允许该信息包通过,还可以使用目标DROP或REJECT来阻塞并杀死信息包。对于信息包执行的其他操作,还有许多其他目标。

根据规则所处理的信息包的类型,可以将规则分组在链中。处理入站信息包的规则被添加到INPUT链中;处理出站信息包的规则被添加到OUTPUT链中;处理正在转发的信息包的规则被添加到FORWARD链中,这3个链是基本信息包过滤表中内置的默认主链。另外,还有其他许多可用的链的类型 (如PREROUTING和POSTROUTING),以及用户定义链。每个链都可以有一个策略,它定义“默认目标”,即要执行的默认操作,当信息包与链中的任何规则都不匹配时执行此操作。

建立规则并将链放在适当的位置之后,就可以开始进行真正的信息包过滤工作了,这时内核空间从用户空间接管工作。当信息包到达防火墙时,内核先检查信息包的头信息,尤其是信息包的目的地,这个过程称为“路由”。

如果信息包源自外界并前往系统,而且防火墙是打开的,那么内核将其传递到内核空间信息包过滤表的INPUT链(过滤所有目标地址是本机的数据包----对进入本机数据包的过滤)。如果信息包源自系统内部或系统所连接的内部网上的其他源,并且此信息包要前往另一个外部系统,那么信息包被传递到OUTPUT链(过滤所有本机产生的数据包----对源地址的数据包的过滤)。类似的,源自外部系统并前往内部系统的信息包被传递到FORWARD链(过滤所有路过本机的数据包----源地址和目标地址都不是本机的数据包)。

接下来,将信息包的头信息与其所传递到的链中的每条规则进行比较,看它是否与某条规则完全匹配。如果信息包与某条规则匹配,那么内核就对该信息包执行由该规则的目标指定的操作; 如果信息包与这条规则不匹配,那么它将与链中的下一条规则进行比较。如果信息包与链中的任何规则都不匹配,那么内核将参考该链的策略来决定如何处理该信息包。理想的策略是应该告诉内核丢弃(DROP)该信息包。

© 著作权归作者所有

共有 人打赏支持
柳哥
粉丝 207
博文 405
码字总数 347782
作品 0
杭州
技术主管
私信 提问
关于win7与虚拟机LINUX互通问题

首先,介绍如何在VMWARE中设置LINUX的网络。一般网络选项有Bridged, NAT, host-only几种。本次以我实现的host-only为样本来做详细说明,如下图: 在选择host-only模式之后,打开VMWARE的网络...

Sandy_wu
2013/03/19
0
0
大数据教程(2.6):Linux防火墙配置详解

我们从事IT的部分人员中,经常会与Linux系统打交道,而Linux中有一个非常重要的包过滤工具,它就是防火墙。大多数人员可能对这块知识不甚了解,亦或是只知道其中一些简单的配置。本节博主将为...

em_aaron
2018/07/11
0
0
Linux系统上软件防火墙??

大家能不能给介绍几款Linux系统上的软件防火墙?谢谢大家 了。

ZhouLS
2012/12/18
478
9
dhcp + ipchains 实现上网之配置

摘 要: 如何把一个局域网带入INTERNETR?其实方法有很多,很多人都会选择WINDOWS 98/2000+SYGATE/WINGATE,但是这种方式也有许多不便这处。管理不是很方便且安全性不太好。而LINUX给人们留下...

红薯
2009/05/05
89
0
OpenSnitch:一个 Linux 上的应用程序防火墙

不能因为 Linux 比 Windows 更安全,就可以在 Linux 上放松警惕。Linux 上可以使用的防火墙很多,它们可以让你的 Linux 系统更安全。今天,我们将带你了解一个这样的防火墙工具,它就是 Open...

作者: John Paul
2018/12/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot2.x配置Cors跨域

SpringBoot2.x配置Cors跨域 1 跨域的理解 跨域是指:浏览器A从服务器B获取的静态资源,包括Html、Css、Js,然后在Js中通过Ajax访问C服务器的静态资源或请求。即:浏览器A从B服务器拿的资源,...

水木星辰
18分钟前
1
0
一文搞懂TCP与UDP的区别

**摘要:**计算机网络基础 作者:浪里行舟 Fundebug经授权转载,版权归原作者所有。 引言 网络协议是每个前端工程师都必须要掌握的知识,TCP/IP 中有两个具有代表性的传输层协议,分别是 TC...

Fundebug
20分钟前
2
0
Hanlp1.7版本的新增功能一览

Hanlp1.7版本在去年下半年的时候就随大快的DKH1.6版本同时发布了,截至目前1.7大版本也更新到了1.7.1了。本篇分别就1.7.0和1.7.1中新增的功能做一个简单的汇总介绍。 HanLP 是由一系列模型与...

左手的倒影
27分钟前
1
0
Linux之PAM可动态加载的认证模块

在Linux中执行有些程序时,这些程序在执行前首先要对启动它的用户进行认证,符合一定的要求之后才允许执行,例如login, su等。在Linux中进行身份或是状态的验证程序是由PAM来进行的,PAM(P...

城市之雾
28分钟前
1
0
程序员接私活那些坑

前言 最近有很多人问我私活怎么样?有什么坑,我之前也是接了几个私活,当然也有稳定的收入。我们也来分享一下。前几天发现了一个帖子很不错,我们来分享一下 注:本文转自 : http://blog.cs...

终端研发部
35分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部