手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

Iptables 指南 1.1.19(中文版)(四)

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

Note

假如您在通过防火墙使用mIRC DCC时碰到了问题,但和其他IRC客户沟通很正常,看看附录常见问题和解答里的 关于mIRC DCC的问题 吧。

在这个例子中,我们在这儿装载支持FTP和IRC协议的模块。有关连接跟踪和nat的周详信息,请查看附录 常见问题和解答。在patch-o-matic中,更有H.323 conntrack helper等其他象NAT helper的模块。但为了使用他们,您需要使用patch-o-matic提供的补丁,还需要编译内核。周详的操作信息能够查看章节准备阶段

Note

注意,为了能对FTP和IRC协议做网络地址转换,需要装载ip_nat_ftp和ip_nat_irc。在装载NAT模块之前,您还要载入ip_conntrack_ftp和ip_conntrack_irc模块。NAT模块和conntrack模块以相同的方式被使用,但NAT模块使我们能对这两个协议做NAT。


7.2.3. proc的配置

我们能够使用下面的语句打开IP转发功能(IP forwarding):

echo "1" > /proc/sys/net/ipv4/ip_forward

Warning

注意,何时何地打开这个功能才算合适是值得好好考虑的一个问题。在本文所用的脚本中,我都是在创建IP过滤器(在本文里就是指iptables的过滤规则)之前打开他的。这可能引起这样一种情况,就是在一小段时间内(时间的长短随脚本的复杂程度和机子的性能高低而变化,可能只有一毫秒,也可能会长达一分钟),防火墙能够转发任何包(译者注:因为这时防火墙的过滤规则还没有被装入)。这种情况又会导致安全面的问题,不怀好意的人可能会趁此通过防火墙破坏我们的网络。也就是说,我们应该在创建任何防火墙的规则之后再打开IP转发功能,我这样做只是为了保正任何脚本的兼容性。(译者注:我们在实际应用中一定要注意这一点,尽量不要先开IP转发功能)

万一您使用的是SLIP、PPP或DHCP,也就是说您是动态获取IP的,那还要用下面的命令打开ip_dynaddr

echo "1" > /proc/sys/net/ipv4/ip_dynaddr

假如您还要打开其他的proc选项,也是用类似的方法,但有关那些选项的具体介绍以不是本文的内容,您能够看看其他相关的文章。在附录其他资源和链接里就有一些介绍了内核proc系统的短小精干的文章。假如您在本文中很难找到想要的资料,就能够到附录其他资源和链接去看看,您会有所收获的。

Note

在本文所用的脚本中还包含了一个名为Non-Required proc configuration(非必需的proc配置)的小节。当有什么工作不象您所想象的那么正常时,能够来这儿看看,他能提供给您最基本的一些信息,但在您真正弄明白他们的含义之前不要进行改变。


7.2.4. 规则位置的优化

本节简要地描述了针对脚本rc.firewall.txt,我将如何选择、使用内建的链链和自定义的链。我选择过的一些路径从这个或那个角度看可能是错误的,我会指出这些情况和问题发生在何时何地。这里还对章节 表和链 做了简要的回顾,希望能给您一点儿提醒,以使您能想起在实际应用中包是如何表和链的。

为了尽可能地少占用CPU,我们已替换了任何不同的自定义链,和此同时,我把主要的精力放在了安全性和易读性上。我不让TCP包去经历ICMP、UDP和TCP规则的洗礼,而是简单地匹配任何的TCP包,然后让他去一个自定义链中旅行。这种方法并不比让他经历任何的规则开销大。下图能够解释在Netfilter中,外来的包是如何被处理的(相对于章节表和链的深入讨论,这个图像太粗糙了)。我希望通过上面的解释和下面的图像能让大家明白写这个脚本的目的,周详的注释在后面几节。

利用这个图像,我们能够弄清楚脚本的目的。整个脚本基于这样一种假设,我们有一个局域网,一个防火墙及一个Internet连接,且有一个静态IP地址(相对的是动态地址,他们使用的连接是DHCP、PPP、 SLIP,等等),还想把防火墙作为Internet上的一台服务器来运行某些服务。我们完全信任局域网,因此不能阻塞任何从局域网发出的数据传输。更有一个要优先考虑的事,我们只允许那些被明确说明为能够接受的数据通过。为了做到这一点,我们就要把缺省策略设为DROP。这样,那些没有被明确标识为允许进入的数据就都被阻塞了。

在上面的假设里,我们想让局域网能够访问Internet。因为局域网是被完全信任的,所以我们应该允许任何来自局域网的数据通过。但Internet是不被信任的,所以我们想阻塞从Internet向我们的局域网发起的连接。根据上面的任何假设,我们来考虑考虑需要做什么、无需做什么连同我们想做什么。

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!