iptables 中的 return

肥多罗 2010-08-04 04:47:46
大家好,我想了解下ACCEPT 与 RETURN的区别:
ACCEPT是符合后,这条链就不再匹配了;
RETURN是符合后,直接返回这条链的上一条链?这不是死循环了吗?还是说只针对自定义链来说的?

大家帮忙介绍下啊,希望不是简单的BAIDU GOOGLE过来的 谢谢。
...全文
3958 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
肥多罗 2010-08-05
  • 打赏
  • 举报
回复
明白了 之前我的意思是 “默认规则”是指什么样的规则 -P设置的
一品川 2010-08-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 coder_granger 的回复:]
1. 从一个CHAIN里可以jump到另一个CHAIN, jump到的那个CHAIN是子CHAIN.
2. 从子CHAIN return后,回到触发jump的那条规则,从那条规则的下一条继续匹配.
3. 如果return不是在子CHAIN里,而是在main CHAIN,那么就以默认规则进行.

好像没什么疑问
[/Quote]顶
Coder_Granger 2010-08-04
  • 打赏
  • 举报
回复
1. 从一个CHAIN里可以jump到另一个CHAIN, jump到的那个CHAIN是子CHAIN.
2. 从子CHAIN return后,回到触发jump的那条规则,从那条规则的下一条继续匹配.
3. 如果return不是在子CHAIN里,而是在main CHAIN,那么就以默认规则进行.

好像没什么疑问
肥多罗 2010-08-04
  • 打赏
  • 举报
回复
The default policy is normally set to ACCEPT, DROP or similar.

如果当前CHIAN不是子CHAIN,那么就以默认策略执行. 意思是?
Coder_Granger 2010-08-04
  • 打赏
  • 举报
回复
google出来的第一个结果就讲的很清楚了, return退出的是当前CHIAN,
如果当前CHIAN是别的CHAIN调用的子CHIAN,那么返回到调用点下一条规则处开始执行,
如果当前CHIAN不是子CHAIN,那么就以默认策略执行.

就像C语言里调用一个函数,函数return不会影响调用者的执行,但是main函数return,程序就终止了

The RETURN target will cause the current packet to stop traveling through the chain where it hit the rule. If it is the subchain of another chain, the packet will continue to travel through the superior chains as if nothing had happened. If the chain is the main chain, for example the INPUT chain, the packet will have the default policy taken on it. The default policy is normally set to ACCEPT, DROP or similar. 

19,618

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