Linux 版 (精华区)

发信人: tcpip (俺的昵称改了), 信区: Linux
标  题: 包过滤基础知识(1)--2
发信站: 哈工大紫丁香 (Fri Sep  3 16:23:55 1999), 转信

2. 包过滤基础知识

2.1 什么是包过滤? 

网络上的所有传送都是以包(packets)的形式进行的, 例如, 下载这个文档(50K字节大

小), 你需要接收1460字节大小的包36个,(随机采用的数字).

每个包的开始部分描述此包它到什么地方, 它从那里来, 包的类型, 和其他管理信息.

 包的开始部分叫 包头(header). 包的其余的部分, 包含被传送的实际数据, 叫 包体

(boby).

一些协议, 如 TCP, 用于 web 传送, 邮件, 和远程登录, 使用"连接"的概念, 实际数

据传送以前, 需要相互传送一些有特殊包头的包, 用于表示"我想连接","可以"和"谢谢

"等信息, 然后才开始交换普通包.

包过滤器就是一段程序, 它检查通过的包的包头, 并决定包的命运. 它可以丢弃(deny

)这些包(丢弃这些包就象没有收到它们), 接收(accept)这些包(让这些包通过), 或拒

绝(reject)包,(象 deny ,但它告诉包的发送者已经接收).

在 Linux 中, 包过滤器内建于核心, 我们可以对包做一些微妙的处理, 大体的原理是

根据包头来决定包的命运.

2.2 为什么用? 

控制. 安全. 监视

控制: 

       当你正用 Linux 机器把你的内部网连接到连接到其它网络时(就说因特网), 你

有机会决定让某些类型的包传输, 其余的禁止. 例如:       包头包含有包的目的地址

, 因此你可以阻止它传送到某些特定的外部网. 另一个例子, 我使用 Netscape 访问 

Dilbert archives. 它上面有从       doubleclick.net 来的广告, 并且 Netscape 

浪费我的时间来传送广告. 可以告诉过滤器禁止送往或接收属于 doubleclick.net 地

址的包,来解决问题. 安全: 

       在混乱的因特网和你的谨慎的、秩序井然的网络之间的唯一连接是你的 Linux

 机器,能限制什么可以进入你的网络是再好不过       的事情了. 例如: 你可以允许

网络中的任何包发出, 但你可能担心外部网络来的怀有恶意的" Ping Death "(译者注

: 第五节有介绍). 另一       个例子: 你不允许从外部登录到你的 Linux 主机, 即

使有帐号和密码; 也许像许多人一样,你想成为因特网的监控者, 而不是服务者      

 或其它什么 -- 使用包过滤器拒绝任何想进入的包, 就可以不让任何人连入, 监视: 

       有时, 错误的配置局域网上机器会造成大量的包流向外部网络, 让包过滤器报

告任何不正常的事情是一件好事; 你也许可以做       点什么, 或判断它是正常的. 

2.3 怎样用? 

一个有包过滤器的内核.

你需要一个有新的 IP 防火墙(IP firewall chains)的内核. 你可以用查找"/proc/ne

t/ip_fwchains"文件的方法,来判断正在运行的内核是否安装了防火墙. 假如文件存在

, OK.

如果不是这样, 你需要生成一个有 IP 防火墙的内核. 首先, 下载一个你想要的内核.

 假如你有 2.1.102 或更高版本的内核, 你不需要修补它(它是现在的主流内核). 否则

, 在 web 站点上面下载补丁, 按照下面的详细说明配置内核. 假如你不知道如何配置

内核, 不要惊慌 -- 看Kernel-HOWTO.

2.0系列核心需要设定的选项:

        CONFIG_EXPERIMENTAL=y

        CONFIG_FIREWALL=y

        CONFIG_IP_FIREWALL=y

        CONFIG_IP_FIREWALL_CHAINS=y

2.1 或 2.2 系列核心需要设定的选项:

        CONFIG_FIREWALL=y

        CONFIG_IP_FIREWALL=y

用工具软件 ipchains 与核心交流,告诉它什么包需要过滤掉. 除非你是程序员, 或过

于好奇, 这就是你如何控制包过滤器的方法.

ipchains.

此工具代替了旧的防火墙工具 ipfwadm. 软件包中包含了一个叫 ipfwadm-wrapper 的

 shell 脚本, 它能让你在 ipchains 工具可以工作之前(核心版本不适应 ipchains 工

作的情况)控制包过滤器. 除非你想对使用 ipfwadm 的系统快速升级, 否则你并不需要

此 shell 脚本.(它速度慢, 并且不检查参数,等等). 如果这样的话, 你不需要看更多

的 HOWTO 了. 看附录 ipchains 和 ipfwadm 的不同之处 和 附录 使用 `ipfwadm-wr

apper' script 以得到更多的关于 ipfwadm 的问题. 


--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bin@mtlab.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.039毫秒