最近有一台北京的 Ubuntu 服务器,提供了某种服务,目标对象是国外用户,因此想屏蔽掉所有国内的访问。
我目前的方法是:
wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone
while read line; do sudo ufw deny from $line to any port 1984; done < cn.zone
但是这样得话就有 7000+的 UFW 规则,我个人有种感觉就是会大大拖慢其余正常请求的速度(如 80 ),毕竟会对者 7000 条逐条匹配。iptables 同理。(也可能不影响效率,是我臆想出来的)
不知道有没有更优雅的办法呢?谢谢大家。