<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Learning together &#187; iptables</title>
	<atom:link href="http://www.freeopens.com/tag/iptables/feed" rel="self" type="application/rss+xml" />
	<link>http://www.freeopens.com</link>
	<description>Learning together with open source fans. QQ群：8021887</description>
	<lastBuildDate>Fri, 06 Aug 2010 02:12:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>第十一章 netfilter/iptables全攻略</title>
		<link>http://www.freeopens.com/2010_04_924.html</link>
		<comments>http://www.freeopens.com/2010_04_924.html#comments</comments>
		<pubDate>Mon, 26 Apr 2010 02:23:25 +0000</pubDate>
		<dc:creator>羽飞</dc:creator>
				<category><![CDATA[Linux Security]]></category>
		<category><![CDATA[Linux Server]]></category>
		<category><![CDATA[My Videos]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[netfilter]]></category>
		<category><![CDATA[安全]]></category>
		<category><![CDATA[防火墙]]></category>

		<guid isPermaLink="false">http://www.freeopens.com/2010_04_924.html</guid>
		<description><![CDATA[内容简介 防火墙的概述 iptables简介 iptables基础 iptables语法 iptables实例 案例详解 防火墙的简介 防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合，它能增强机构内部网络的安全性。它通过访问控制机制，确定哪些内部服务允许外部访问，以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定IP包是否可以传进或传出内部网。 防火墙通过审查经过的每一个数据包，判断它是否有相匹配的过滤规则，根据规则的先后顺序进行一一比较，直到满足其中的一条规则为止，然后依据控制机制做出相应的动作。如果都不满足，则将数据包丢弃，从而保护网络的安全。 防火墙可以被认为是这样一对机制：一种机制是拦阻传输流通行，另一种机制是允许传输流通过。一些防火墙偏重拦阻传输流的通行，而另一些防火墙则偏重允许传输流通过。 通过使用防火墙可以实现以下功能：可以保护易受攻击的服务；控制内外网之间网络系统的访问；集中管理内网的安全性，降低管理成本；提高网络的保密性和私有性；记录网络的使用状态，为安全规划和网络维护提供依据。(图1) 防火墙的分类 防火墙技术根据防范的方式和侧重点的不同而分为很多种类型，但总体来讲可分为包过滤防火墙和代理服务器两种类型。 防火墙的工作原理 1．包过滤防火墙工作原理（图2） 2．代理服务型防火墙工作原理 代理服务型防火墙是在应用层上实现防火墙功能的。它能提供部分与传输有关的状态，能完全提供与应用相关的状态和部分传输的信息，它还能处理和管理信息。 iptables简介 netfilter/iptables（简称为iptables）组成Linux平台下的包过滤防火墙，与大多数的Linux软件一样，这个包过滤防火墙是免费的，它可以代替昂贵的商业防火墙解决方案，完成封包过滤、封包重定向和网络地址转换（NAT）等功能。 iptables基础 规则（rules）其实就是网络管理员预定义的条件，规则一般的定义为“如果数据包头符合这样的条件，就这样处理这个数据包”。规则存储在内核空间的信息包过滤表中，这些规则分别指定了源地址、目的地址、传输协议（如TCP、UDP、ICMP）和服务类型（如HTTP、FTP和SMTP）等。当数据包与规则匹配时，iptables就根据规则所定义的方法来处理这些数据包，如放行（accept）、拒绝（reject）和丢弃（drop）等。配置防火墙的主要工作就是添加、修改和删除这些规则。 链（chains）是数据包传播的路径，每一条链其实就是众多规则中的一个检查清单，每一条链中可以有一条或数条规则。当一个数据包到达一个链时，iptables就会从链中第一条规则开始检查，看该数据包是否满足规则所定义的条件。如果满足，系统就会根据该条规则所定义的方法处理该数据包；否则iptables将继续检查下一条规则，如果该数据包不符合链中任一条规则，iptables就会根据该链预先定义的默认策略来处理数据包。 表（tables）提供特定的功能，iptables内置了4个表，即filter表、nat表、mangle表和raw表，分别用于实现包过滤，网络地址转换、包重构(修改)和数据跟踪处理。 Iptables表、链、规则（图3） iptables传输数据包的过程 ① 当一个数据包进入网卡时，它首先进入PREROUTING链，内核根据数据包目的IP判断是否需要转送出去。 ② 如果数据包就是进入本机的，它就会沿着图向下移动，到达INPUT链。数据包到了INPUT链后，任何进程都会收到它。本机上运行的程序可以发送数据包，这些数据包会经过OUTPUT链，然后到达POSTROUTING链输出。 ③ 如果数据包是要转发出去的，且内核允许转发，数据包就会如图所示向右移动，经过FORWARD链，然后到达POSTROUTING链输出。（图4） iptables命令格式 iptables的命令格式较为复杂，一般的格式如下： iptables [-t table] 命令 [chain] [rules] [-j target] table——指定表明 命令——对链的操作命令 chain——链名 rules——规则 target——动作如何进行 1．表选项 表选项用于指定命令应用于哪个iptables内置表，iptables内置包括filter表、nat表、mangle表和raw表。 2．命令选项iptables命令格式 命令&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 说明 -P或&#8211;policy&#160; &#60;链名&#62;&#160;&#160;&#160;&#160; 定义默认策略 [...]]]></description>
		<wfw:commentRss>http://www.freeopens.com/2010_04_924.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>iptables的相关概念和数据包的流程（图）</title>
		<link>http://www.freeopens.com/2010_03_886.html</link>
		<comments>http://www.freeopens.com/2010_03_886.html#comments</comments>
		<pubDate>Sat, 27 Mar 2010 13:56:24 +0000</pubDate>
		<dc:creator>羽飞</dc:creator>
				<category><![CDATA[Linux Security]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[mangle]]></category>
		<category><![CDATA[nat]]></category>
		<category><![CDATA[netfilter]]></category>
		<category><![CDATA[raw]]></category>

		<guid isPermaLink="false">http://www.freeopens.com/2010_03_886.html</guid>
		<description><![CDATA[iptables 相关概念 匹配（match）：符合指定的条件，比如指定的 IP 地址和端口。 丢弃（drop）：当一个包到达时，简单地丢弃，不做其它任何处理。 接受（accept）：和丢弃相反，接受这个包，让这个包通过。 拒绝（reject）：和丢弃相似，但它还会向发送这个包的源主机发送错误消息。这个错误消息可以指定，也可以自动产生。 目标（target）：指定的动作，说明如何处理一个包，比如：丢弃，接受，或拒绝。 跳转（jump）：和目标类似，不过它指定的不是一个具体的动作，而是另一个链，表示要跳转到那个链上。 规则（rule）：一个或多个匹配及其对应的目标。 链（chain）：每条链都包含有一系列的规则，这些规则会被依次应用到每个遍历该链的数据包上。每个链都有各自专门的用途， 这一点我们下面会详细讨论。 表（table）：每个表包含有若干个不同的链，比如 filter 表默认包含有 INPUT，FORWARD，OUTPUT 三个链。iptables 有四个表，分别是：raw，nat，mangle和filter，每个表都有自己专门的用处，比如最常用filter表就是专门用来做包过滤的，而 nat 表是专门用来做NAT的。 策略（police）：我们在这里提到的策略是指，对于 iptables 中某条链，当所有规则都匹配不成功时其默认的处理动作。 连接跟踪（connection track）：又称为动态过滤，可以根据指定连接的状态进行一些适当的过滤，是一个很强大的功能，但同时也比较消耗内存资源。 &#160; 经过iptables的数据包的流程介绍 一个数据包到达时,是怎么依次穿过各个链和表的（图）。 基本步骤如下： 1. 数据包到达网络接口，比如 eth0。 2. 进入 raw 表的 PREROUTING 链，这个链的作用是赶在连接跟踪之前处理数据包。 3. 如果进行了连接跟踪，在此处理。 4. 进入 mangle 表的 PREROUTING 链，在此可以修改数据包，比如 TOS 等。 5. 进入 nat 表的 PREROUTING 链，可以在此做DNAT，但不要做过滤。 [...]]]></description>
		<wfw:commentRss>http://www.freeopens.com/2010_03_886.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Centos5.3+iptables+l7-filter+IPP2P的实现！</title>
		<link>http://www.freeopens.com/2010_01_154.html</link>
		<comments>http://www.freeopens.com/2010_01_154.html#comments</comments>
		<pubDate>Mon, 25 Jan 2010 11:04:00 +0000</pubDate>
		<dc:creator>羽飞</dc:creator>
				<category><![CDATA[Linux Base]]></category>
		<category><![CDATA[Centos]]></category>
		<category><![CDATA[IPP2P]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[l7-filter]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.freeopens.com/?p=154</guid>
		<description><![CDATA[这两天和一位朋友，相互研究了一下在IPTABLES中增加新的模块功能。 在网上查了些资料，都没有成功实现，最后，经过测试与调试，最终实现。 现在就把具体步骤贴出来，与大家分享。 个人建议：在安装最新的软件前，大家最好看一下他们的版本与适合的版本。否则，出了问题也找不到原因！ 系统环境： CentOS 5.3 Kernel 2.6.18-128.el5 iptables 已经卸载（采用源码进行安装） 1.下载所需软件包 kernel 2.6.19.7 # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.7.tar.bz2 iptables 1.3.7 # wget http://www.netfilter.org/projects/iptables/files/iptables-1.3.7.tar.bz2 L7-filter http://sourceforge.net/project/showfiles.php?group_id=80085 netfilter-layer7-v2.9.tar.gz l7-protocols-2007-06-22.tar.gz 以上软件全部下载在用户的家目录，全部解压到/usr/src/ 2.配置编译新内核 先给内核打包：(当前目录/usr/src) # cd linux-2.6.19.7 # patch -p1 &#60; /usr/src/netfilter-layer7-v2.9/kernel-2.6.18-2.6.19-layer7-2.9.patch (给内核打上L7-filter的内核补丁) 接下来，就是编译内核 # make menuconfig 选择好layer 7 (位置如下) -&#62; Networking x x -&#62; Networking support (NET [=y]) x [...]]]></description>
		<wfw:commentRss>http://www.freeopens.com/2010_01_154.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>一句一句解说 iptables的详细中文手册</title>
		<link>http://www.freeopens.com/2010_01_21.html</link>
		<comments>http://www.freeopens.com/2010_01_21.html#comments</comments>
		<pubDate>Fri, 22 Jan 2010 00:45:00 +0000</pubDate>
		<dc:creator>羽飞</dc:creator>
				<category><![CDATA[Linux Security]]></category>
		<category><![CDATA[iptables]]></category>

		<guid isPermaLink="false">http://www.freeopens.com/?p=21</guid>
		<description><![CDATA[总览 用iptables -ADC 来指定链的规则，-A添加 -D删除 -C 修改 iptables &#8211; [RI] chain rule num rule-specification[option] 用iptables &#8211; RI 通过规则的顺序指定 iptables -D chain rule num[option] 删除指定规则 iptables -[LFZ] [chain][option] 用iptables -LFZ 链名 [选项] iptables -[NX] chain 用 -NX 指定链 iptables -P chain target[options] 指定链的默认目标 iptables -E old-chain-name new-chain-name -E 旧的链名 新的链名 用新的链名取代旧的链名 说明 Iptalbes 是用来设置、维护和检查Linux内核的IP包过滤规则的。 可以定义不同的表，每个表都包含几个内部的链，也能包含用户定义的链。每个链都是一个规则列表，对对应的包进行匹配：每条规则指定应当如何处理与之相匹配的包。这被称作&#8217;target&#8217;（目标），也可以跳向同一个表内的用户定义的链。 TARGETS [...]]]></description>
		<wfw:commentRss>http://www.freeopens.com/2010_01_21.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
