实时黑名单实际上是一个可供查询的 IP地址列表,通过 DNS的查询方式来查找一个 IP地址的 A记录是否存在来判断其是否被列入了该实时黑名单中。举 例来说,比如如果要判断一个地址 11.22.33 .44是否被列入了黑名单,那么使用黑名单服务的软件会发出一个 DNS查询到黑名单服务器(如 cbl.anti-spam.org.cn),该查询是这样的:查找 44.33.22.11.cbl.anti-spam.org.cn 是否存在 A记录?如果该地址被列入了黑名单,那么服务器会返回一个有效地址的答案。按照惯例,这个地址是 127.0.0.0/8内的地址如 127.0.0.2(之所以使用这个地址是因为 127/8这个地址段被保留用于打环测试,除了 127.0.0.1用于打环地址,其它的地址都可以被用来做 这个使用,比如有时候还用 127.0.0.3等。)。如果没有列入黑名单,那么查询会得到一个否定回答( NXDOMAIN)。
  有时候,由于邮件服务器非常繁忙,而邮件服务器每收到一封信就要做一个查询,虽然单个查询非常快,但是过多的对黑名单服务器的查询会导致查询响 应迟缓。在这种情况下,可以通过使用 DNS的区域传输,将黑名单服务器的数据传输到本地的 DNS服务器,然后对本地的 DNS服务器进行查询即可。区域传输 可以设置为手工更新、定时更新或自动更新等方式,这依赖于你的应用。
  黑名单服务器的 DNS查询和区域传输,并不是都可以随意使用的。有些服务器可供任何人查询和区域传输,而有些只对特定的用户开放。通常实时黑名单服务器都是不开放区域传输功能的。中国反垃圾邮件联盟所提供的 CBL/CDL/CBL+/CBL-都是免费查询的,不需要申请即可使用;而它们的区域传输通常是不开放的。
  目前大多数的主流邮件服务器都支持实时黑名单服务,如 PostfixQmailSendmailIMail等等。关于这些服务器如何使用黑名单服务的具体细节请参见本站的其它文章。
  黑名单服务的提供和黑名单的维护由黑名单服务提供者来提供和维护。所以该名单的权威性和可靠性就依赖于该提供者。通常多数的提供者都是比较有国际信誉的组织,所以对于该名单来说还是可以信任的。
  不过由于多数的黑名单服务提供者是国外的组织和公司,所以其提供的黑名单并不能有效地反映出国内的垃圾邮件情况,因此国内使用实时黑名单服务的 邮件商很少,这也是我们之所以要提供自己的实时黑名单服务的原因。我们希望通过提供一个主要针对国内的垃圾邮件状况和动态地址分布的黑名单来为有效地遏制 垃圾邮件做些有益的贡献。
如何架设一个简易的实时黑名单服务器
  在有些情况下,你可能需要架设一个自己的实时黑名单服务器,用来为自己的邮件服务器或自己的用户提供实时黑名单服务。这里我们简单说明一下如何架设一个简易的实时黑名单服务器。
  前面我们提到,实时黑名单服务通常是通过DNS服务来进行的,那么本质上说,实时黑名单服务器就是一个有特定数据的DNS服务器。只是如果作为公开的实时黑名单服务运行,要考虑更多的服务特性罢了。
  1. 首先,你需要安装并运行一个DNS服务器。通常,我们使用BIND来做DNS服务器。当然,你可以使用任何一种DNS服务器来做实时黑名单服务,只是有些服务器并不适合提供大量的实时黑名单查询。
  2. 然后,你需要建立黑名单数据区域。比如,你的黑名单服务叫做myrbl.com,那么你在DNS中建立一个myrbl.com的区域(zone)。你的DNS除了这个区域外,其他的区域也可以存在。
  3. 接着,你需要建立黑名单数据,在区域数据文件中,添加你的黑名单数据。比如,你要将 11.22.33 .44加入黑名单,那么你的区域数据文件中应该有如下一行:
44.33.22.11       IN        A           127.0.0.2

  1. 如何建立一个合法的区域数据文件,这里就不再赘述了,请参考各种DNS的配置手册。
  2. 现在,你可以重新启动你的DNS服务器了。重启完成后如果没有报错,测试一下你刚刚加入的黑名单是否可以查询到:
dig 44.33.22.11.myrbl.com.

  1. 如果查询结果中有你解析的地址:127.0.0.2,那么恭喜你,你的黑名单服务器已经架设成功了。
  2. 最后,设置你的邮件服务器使用你自己的黑名单服务器吧。
  虽然,架设一个黑名单服务器并不是特别困难,但是维护一个黑名单服务器却要花费较大的精力。而且如果黑名单服务器的访问量大的话(黑名单服务器 要比通常的DNS服务器的访问量要大的多,一般提供公开服务的黑名单服务器都是多台并行使用的,如本站就使用了5台黑名单服务器),如何微调DNS的行 为,甚至对DNS服务器软件进行修改就需要一些较多的考虑了。