欢迎来到天天文库
浏览记录
ID:38581850
大小:160.50 KB
页数:8页
时间:2019-06-15
《Packet filtering》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、PacketfilteringwithLinux作者:hwhuwww翻译2004-10-0518:23:13来自:linuxfocus正文begin防火墙在网络中的位置数据流通过标准链·Gateway,Proxy-Arp和EthernetBridge?·过滤基本规则·Netfilter·安装实例·涉及资料HEADOFTHEARTICLE Gateway,Proxy-Arp和EthernetBridge?过滤机构可以被考虑成一张能够过滤有害的数据包的网。最重要要的是找到合适大小的网孔和安装他的正确位置。为了
2、能够完全的过滤数据包,这个过滤机构必须无缝的插入他所要保护的网络和“其余的世界”之间。在实践上,这个可以用一台带有两块网络接口(通常是以太网卡)的设备来完成,一个连接内部的网络,另一块连接外部作为路由转发。这种方式,通信将不得不通过防火墙,这样防火墙可以阻止他们或不依照他们的内容进行发送。设备运行过滤机构可以被配置成3种不同的方式:-"simple"Gateway:这是最普通的配置。设备被用作两个网络或子网之间的网关。在本地网络内的电脑将使用防火墙代替他们的默认路由。-"Proxy-ARP"Gateway:
3、前面那个配置暗示着把一个网络划分成两个子网,这个会造成一半可利用的ip地址失效了。这是有点恼人的。举个例子,一个16个地址的子网(28位子网掩码),除去网络地址和广播地址只有14个是有效的,子网添加一位,有效地址将从14减少到6(8个ip减去网络地址和广播地址)。当你不能够接受失去一半有效ip地址的情况,你可以使用这种技术,我们将会在稍后的文章里解释他。此外,这种技术不需要对网络中存在的路由器和被保护的电脑做的任何改变。-Ethernetbridge:作为一个以太网网关安装(不是ip网关),使过滤机构对于其
4、他设备来说是透明的。因此不分配ip地址给以太网接口是妥当的。于是,设备将不会被ping,traceroute等工具发现。让我们注意一个数据包过滤执行,在2.4.x内核还还没完成前提下,基于这个端口的特性需要2.2.x的内核。 过滤基本规则既然我们知道什么地方安装过滤器,那么我们必须定义什么应该阻止什么应该接受。这里有两种方式去配置一个过滤器:-好的方法:没有数据被允许通过,除了规则允许的。-坏的方法:(不幸的是经常被使用)明确地阻止被禁止数据包,所有的数据包被接受。这有一个简单的解释:在第一种情况,遗忘规则
5、导致服务不完全工作或根本不工作。通常,这会被很快的注意到,然后添加适当的规则使服务再运行起来。在第二中情况,遗忘一个规则会造成一个潜在的弱点,如果我们去找,很难去发现... Netfilter在linux2.4内核上使用的最多的包过滤软件是Netfilter:它很好的取代了使用在2.2内核的‘ipchains’。Netfilter由两部分组成:内核支持这需要编译你的内核和在你系统中可用到的‘iptables’命令 安装实例一个实例的注释比一段长时间的演讲要好的多,下面我们将描述怎样去安装和配置一个过滤器设备
6、。首先,设备要先配置成一个网关,使用Proxy-ARP来限定ip地址的数量,我们将配置过滤系统。著者偏好选择了Debian发布版来构建一个这样的系统,任何linux发行版都可以。首先,检查你的内核已经支持Netfilter。如果是的,引导信息将包含:ip_conntrack(4095buckets,32760max)ip_tables:(c)2000Netfiltercoreteam另外,当Netfilter支持被激活后你不得不反编译内核。相应的选项将会在"NetworkingOptions"菜单里的"Ne
7、tworkPacketFiltering"子菜单里找到。从"NetfilterConfiguration"选项,选择你需要的。如果不能确定,你可以全部选择。此外,最好把Netfilter包含至内核,而不是作为加载模块。如果因为一些原因或者Netfilter一个模块出错或不能加载,过滤器将不能工作,我们不更多的谈论关于这么做所冒的风险了。你也应该安装‘iproute2’包(这在最后是不必要做的,但是我们的实例将使用从它允许我们建立配置脚本文件开始。)对于Debian,‘apt-getinstalliprout
8、e’命令足够了。其他的发行版,获得相应的软件包。用通常的方法,或从源程序安装。你可以在下面的地址下载到相应的软件包:ftp://ftp.inr.ac.ru/ip-routing/现在对两块以太网卡配置。我们必须注意Liunx的内核,自动检测硬件程序到检测网络卡的这一步时就会发现它。可是,仅仅第一块被探测到。一个简单的解决方案是在lilo.conf文件里添加一句话:append="ether=0,0,eth1"现在
此文档下载收益归作者所有