申し訳ないが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()