全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 4145|回复: 9

请高手说说iptables怎么用

[复制链接]
发表于 2009-6-29 18:01:07 | 显示全部楼层 |阅读模式
网上都说修改,/etc/sysconfig/iptables
但我的VPS上没有/etc/sysconfig/iptables这个文件
发表于 2009-6-29 18:20:50 | 显示全部楼层
防火墙默认都安装了的,service iptables status 看下。
 楼主| 发表于 2009-6-29 18:59:30 | 显示全部楼层

回复 2# 的帖子

[root@serverl ~]# service iptables status
Table: mangle
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination

Table: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination
发表于 2009-6-29 19:03:52 | 显示全部楼层

回复 3# 的帖子

使用mangle表了。
发表于 2009-6-29 19:08:50 | 显示全部楼层
对mangle,我不了解。

iptables产生的功能是针对ipv4的数据包的,进行的操作三个tables的分工,大体如下:

mangle:table mangle的链最多,有5个链,分别为PREROUTING,INPUT,OUTPUT,FORWARD,POSTROUTING。

filter: table filter有三个链,分别为,INPUT,OUTPUT,FORWARD。

nat:table nat有三个链,分别为,PREROUTING,OUTPUT,POSTROUTING。


mangle的功能:因为mangle有很多的链,所以它能够做很多的事情,甚至可以取代filter链,因为filter链的功能仔细看就会知道,是mangle链的一个子集。但是,一般mangle不用于过滤包的操作(因为不知道据谁说,即使用这个链来过滤数据报,也会有漏网之鱼通过,估计是程序的缺陷),过滤包的操作留给filter table和nat table来完成。mangle所完成的任务是,在iptables处理ip数据包的时候对数据包头的一些信息进行修改。

nat的功能:nat从名字上看来是进行nat转换作用的,事实上也是如此,使用nat table,能对ip数据报头信息的源地址和目的地址进行修改,达到控制数据报流向的作用。而且在进行转发的时候,因为filter table没有FORWARD链,所以转发的情况之下,过滤的功能就由nat table来进行。

filter的功能:从名字来看,filter table的功能就是过滤ip数据报的作用,事实上也是如此,iptables中,对数据报的过滤基本上都是通过filter table来完成的。包括允许哪些特性的数据包进入系统,哪些数据报能够通过系统发送出去。但是因为没有FORWORD这个链,所以转发的时候的过滤就交给nat 它table 来完成了。filter这个table应该是最重要的一个table。起到主要的作用。

iptables.jpg (34.99 KB, 下载次数: 20)

1,从网络接口处接受到ip数据报。这里的网络接口就是网卡NIC,包括外网,也包括内网,总而言之就是传给防火墙的数据报。

2,PREROUTING首先是mangle table的PREROUTING,然后是nat的。mangle table在这里是做修改ip数据报头信息的作用,当然不包括修改ip地址,因为

这是nat table的作用,nat table在此处的作用是,完成目的地址转换,即将ip数据报中的目的地址根据自己的设定转换成合适的地址(比如防火墙的后面隐藏了一个web服务器,此web服务器用防火墙的ip对外提供web服务,所以,当防火墙收到目的地址为自己的ip地址,端口为80的请求时候,就知道这实际是发给自己后面的web服务器的,那么此时,就可以用nat的PREROUTING链将目的地址转为防火墙后面的服务器的实际地址,发出去。

3,转发选择,PREROUTING之后,iptables判断收到的ip数据报是否是发给自己防火墙本机的,如果是的话,就不需要转发,直接转到INPUT链处理,如果不是发给防火墙的话,就需要转发给其他机器,这个时候就交给FORWORD链处理。

4.1,如果需要转发,那么首先经过mangle和filter的FORWORD链,mangle一般此时不怎么使用,filter根据我们事先设定的条件,对比数据报中的信息,判断,对于收到的这个数据报是否转发,不转发一般就丢弃了。

4.2,如果不转发,那么这个数据报就是发给防火墙的,那么对于防火墙来说,要接收这个包,但是在接收之前,要判断一下,这个数据报的是否符合接收的条件,当然这个条件是我们事先设定好的(比如设定目的端口是22的数据报被抛弃,那么此时经过判断,发现这个数据报正是目的端口是22,那么这个数据报就不能被接受,被抛弃),此处manglehefilter都有INPUT链,一般不使用mangle。那么filter就负责数据报的过滤功能。

5,当防火墙需要对外发送数据报的时候,就要经过OUTPUT链,mangle,filter,nat在OUTPUT链都有自己对应的规则,一般而言使用filter来判断数据报是否能被输出。

6,经过OUTPUT链,或者FORWORD链的时候,数据报即将被发往防火墙之外。这个时候要经过POSTROUTING这个链,在这个链能够起作用的是mangle和nat table。前者我不了解,因为不常用,但是知道后者很重要。个人觉得nat table在POSTROUTING链和PREROUTING链起着非常大的作用,iptables的很多特色就是通过这两个步骤来实现的。nat table在这个链起的作用是在发送数据报出去之前,能够修改数据报的源地址(PREROUTING的时候是修改目的地址),这个功能很重要,能够实现地址欺骗,举例来说,当局域网内的用户希望防火墙做代理服务器,能够共享上网的时候,从局域网用户发来的请求,防火墙不能直接转发过去,因为局域网内部的ip不对外公开(比如192.168.1.2,这样的地址属于特殊的内网专用地址,即使防火墙将192.168.1.2对外网的请求发送了出去,服务器受到请求后,也不知道应该将回答发给谁,因为Internat上并没有192.168.1.2这个地址,这个地址只能用在局域网内),这时,nat 的POSTROUTING链如果将源地址变为防火墙自己的实际对外地址,然后将数据包发送出去的话,那么外网服务器收到请求之后,将回答发送给防火墙,防火墙再转发给内网实际发出请求的用户。这样,就实现了代理服务器的功能。
 楼主| 发表于 2009-6-29 20:53:09 | 显示全部楼层
太复杂了留待以后慢慢研究
发表于 2009-9-19 08:07:13 | 显示全部楼层
LZ,我怎么跟你情况一样呢,也缺少这个文件,看到好多目录根另一个上面的NGINX目录都不一样,难道是编译的时候吧文件丢失了吗?
编译看好几次怎么还是一样文件不全,但是能用呢
发表于 2009-9-19 08:18:03 | 显示全部楼层
运行下 service iptables save 就有这个文件了

评分

参与人数 1威望 +30 收起 理由
cpuer + 30 精品文章

查看全部评分

发表于 2009-9-19 08:22:02 | 显示全部楼层
原帖由 freebsd 于 2009-9-19 08:18 发表
运行下 service iptables save 就有这个文件了

厉害,我还以为我编译丢失了
发表于 2009-9-19 11:12:09 | 显示全部楼层

回复 9# 的帖子

   喜上眉梢了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-6-22 13:26 , Processed in 0.069960 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表