anvil插件的分析
postfix2.2以后带有发信频率控制的控制,为什么还要添加一个anvil插件呢?(我是从extmail下载的postfix,这个版本的postfix已经自带了该功能)我发现anvil插件的功能跟postfix自带的发信频率控制设置上多大的区别。。
最主要的区别是:
我先把postfix的频率控制的配置写一下:
smtpd_client_connection_rate_limit=5
anvil_rate_time_unit=120
上面的配置为120秒内同一个ip只能发5封邮件(这5封邮件,可以是群发的地址邮件,比如TO: [email]test@163.com[/email],[email]test@gmail.com[/email],[email]test@126.com[/email] 这里算一封邮件而已)
anvil插件的配置:
anvil_plugin = yes
anvil_max_req = 5
anvil_interval = 120
anvil_soft_reject = yes
这里的配置也是120秒同一ip只能发5封邮件,但是TO: [email]test@163.com[/email],[email]test@gmail.com[/email],[email]test@126.com[/email] 这里算3封。
当然anvil可以自定义是否soft reject,而postfix默认的reject是4XX(目前我还不知道是否可以通过配置来更改为5XX)
还有一个比较明显的区别是:
anvil不能对smtp认证的用户进行发信频率过滤(目前很多用户通过smtp认证来群发垃圾邮件,导致自己的邮件服务器被列入rbl,这当然是对那些想使用extmail来提供邮局服务的用户来说的,如果只是自己公司邮局,当然不需要对smtp认证的用户做发信频率控制)
postfxi的控制,是对整个连接到smtp的ip做的频率控制,不管你是认证用户,还是没认证用户(当然除了本地网络用户以外)。
我为了使用anvil来做smtp认证用户的发信频率控制,把anvil从slockd中分离出来,单独做为一个插件,放在smtp认证之前做发信频率控制。测试通过,但是实际运行的效果不是很好,经常anvil和slockd使用cpu100%,导致系统运行缓慢,无法正常工作。分析日志,发现127.0.0.1:10030无法连接,而slockd和anvil日志正常。服务器的收发信也100/秒不到,不知是slockd和 anvil不能共存,还是什么其它原因。(当然以前不会存在这个问题)
其实postfix的频率控制还有几个:
smtpd_client_connection_rate_limit=5
ip地址连接的频率控制.
smtpd_client_message_rate_limit=5
客户端发送邮件的频率控制.(某种情况下smtpd_client_message_rate_limit和smtpd_client_connection_rate_limit的效果是一样.smtpd_client_connection_rate_limit是指连接到服务器25端口就开始计算,smtpd_client_message_rate_limit是发送邮件时计算.)
smtpd_client_recipient_rate_limit=10
rcpt to的频率控制,也就是说TO了多少个人.也就是实现了anvil插件的效果检测.
smtpd_client_event_limit_exceptions(default: $mynetworks)
指不做频率控制检测的网络,默认是mynetworks.
[[i] 本帖最后由 cjq8876 于 2007-12-27 15:43 编辑 [/i]] 强 嗯,我希望能做到对认证的用户名进行限制。就是某一个帐户[email]test@test.com[/email]的发信频率。不知道这个能满足不? 如果是这种要求:
":我为了使用anvil来做smtp认证用户的发信频率控制,把anvil从slockd中分离出来,单独做为一个插件,放在smtp认证之前做发信频率控制。"
这个是可以做到的!
"postfxi的控制,是对整个连接到smtp的ip做的频率控制,不管你是认证用户,还是没认证用户(当然除了本地网络用户以外)。"
如果想对web的发信进行控制,那你的研究extmail源代码了! goodgoodgoodgood 高手真的太多了。强人啊 都是强人啊
佩服
正在学习 好像无法控制发信频率 我测试了也没用我限制了120秒只能发1封 到头来我发20封都能! :lol 好野:lol 意思是说通过extmail进行发邮件anvil是不限制的??
页:
[1]