电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 服务器
IPCHAINS的工作流程
作者:未知 点击:0
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
 
本文不是专门讨论IPCHAINS的工作原理,也不是讨论IPCHAINS有关的参数和命令的用法。我只不过是想
说明一下IPCHAINS到底是怎样工作的,重在流程。并结合一个IP包在到达防火墙后是经过怎样的步骤最
后从防火墙出来。
(想要了解IPCHAINS的参数和命令的用法请看http://www.ibase.com/book/showQueryL.asp?libID=284)

大家知道,REDHAT 6.2内自带ipchains防火墙。系统有三个标准的防火墙链和用户自定义的防火墙链。
还有它的规则和目标。首先要弄清这些概念:
其实画个图就清楚了,如下

`input' `Test'
---------------------------- ----------------------------
| Rule1: -p ICMP -j REJECT | | Rule1: -s 192.168.1.1 |
|--------------------------| |--------------------------|
| Rule2: -p TCP -j Test | | Rule2: -d 192.168.1.1 |
|--------------------------| ----------------------------
| Rule3: -p UDP -j DENY |
----------------------------



上图就表示两条链:系统的标准链INPUT链和用户自定义链Test。
RuleX就是规则

-j 后面的就是目标或又是一个防火链。
当然,系统还有forward链,output链,你还可以定义自己的链(ipchains -N newname)
上图说明input链中第一条规则是定义进来的协议为icmp的IP包就跳到REJECT目标,由于REJECT是系统自
定义
的,表示拒绝,所以符合-p icmp的包就被丢弃。
input第二条规则说明协议为tcp的包跳到test,由于test是用户自定义的链,所以进来的包被送到test
链中去
决定它的命运。

现在弄清楚了基本的概念后我们再来看一看一个从192.168.1.1进来的tcp包要到1.2.3.4去,它是怎样走
的?
(还是上面的图):
当包进来后,它先被送到input链与第一条规则匹配。第一条规则不符合(不是icmp包),则此包进入第
二条规则。第二条规则符合(是tcp包),则按照-j(jump)后面定义的目标跳到相应的地方。因目标又
是一条链(用户自定义的),所以包被送到test链继续匹配test链中的规则。test链中第一条规则符合
(因原地址是192.168.1.1),但没有指定其要去的地方,所以继续匹配第二条规则。第二条规则不符合
(目的不是192.168.1.1,而是1.2.3.4)所以包又被送到input链继续匹配下面的规则(因test链没有指明
此包的命运,而input链又没有执行完),input链中的第三条规则也不匹配,则决定此包最终命运的是
ipchains -P input 后面所定义的目标。如有ipchains -P input DENY 则此包被拒绝。如是ipchains
-P input ACCEPT则此包被接受
。等等。因为一个包从进入一条链到出来中间若没有任何规则指明它的命运的话,此包要走完整个链,
象上面的列子一样,若test链中有Rule3: -p tcp -j DENY则此包被丢弃。但如没有,则最终是由
ipchains -P input决定此包的命运。

上面的文字说明用下图来表示:




v __________________________
`input' | / `Test' v
------------------------|--/ -----------------------|----
| Rule1 | /| | Rule1 | |
|-----------------------|/-| |----------------------|---|
| Rule2 / | | Rule2 | |
|--------------------------| -----------------------v----
| Rule3 /--+___________________________/
------------------------|---
v

上面只是讨论了一个包在一条链中所经历的过程,下面我们来看看在整个ipchains过程中一个包是怎样
进入防火墙,又是怎样出来的。
注意:一个包进入防火墙先一定是进入input链,如有可能最终从output链出去。而且当链中第一条规则
没指明包的去向,它就被送到第二条规则去匹配,第二条规则没指明,则继续送到第三条规则,如有可
能(都没指明包的去向),最终走完此链(ipchains -P)。
看下图:


----------------------------------------------------------------
| ACCEPT/ lo interface |
v REDIRECT _______ |
--> C --> S --> ______ --> D --> ~~~~~~~~ -->|forward|----> _______ -->
h a |input | e {Routing } |Chain | |output |ACCEPT
e n |Chain | m {Decision} |_______| --->|Chain |
c i |______| a ~~~~~~~~ | | ->|_______|
k t | s | | | | |
s y | q | v | | |
u | v e v DENY/ | | v
m | DENY/ r Local Process REJECT | | DENY/
| v REJECT a | | | REJECT
| DENY d --------------------- |
v e -----------------------------
DENY


1:checksum:当一个包进来时,内核首先检查它是不是被篡改。主要是检查效验码。(checksum)如果效
验码不对,则此包被拒绝。
2:sanity:写在每条防火链的前面,特别是input链。主要是检验那些不规范的包。如果包被sanity拒绝
则在syslog文件中有记载。
3:input:包进入input链,按照上面所说的一条链中的包的流程来走。是被拒绝,否定还是被接受,重
定向等。
4:Demasqerade:包被接受。如果此包是由原来的包经过伪装后的包则直接跳到output链。为什么说是经
过原来的包伪装的包呢?因为后面我们将看到一个包到了output出口后有可能又会重新被送到input链再
进行匹配的。
5:Routing Decision:如果包不是以前伪装过的包则通过路由机制判断包的目的地址是本机器的还是需
要转发给其他远程机器的。
6:Local Process:如果包的目的地是本机器。则直接送到output链。
7:Lo interface:如果包是从local process传来的,则它从output链中出来后interface被改为"lo",然
后再从新被送到input链,以接口是"lo"的身份再一次通过各个防火链。(这里可看到Demasqerade)
8:forward:如果是需要转发的包则进入forward链。forward链对那些需要转发的包进行详细的检查,通
过了再进行转发。
9:output:此链核对出去的包的详细信息,符合则让它通过。


至此,我相信不要举列大家对一个包通过ipchains防火墙的整个过程也就一清二楚了。

顺便说一下:
1:只容许TCP SYN连接
如果你想连接外面的web server但又不想web server连接你,又不能切断web server对你提供的正常的
服务的话,你可以阻止那些从web server上请求对你进行连接的包拒绝。
ipchains -p tcp -s 192.168.1.1 -y(可自己定义,但-y不能少)
2:禁止IP Spoof
把/proc/sys/net/ipv4/conf/*/rp_filter 致为"1"

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·LINUX学习笔记--FTP服务器设置篇
·在内核2.6.0-test中安装最新驱动NVIDIA 1.0-4620(共三种方法)
·无软驱和光驱安装Redhat方法
·如何通过PXE的方式远程安装linux(本地无 光 , 软驱)
·网络安装的一点实践
·VI 快速上手
·Linux下Apache并发连接数和带宽控制
·轻轻松松的安装Slackware Linux -- 5.其他非标准安装程序解析
·在Linux下建立强大的FTP搜索引擎(二
·Iptables来限制上QQ

最新文章
·造成服务器不稳定的因素有以下七点
·机房是海外服务器安全稳定重要因素
·UniCache 行业垂直门户网站加速方案
·VPS服务器是主机业务的革命性技术
·如何选好虚拟主机的五个关键细节
·虚拟化技术会造成服务器市场的低迷吗?
·IP KVM打造“保姆”服务的IDC机房
·服务器能耗吞噬资源 优化数据中心
·ASP.NET2.0服务器控件之捕获回传事件
·服务器虚拟化必须考虑的十大重要因素


 
 


版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号