有些链条为何没有没有表?

Web、Mail、Ftp、DNS、Proxy、VPN、Samba、LDAP 等基础网络服务
回复
whaha
帖子: 104
注册时间: 2016-07-08 17:43
系统: debian8

有些链条为何没有没有表?

#1

帖子 whaha » 2017-11-15 8:50

参见
http://www.zsythink.net/archives/1199

raw 表中的规则可以被哪些链使用:PREROUTING,OUTPUT
mangle 表中的规则可以被哪些链使用:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
nat 表中的规则可以被哪些链使用:PREROUTING,OUTPUT,POSTROUTING(centos7中还有INPUT,centos6中没有)
filter 表中的规则可以被哪些链使用:INPUT,FORWARD,OUTPUT

请问:
raw 中的规则为何不可以在链中使用: INPUT,FORWARD,POSTROUTING ?
nat 中的规则为何不可以在链中使用: FORWARD?
filter 中的规则为何不可以在链中使用: PREROUTING,POSTROUTING ?

请讲清道理。
prerouting 链中,增加一个filter 为何不可以?
头像
astolia
论坛版主
帖子: 6396
注册时间: 2008-09-18 13:11

Re: 有些链条为何没有没有表?

#2

帖子 astolia » 2017-11-15 20:20

你先去搞清楚每个表和每个链是干什么用的。
比如raw表,存在的目的就是给数据包做标记,让其不被连接跟踪(connection tracking)系统管理。当然就必须在连接跟踪开始之前标记。对于发来的数据包,就是在PREROUTING的最开始;对于发出去的数据包,就是OUTPUT的最开始。
filter表就是为了过滤数据包,有INPUT,FORWARD,OUTPUT三个就已经能在入站转发出站全部三种情况下过滤了,还有那个必要在PREROUTING和POSTROUTING上用吗?
剩下一个nat当成作业,你自己去想,只要搞清楚nat和forward分别是干什么用的就很清楚了
回复