申し訳ないがCNはフィルタさせてもらいますわ
- 公開日: 2013/11/17(日) 10:58[JST]
当ブログへのコメント・トラックバックスパムがCNから沢山来ているということで、思い切ってこれらをフィルタすることにした。仕方ないね。
手順はこんな感じ。まず、apnicのサイトから、delegated-apnic-latestを取得。で、こんなpythonスクリプトを実行して、CNのIP範囲を抽出してFreeBSDのipfwのフォーマットに変換。
import re,math
pattern = re.compile('^apnic\|CN\|ipv4\|([0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3})\|([0-9]+)\|.*$')
f = open("delegated-apnic-latest")
line = f.readline()
while line:
  match = pattern.match(line)
  if match is not None:
    mask = 32 - int(math.log(float(match.group(2))) / math.log(2.0))
    s = "add 200 deny ip from " + match.group(1) + "/" + str(mask) + " to me"
    print (s)
  line = f.readline()
f.close()
![[archive]](/static/archive.png) を付与しています。
を付与しています。