| 会员注册 | 电脑急诊 | 中国汽车救援中心网 | 中国电脑视频网 | 装机必备软件 | 淘宝商城 |
![]() |
|
|
|
|
|
|
Linux 2.4内核中新增功能指南
2006-4-29 14:27:11 来源: 进入论坛 添加到收藏夹
本文主要是探讨 Linux 2.4 内核中的iptables 的各种新增功能和使用方法,如何有效地使用这些新增的功能设置企业的防火墙规则,举例说明了新增功能在企业中的应用。 二 操作环境 Redhat Linux 7.1自带的模块化内核,专线连接互联网,两块网卡的防火墙,内部网段为10.0.0.0/255.255.255.0, 防火墙外部网卡接口地址为1.2.3.4。 三 iptables与ipchains的不同之处 1. 内置规则的重新定义,简单化规则管理Linux 内核中内置的INPUT,OUTPUT,FORWARD规则在新的iptables中,任何一个包仅仅只在这三个规则中的任何一个上应用,或者被INPUT规则击中,或者被FORWARD规则或者OUTPUT规则击中,不象在ipchains中任何一个包如果是穿过这台防火墙总要同时击中三个规则。 为了说明这种改变,请看下面的代码。 Incoming / Outgoing a. 首先,当一个包进来的时候,也就是从以太网卡进入防火墙,内核首先根据路由表决定包的目标。 注意: echo 1 > /proc/sys/net/ipv4/ip_forward 和 FORWARD 链的区别 前者的意思是是否打开内核的转发功能,后者是转发链规则只有内核打开转发功能,一个包才可能被送到转发链上去逐项检查规则。 如果一台防火墙没有打开前者的IP转发功能,则根防火墙相连的两边的网络是完全隔离的,如果是一端连到internet上,则只能通过代理防问internet,不可能通过IP伪装的方式防问。 这样,任何一个包只可能应用INPUT/OUTPUT/FORWARD中的一个规则,这种巨大的改进同时也简单化了防火墙规则管理。 2. iptables 是有状态的(stateful)。 有状态的意思是指如果一个包是对从防火墙原先发出去的包的回复,则自动不用检查任何规则就立即允许回复包进入并返回给请求者,这样我们不用设置许多规则定义就可实现应有的功能,在新的内核中使用这种有状态的能力是强烈地被推荐的,那么如何打开并使用这种功能呢? 我们假定某公司有如下图所示的典型的internet连接方案: _______ 可使用下面的规则集使用iptables的有状态的能力并打开IP伪装功能。 1 modprobe ip_tables 注: 1. 当使用redhat 的模块化内核时,装入ip_tables模块后,以后的命令将根据需要自行装入需要的模块。 注: NAT 与 FORWARD 链的关系 a. 不管执行任何NAT,对包过滤规则看到的源和目的地址是真实的源和目的地址,尽管在执行IP伪装(DNAT)时 会对包进行地址重写,这一点你可以从文件/proc/net/ip_conntrack中看到。 b. 如果我们没有利用iptables的有状态的能力,象上面的情况,要是允许网段10.0.0.0/24中的机器可以IP伪装的话,我们不得不加上一条转发规则 iptables -AFORWARD -d 10.0.0.0/24 -j ACCEPT,否则对伪装包的回复不会通过转发链回复给内部机器,因为回复包需要通过转发链。 注: 如何证明仅仅一个规则链被应用了? 在以前的ipchains中一个包要经过input,forward,output链才能从防火墙送出到internet,现在使用iptables,仅仅一个链被应用,你可以加入下面的规则测试 iptables -A INPUT -s 10.0.0.2/24 -j DROP 上面的这行在iptables中仅仅是指任何本网段的机器当目标就是防火墙时被拒绝,但绝不影响NAT和转发包,这在以前的ipchains中是不可能的。
|
推荐阅读
视频教程
最新新闻
装机必备软件下载
|