LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1010|回复: 10

iptables 命令的执行顺序?

[复制链接]
发表于 2005-9-7 18:55:02 | 显示全部楼层 |阅读模式
iptables -P OUTPUT DROP
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
这样不能访问外部web
但是
ptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -P OUTPUT DROP
就可以访问web
为什么?
难道 iptables -P OUTPUT DROP 有位置要求
发表于 2005-9-7 19:07:15 | 显示全部楼层
应该没有啊
-P都是放在最后规则的
我每次都是先写的-P啊~
回复 支持 反对

使用道具 举报

发表于 2005-9-7 19:29:50 | 显示全部楼层
-P是永久链默认规则啊

你的包如果与上面所有的规则都不匹配的话就会执行默认的规则了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-7 21:04:31 | 显示全部楼层
那我的系统中出现的这种情况如何解释啊?
回复 支持 反对

使用道具 举报

发表于 2005-9-7 21:32:38 | 显示全部楼层
一切可其官方解释来呗

人家官方是这么说的
-P动作就是规则都不匹配的时候执行的动作
回复 支持 反对

使用道具 举报

发表于 2005-9-7 21:42:09 | 显示全部楼层
-P一般都是放在最前。

对外OUTPUT为什么不一律放行?
iptables -A OUTPUT -p all -j ACCEPT
回复 支持 反对

使用道具 举报

发表于 2005-9-9 00:18:41 | 显示全部楼层
-P一般都是放在最前。



-P是为永久链设备默认规则
你可以把它想像成是链的最后一条规则,包与其它链都不匹配的时候就使用它

你使用 -L列看的时候  -P是列在 链名旁边的  就是第一排   但并不是说它就是第一条规则
======================================
对外OUTPUT为什么不一律放行?
iptables -A OUTPUT -p all -j ACCEPT

我们是反着写的,就是先把所有的链都开了,再根据情况打开相应的部分

不这样你就是把都所有链都打开,再一个一个的封(你说哪个省事啊)
回复 支持 反对

使用道具 举报

发表于 2005-9-10 15:03:52 | 显示全部楼层
是不是域名服务端口没打开?
回复 支持 反对

使用道具 举报

发表于 2005-9-10 15:46:14 | 显示全部楼层
Post by eTony
iptables -P OUTPUT DROP
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
这样不能访问外部web
但是
ptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -P OUTPUT DROP
就可以访问web
为什么?
难道 iptables -P OUTPUT DROP 有位置要求


我实验下来证实有位置要求,看来你也一样
原理应该是这样,iptables从第一条规则开始过滤,发现有符合条件的包就-j xxx了,然后处理就结束了,最后一条-j DROP也就不会执行到
回复 支持 反对

使用道具 举报

发表于 2005-9-10 17:19:55 | 显示全部楼层
是有顺序  
但不是-P的问题
它是最后一条
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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