首页 | Linux 基础 | 资讯动态 | Linux 应用 | Linux 服务器 | Linux 开发 | Linux 安全 | 专题 | 联盟论坛
  当前位置:主页>Linux 应用>文章内容
用Linux系统实现Internet冗余连接讲解(下)
来源:http://www.unix5.com 作者:riechelr_hl 发布时间:2007-07-17  

防火墙

我们都知道,出于安全性的考虑,只要主机连接在Internet上,就应该有一个防火墙阻止恶意的信息访问主机。设置防火墙时,首先决定哪一些服务可以通过Internet访问,然后关闭所有其它的服务。当然并不是说运行了防火墙就万事大吉了,事实上,任何一个你允许通过防火墙来访问的服务都可能有自己安全上的漏洞,所以你必须经常注意更新你的应用程序,以使其具有最新的补丁。

大部分防火墙只支持外部网和内部网有单一的连接。因此,要支持多个外部网接口,就必须要自己写一些防火墙脚本。第一个用于编写脚本的工具是基于数据包的ipchains,它随Linux 2.2内核一起发行。第二个工具是基于数据包的iptables,它随2.4版的内核一起发行。

Iptables是ipchains的下一代,因其支持连接跟踪,所以功能更加强大。Iptables的可扩展性也非常不错,我们可以在不更改基本的源代码的前提下为它增加一些新功能(比如字符串匹配)。Ipchains和iptables都会把信息通过一系列的规则链,以决定是否接受或者拒绝接受该数据包。

Iptables 中使用了三个规则(或者称“链”)表(filter、nat和mangle)来过滤数据包。在ipchains中,三个对应的规则分别为INPUT、FORWARD和OUTPUT。INPUT分析刚到达网络接口的数据包,FORWARD分析经过伪装的数据包。而OUTPUT分析即把流出网络接口的数据包。图2描述的是ipchains防火墙中数据包通过不同的规则链的过程。

 

 

 

图2 ipchains数据包的传输过程

在iptables的nat表中,增加了两个规则,它们是PREROUTING和POSTROUTING。这些规则用于实现伪装以及网络地址翻译。所有流入或者流出的数据包都必须通过这些规则链。在iptables中INPUT和OUTPUT规则链用于处理去往防火墙的数据包,而FORWARD规则链则只用于处理数据包伪装。图3描述了数据包在iptables防火墙的不同规则链的过程。

 

 

 

图3 iptables数据包的传输过程

在iptables中,magle表使用PREROUTING和OUPUT链来让用户修改数据包中的IP标识,比如TTL或者TOS(服务类型)。

防火墙内核配置

要想建立起一个基于Linux 2.2内核的ipchains防火墙,必须在内核配置文件中配置以下的功能:

 

CONFIG_IP_FIREWALL=y 
CONFIG_IP_MASQUERADE=y 
CONFIG_IP_MASQUERADE_ICMP=y 
CONFIG_IP_ROUTE_TOS=y 
CONFIG_SYN_COOKIES=y

而要建立一个基于Linux 2.4内核的iptables防火墙,就必须在内核配置文件中配置以下功能:

 

CONFIG_IP_NF_IPTABLES=y 
CONFIG_IP_NF_CONNTRACK=y 
CONFIG_IP_NF_MATCH_LIMIT=m 
CONFIG_IP_NF_MATCH_PSD=m 
CONFIG_IP_NF_MATCH_STATE=m 
CONFIG_IP_NF_MATCH_IPLIMIT=m 
CONFIG_IP_NF_MATCH_STRING=m 
CONFIG_IP_NF_FILTER=m

CONFIG_IP_NF_TARGET_REJECT=m 
CONFIG_IP_NF_NAT=m 
CONFIG_IP_NF_TARGET_MASQUERADE=m 
CONFIG_IP_NF_TARGET_REDIRECT=m 
CONFIG_IP_NF_MANGLE=m 
CONFIG_IP_NF_TARGET_TOS=m 
CONFIG_IP_NF_TARGET_LOG=m 
CONFIG_IP_ROUTE_TOS=y 
CONFIG_SYN_COOKIES=y

现在,这些核心功能中的一部分在主流Linux 2.4内核的版本中还不可用,不过它们可能作为补丁被添加进去。要把这些功能添加到内核中,必须安装Linux 内核2.4.13版本和iptables1.2.4版本,可以在以下网址获得源程序:

http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.13.tar.gz

http://netfilter.filewatcher.org/iptables-1.2.4.tar.bz2

按以下步骤把iptables补丁加到内核中:

1、在/usr/src/linux目录下安装Linux 2.4.13,并运行它。

2、把iptables-1.2.4.tar.bz2解压到它自己的目录中。

3、iptables-1.2.4# make patch-o-matic

选择“yes”到以下补丁:

 


共4页: 上一页 1 [2] [3] [4] 下一页
 
如果您对本文有任何疑问或者建议,请到论坛讨论区发表您的意见: >> 论坛入口
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
  热点文章
·Linux系统调用列表(详解)
·MBR如果被覆盖了怎麽办?
·Linux系统下用户和用户组所有权
·Linux操作系统下配置IPTables方
·linux应用技巧集囊(新手遍)
·Linux操作系统配置基础祥解:GRU
·Linux循序渐进 进程管理及作业控
·Linux操作系统Gaim玩转QQ与MSN--
·Linux内存映射技术
·UNIX系统操作入门篇
·linux系统管理--从头开始对ubunt
·UNIX系统应急响应工具上(初级)
  相关文章
·用Linux系统实现Internet冗余连
·用Linux操作系统构建的路由器--
·Linux操作系统下设置NFS共享讲解
·如何找回删除Linux后的Windows启
·Linux操作系统下配置IPTables方
·制作软盘上运行的FreeBSD系统
·Linux系统下用户和用户组所有权
·Linux操作系统的内存使用机制研
·提高Linux系统性能,加速网络应用
·讲解关于Linux系统下内核抢占补
·Linux操作系统中内部进程通信的
·Linux操作系统下IP隧道深入研究

本站信息源至:互联网络,均为学习,交流所用,如有版权问题,请联系我们.
站长QQ:397422079 E_mail:riechelr_hl@unix5.com
转载本站内容请注明原作者名.谢谢!