全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 646|回复: 3

记录一个一键屏蔽国外ip连接的方法

[复制链接]
发表于 2024-5-3 22:10:34 | 显示全部楼层 |阅读模式
https://hostloc.com/forum.php?mo ... ;page=1#pid15505621
问了没有有效的回答
以下方法成功

#!/usr/bin/env bash

# 安装依赖包
yum -y install iptables
yum -y install ipset

# 添加集合
ipset create china hash:net maxelem 65536

# 编写脚本
cat << EOF > /home/china.sh
#!/usr/bin/env bash

# 下载国内IP网段并输入到~/cn.zone文件里面
wget --no-check-certificate -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", \$4, 32-log(\$5)/log(2)) }' > /home/china.txt

# 清空china集合
ipset flush china

# 批量将国内IP网段添加进china集合
ip=\$(cat /home/china.txt)
for i in \$ip; do
    ipset add china \$i
done
EOF

# 给脚本赋予可执行权限
chmod +x /home/china.sh

# 执行脚本
sh /home/china.sh

# 检查是否将国内IP网段添加进china集合当中
ipset list china

# 设置crontab定时任务,每天零点更新一次IP集合
(crontab -l ; echo "0 0 * * * /home/china.sh") | crontab -

# 配置iptables限制访问
iptables -A INPUT -m set --match-set china src -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -j REJECT --reject-with icmp-host-prohibited
iptables -A FORWARD -j REJECT --reject-with icmp-host-prohibited
发表于 2024-5-3 22:14:00 来自手机 | 显示全部楼层
就不折腾了,,宝塔专业版一键
 楼主| 发表于 2024-5-3 22:19:43 | 显示全部楼层
Winday. 发表于 2024-5-3 22:14
就不折腾了,,宝塔专业版一键

啊,这是防止中转被回国的。
发表于 2024-5-3 22:32:33 | 显示全部楼层
  1. wget --no-check-certificate -O- 'http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest' | awk -F\| '/CN\|ipv4/ { printf("%s/%d\n", $4, 32-log($5)/log(2)) }' > /home/china.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-5-18 12:14 , Processed in 0.058319 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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