iptables的应用

  摘要:本文介绍linux2.4.x内核中的防火墙工具--iptables的原理与配置,同时还给出了实际运用的例子,在文章的最后归纳了iptables与ipchains的区别。

  一、 概述

  从1.1内核开始,linux就已经具有包过虑功能了,在2.0的内核中我们采用ipfwadm来操作内核包过虑规则。之后在2.2内核中,采用了大家并不陌生的ipchains来控制内核包过虑规则。现在最新linux内核版本是2.4.1,在2.4内核中我们不再使用ipchains,而是采用一个全新的内核包过虑管理工具--iptables。 这个全新的内核包过虑工具将使用户更易于理解其工作原理,更容易被使用,当然也将具有更为强大的功能。

  我们说过iptables只是一个管理内核包过虑的工具,iptables 可以加入、插入或删除核心包过滤表格(链)中的规则。实际上真正来执行这些过虑规则的是netfilter(Linux 核心中一个通用架构)及其相关模块(如iptables模块和nat模块),下面我们一起来看看netfilter的工作原理。

  二、 原理

  netfilter是Linux 核心中一个通用架构,它提供了一系列的"表"(tables),每个表由若干"链"(chains)组成,而每条链中可以有一条或数条规则(rule)组成。我们可以这样来理解,netfilter是表的容器,表是链的容器,而链又是规则的容器(如图一所示)。

  系统缺省的表为"filter",该表中包含了INPUT、FORWARD和OUTPUT 3个链。每一条链中可以有一条或数条规则,每一条规则都是这样定义的“如果数据包头符合这样的条件,就这样处理这个数据包”。当一个数据包到达一个链时,系统就会从第一条规则开始检查,看是否符合该规则所定义的条件: 如果满足,系统将根据该条规则所定义的方法处理该数据包;如果不满足则继续检查下一条规则。最后,如果该数据包不符合该链中任一条规则的话,系统就会根据该链预先定义的策略(policy)来处理该数据包。

时间: 2024-10-02 16:59:43

iptables的应用的相关文章

一句一句解说 iptables的详细中文手册

总览 用iptables -ADC 来指定链的规则,-A添加 -D删除 -C 修改 iptables - [RI] chain rule num rule-specification[option] 用iptables - RI 通过规则的顺序指定 iptables -D chain rule num[option] 删除指定规则 iptables -[LFZ] [chain][option] 用iptables -LFZ 链名 [选项] iptables -[NX] chain 用 -NX 指

Linux下针对路由功能配置iptables的方法详解

  作为公司上网的路由器需要实现的功能有nat地址转换.dhcp.dns缓存.流量控制.应用程序控制,nat地址转换通过iptables可以直 接实现,dhcp服务需要安装dhcpd,dns缓存功能需要使用bind,流量控制可以使用tc,应用程序控制:例如对qq的封锁可以使用 netfilter-layer7-v2.22+17-protocols-2009-05-28.tar.gz来实现 1.网络规划 操作系统是centos5.8 2.安装dhcpd 代码如下: yum install dhcp

Linux下防火墙iptables设置

基础知识 Linux系统内核内建了netfilter防火墙机制.Netfilter(数据包过滤机制),所谓的数据包过滤,就是分析进入主机的网络数据包,将数据包的头部数据提取出来进行分析,以决该连接为放行或阻挡的机制.Netfilter提供了iptables这个程序来作为防火墙数据包过滤的命令.Netfilter是内建的,效率非常高. 我们可以通过iptables命令来设置netfilter的过滤机制. iptables里有3张表: > Filter(过滤器),进入Linux本机的数据包有关,是默

iptables在网络中的两个经典应用

