全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 10041|回复: 29
打印 上一主题 下一主题

[Windows VPS] 通过CLOUDFLARE屏蔽国家代码。

[复制链接]
跳转到指定楼层
1#
发表于 2016-11-6 22:27:19 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 a276229381 于 2016-11-7 02:36 编辑

非常感谢牛人 @DeepSkyFire   问题已经解决。。我在网上搜了半年了。。没有解决办法。希望给后来的人有帮助。
推荐
发表于 2016-11-6 22:29:10 | 只看该作者
CN=404
us=404
30#
发表于 2016-11-7 20:54:18 来自手机 | 只看该作者
传说中的255狂人。
29#
发表于 2016-11-7 20:48:58 | 只看该作者
这个按照国家识别,NGINX+GEOIP,可以简单解决的.
甚至可以多开条件,各种混杂.
28#
发表于 2016-11-7 20:39:25 来自手机 | 只看该作者
不知何時又255了
26#
发表于 2016-11-7 14:43:25 | 只看该作者
本帖最后由 zhaoxi 于 2016-11-7 14:47 编辑

cloudflare  管理页面封ip的话,  支持屏蔽国家代码 要交200,支持自定义屏蔽少量ip段的不用交,支持多的ip段的话要交20
25#
发表于 2016-11-7 14:38:26 | 只看该作者
转自 http://www.ttlsa.com/web/iptables-geoip-filtration-barrier-source-ip/  

有些时候,某些国家的IP一直在对服务器进行登录尝试或攻击等等,需要先将可疑IP分析出来,再用iptables来封掉它。延后又耗时费力。现在可以用xtables-addons,对来源IP进行阻挡。

1. 前提条件

iptables >= 1.4.5

kernel-devel >= 3.7

2.  安装依赖包
# yum install gcc gcc-c++ make automake unzip zip xz kernel-devel-`uname -r` iptables-devel <a  title="perl"target="_blank">perl</a>-Text-CSV_XS
1
       
# yum install gcc gcc-c++ make automake unzip zip xz kernel-devel-`uname -r` iptables-devel perl-Text-CSV_XS

3.  安装xtables-addons
# wget http://sourceforge.net/projects/xtables-addons/files/Xtables-addons/2.3/xtables-addons-2.3.tar.xz/download
# xz -d xtables-addons-2.3.tar.xz
# tar xvf xtables-addons-2.3.tar
# cd xtables-addons-2.3
# ./configure
# make
# make install
1
2
3
4
5
6
7
       
# wget http://sourceforge.net/projects/xtables-addons/files/Xtables-addons/2.3/xtables-addons-2.3.tar.xz/download
# xz -d xtables-addons-2.3.tar.xz
# tar xvf xtables-addons-2.3.tar
# cd xtables-addons-2.3
# ./configure
# make
# make install

4. geoip相关套件
# cd geoip
# ./xt_geoip_dl
# ./xt_geoip_build GeoIPCountryWhois.csv
# mkdir -p /usr/share/xt_geoip/
# cp -rp {BE,LE} /usr/share/xt_geoip/
1
2
3
4
5
       
# cd geoip
# ./xt_geoip_dl
# ./xt_geoip_build GeoIPCountryWhois.csv
# mkdir -p /usr/share/xt_geoip/
# cp -rp {BE,LE} /usr/share/xt_geoip/

5. 编写iptables规则。如拒绝台湾地区IP
# iptables -I INPUT -m geoip --src-cc TW -j DROP
1
       
# iptables -I INPUT -m geoip --src-cc TW -j DROP
24#
发表于 2016-11-7 14:36:19 | 只看该作者
本帖最后由 zhaoxi 于 2016-11-7 14:41 编辑

nginx屏蔽ip 适用于挂了cdn的,楼下是防火,不挂cdn的

首先想到要屏蔽中国IP就会是把中国IP库加入Nginx配置文件中,然后WEB服务器对比IP来达到屏蔽。

在Nginx中加deny IP;
批量可以建立一个ip.conf的文件然后include ip.conf;
1
2
       
在Nginx中加deny IP;
批量可以建立一个ip.conf的文件然后include ip.conf;

其次是通过IPtable要禁止中国IP段来达到屏蔽的目的。
以下是Iptable的Sh脚本:

#!/bin/bash
# Block traffic from a specific country
# written by vpsee.com

COUNTRY = “cn”
IPTABLES = /sbin/iptables
EGREP = /bin/egrep

if [ "$(id -u)" != "0" ]; then
echo “you must be root” 1>&2
exit 1
fi

resetrules() {
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
}

resetrules

for c in $COUNTRY
do
country_file = $c.zone

IPS = $($EGREP -v “^#|^$” $country_file)
for ip in $IPS
do
echo “blocking $ip”
$IPTABLES -A INPUT -s $ip -j DROP
done
done

exit 0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
       
#!/bin/bash
# Block traffic from a specific country
# written by vpsee.com

COUNTRY = “cn”
IPTABLES = /sbin/iptables
EGREP = /bin/egrep

if [ "$(id -u)" != "0" ]; then
echo “you must be root” 1>&2
exit 1
fi

resetrules() {
$IPTABLES -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -X
}

resetrules

for c in $COUNTRY
do
country_file = $c.zone

IPS = $($EGREP -v “^#|^$” $country_file)
for ip in $IPS
do
echo “blocking $ip”
$IPTABLES -A INPUT -s $ip -j DROP
done
done

exit 0

今天在网上又看到了一种更绝的屏蔽之法:国内有个免费解析的服务商DNSPOD,我们就是利用其独特的解析方式,进行最有效的DNS屏蔽。国内的网络不外乎联通(原联通)、电信、教育网等几种访问模式,恰好,DNSPOD提供了这3种解析模式。首先,我们添加一个默认的解析地址,这里填的是8.8.8.8(请自行对照是您网站的正确IP地址),然后我们依次添加选择3种不同线路的错误IP地址,比如 127.0.0.1,这样来自于国内的访问几乎被彻底的解析到错误的IP地址,也就是可以被另类的屏蔽掉了。

最后介绍一种利用浏览器屏蔽之法:

<script type="text/javascript">
if (navigator.language)
var language = navigator.language;
else
var language = navigator.browserLanguage;
if(language.indexOf('zh') > -1)document.location.href = 'nddbc.html';
</script>
1
2
3
4
5
6
7
       
<script type="text/javascript">
if (navigator.language)
var language = navigator.language;
else
var language = navigator.browserLanguage;
if(language.indexOf('zh') > -1)document.location.href = 'nddbc.html';
</script>

22#
发表于 2016-11-7 10:34:46 来自手机 | 只看该作者
哈哈哈哈哈,围观255狂人
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-11-18 05:03 , Processed in 1.265880 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表