论坛风格切换切换到宽版
  • 603阅读
  • 1回复

[问题求助]既然nat表的prerouting在filter表的input之前,为什么规则还总在input里设? [复制链接]

上一主题 下一主题
离线justinfull.
 
发帖
2077
C币
-60720
威望
374
贡献值
1
银元
-6
铜钱
4673
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
既然nat表的prerouting在filter表的input之前,为什么规则还总在in.put里.设?           建材

在prerouting设置不是更好吗.?           女人

如ip欺.骗,从外网到达的欺骗包由nat到了dm.z区或者lan区了,input设的再好也没用啊?          婚庆

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线baifebbb.
发帖
2129
C币
-152192
威望
413
贡献值
1
银元
-1
铜钱
4801
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13


QUOTE:原帖由 hhxxttxs 于 2006-9-21 21:25 发表
既然nat表的prerouting在filter表的input之前,为什么规则还总在input里设?
在prerouting设置不是更好吗?


若是你要过滤的封包是连线到本机,那本来就在 INPUT chain 过滤即可,在 PREROUTING 是没有必要。

而若你是 router 主机,你要限制是连线到本机的封包,而不是通过本机的封包时,正确方式当然在 INPUT chain 配置。而若是你在 PREROUTING 限制的话,那你得考虑更多条件,这样才可以禁止存取本机但是允许通过该机器。

比方用 INPUT chains 设定像是:

iptables -A INPUT -s 1.2.3.4 -j DROP
复制代码

而你在 PREROUTING chain 则需要这样设定:

iptables -t nat -A PREROUTING -s 1.2.3.4 -d my_server_ip -j DROP
复制代码

你不可以用下面该方式,因为都会阻挡了。

iptables -t nat -A PREROUTING -s 1.2.3.4 -j DROP
复制代码

所以可以简单于 INPUT chain 限制,何必把配置复杂化 ? 另外当 router 的机器主要是允许快速封包通过,你只是要禁止存取本机的需求却在 PREROUTING 设定,这无疑是根本让效率更糟糕。

再者,一般实际上 PREROUTING 常用于是搭配 nat (DNAT)设定议题,阻挡的存取配置需求比较少。



QUOTE:如ip欺骗,从外网到达的欺骗包由nat到了dmz区或者lan区了,input设的再好也没用啊?


既然你知道通过主机的封包不会走到 INPUT chain,那你在 INPUT chain 设定有啥意义 ?

再者这个问题与上面的问题,似乎也完全没有关系不是呼?

==
快速回复
限100 字节
批量上传需要先选择文件,再选择上传
 
上一个 下一个