一.端口转发: 在详述端口转发之前,先讲一下我日前遇到的一件事情.本人是搞测试的,有一厂家拿了一个服务器软件叫我测试.基于win2k的,端口号为881,服务器直接连接外部网络,客户端通过服器ip来访问,而他们没有基于linux的服务器软件,照他们意思就必须将服务器换成windows的.作为一个linux爱好者,我想大家明白这种痛苦.我翻了一下资料,发现iptables的端口转发功能可以解决,折腾了一下午,终于完成任务.下面将我的方法讲一下:思想:利用端口转发,当服务器接收到881端口请求以后,将

使用iptables建置Linux 防火墙(2)

陆.应用实例 #!/bin/sh # # 石牌国小防火墙设定指令稿 # 2002/8/27 # 设定者:李忠宪(修改自 iptables tutorial 1.1.11 by Oskar Andreasson ) # 原文件是依 DMZ 需求设计,已根据校园 NAT 网络之需求修改,其余改动部份包括: # 新增通讯协议定义区块 # 新增执行时,自动清除已设定之规则 # 支援 FTP # 修改所有规则,改采 multiport 方式以简化规则 # 原文件仅支持 IP 伪装(多对一对应),已扩充为支

使用iptables建置Linux 防火墙(3)

# 从 LAN 进入防火墙主机的 DHCP 封包,予以放行,只有当防火墙担任 DHCP 时才使用 #$IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT # 从 WAN 进入防火墙主机的所有封包,检查是否为响应封包,若是则予以放行 $IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT # 限制

使用iptables建置Linux 防火墙(1)

防火墙在校园内一直被认为陌晦高深,很少有系管师有勇气进行计划性的实验,基本上这份讲义也可以当成测试报告来阅读,是笔者秉持我不入地狱.谁入地狱的精神,冒着生命危险,蛮干出来的成果,也藉此抛砖引玉,希望能带动国内能力高于笔者许多的众家高手,一起来进行有利于校园网络的公益研究! 壹.什么是防火墙 防火墙是一套能够在两个或两个以上的网络之间,明显区隔出实体线路联机的软硬件设备组合.被区隔开来的网络,可以透过封包转送技术来相互通讯,透过防火墙的安全管理机制,可以决定哪些数据可以流通,哪些资料无法流通,藉此

动态iptables防火墙dynfw

防火墙是一个非常重要的网络安全工具,但是如果在需要对防火墙规则进行快速.复杂的动态修改时你该如何实现呢?如果你使用本文介绍的Daniel Robbins 的动态防火墙脚本,这将是一件非常容易的工作.你可以利用这些脚本来增强你网络的安全性和对网络攻击的实时响应性,并基于该脚本进行自己的创造性设计. 理解动态防火墙的脚本能够带来的益处的最好方法就是看它们在实际中的应用.假设我是某个ISP的系统管理员,我最近架设了一个基于Linux的防火墙来保护我的客户和内部系统,防止外部恶意用户的攻击.为了实现该系

iptables配置工具比较

在过去几年中,linux作为防火墙平台的应用显著增长.从早期1.2版内核的ipfwadm开始,Linux的防火墙代码也走过了很长一段路程了.在2.4版的Linux内核中,使用了netfilter体系.在最新的2.4版中,Linux大大加强了安全性,例如:更好的加密支持和 netfilter体系的使用.netfilter具有完全的向后兼容性. 本文将对iptables的配置做一个综述并且重点介绍一些iptables的配置工具.本文的讨论将着眼于linux内核的IP防火墙以及其各种界面的配置工具,比

搭建基于netfilter/iptables的防火墙实验环境

防火墙作为一种网络或系统之间强制实行访问控制的机制,是确保网络安全的重要手段.针对不同的需求和应用环境,可以量身定制出不同的防火墙系统.防火墙大到可由若干路由器和堡垒主机构成,也可小到仅仅是网络操作系统上一个防火墙软件包所提供的包过滤功能. 在众多网络防火墙产品中,Linux操作系统上的防火墙软件特点显著.首先是Linux操作系统作为一个类Unix网络操作系统,在系统的稳定性.健壮性及价格的低廉性方面都独具优势.更为重要的是,Linux不但本身的源代码完全开放,而且系统包含了建立Internet