防火墙规则的排列是否会产生决定性的影响!?
我之前有用过MONO,防火墙的设置一定要按序列,举个列子吧。排列一:(规则2完全没有启到作用)
1、允许所有网站访问www.126.com
2、不允许192.168.0.2这台机访问www.126.com
排列二:(192.168.0.2这台机不能访问www.126.com了)
1、不允许192.168.0.2这台机访问www.126.com
2、允许所有网站访问www.126.com
不知道RouterOS的防火墙是否也是如此!?为什么没有看到相关的讨论呢!?如果真的和排序有关的话,规则写得再好,序列有问题也不起作用啊!!
[ 本帖最后由 dghj_aaron 于 2007-5-9 16:30 编辑 ] 正确 真的是这样的话,看来大家在讨论防火墙脚本的时候也应该要注意一下规则所处的位置,不然一个规则脚本下去,有的机说效果好有的机说没效果,搞得大家都很混乱,却没有找到真正的原因。 导入的脚本,序列都是设置好了的..... 原理应该是这样的:
当一个包流过时,按照从上至下的顺序查找防火墙列表,一旦查到匹配条件的规则,马上停止不再查找,也就是说如果第一条规则就适合,那么接下去的规则都不会理会了。
对于楼主所说的两个排列:
排列一:(规则2完全没有启到作用)
1、允许所有机器访问www.126.com
2、不允许192.168.0.2这台机访问www.126.com
因为只要是访问126 的包都会符合第一条,第二条将永远不会起作用。
排列二:(192.168.0.2这台机不能访问www.126.com了)
1、不允许192.168.0.2这台机访问www.126.com
2、允许所有机器访问www.126.com
这是正确的写法。
一般来说,防火墙都是先禁后允许的。 最主要的是现在突然有个什么问题出来,很多人按网上的脚本直接在终端导入,其实这条导入的规则加在了允许的后面,这样这条规则就可能无效了。脚本不可能一陈不变吧 RouterOS 的包过滤很强大,但是相对原始,需要制定规则的人对 Netfilter/iptables 有很深的理解,专门的防火墙产品把这一层封装了一下,制定规则相对简单。 我最近增加了限制TCP连接数量的代码:
:for szwm from 1 to 248 do={/ip firewall filter add chain=forward src-address=(192.168.0. . $szwm) protocol=tcp connection-limit=50,32 action=drop}
新的在允许全部通过的前面,一点用都没有,字节和数据包永远都是0,后来我做了个调整,把它们全部移动到允许通的前面,开始有数据包,表示可以运行了。但问题却是带来CPU高负荷,经常80%-100%,把它们全部禁用后重新回到10%以下。 规则数量过多负载会重,一条规则就可以为何要248条规则? 还有,要理解和灵活使用自定义规则链 原帖由 jesse 于 2007-5-10 16:29 发表 http://bbs.routerclub.com/images/common/back.gif
规则数量过多负载会重,一条规则就可以为何要248条规则?
说得太好了,我后来找到了正解的方法。一条规则就搞定了。除192.168.0.249这个外其他的全部TCP限制连接为50。 这样的功能方法很多,,,
不过,听某网友提醒一下,这样做一条总的限速就不能单独查看到每个客户端的流量,,对于需要具体看流量的朋友来说不方便。 原帖由 artico 于 2007-5-10 18:51 发表 http://bbs.routerclub.com/images/common/back.gif
这样的功能方法很多,,,
不过,听某网友提醒一下,这样做一条总的限速就不能单独查看到每个客户端的流量,,对于需要具体看流量的朋友来说不方便。
如果要查每个客户端的当前流量可以在下图中看得到。不必加重CPU的负担。
页:
[1]