iptables 屏蔽国外IP,只允许国内IP访问

singapore uncle 2023-09-22 00:08:34 阅读 0评论
1、安装ipset

yum -y install ipset

centos 需要关闭防火墙

systemctl stop firewalld.service

systemctl disable firewalld.service

2、清空之前的规则

iptables -P INPUT ACCEPT

iptables -F

3、创建新规则

ipset -N cnip hash:net

下载中国的IP段
 
wget -P . http://www.ipdeny.com/ipblocks/data/countries/cn.zone

把中国的IP添加到cnip规则中

for i in $(cat /root/cn.zone ); do ipset -A cnip $i; done

 
4、设置放行白名单
 


iptables -A INPUT -p tcp -m set --match-set cnip src -j ACCEPT

关掉所有端口
 
iptables -P INPUT DROP

iptables -I INPUT -p tcp --dport 22 -j ACCEPT

iptables -I OUTPUT -p tcp --sport 22 -j ACCEPT

iptables -A INPUT -p tcp -m set --match-set cnip src -j ACCEPT
 
iptables -I INPUT -s   自已的IP/后端IP -j ACCEPT
 
 
iptables -A INPUT -p tcp --dport 80 -j DROP

iptables -A INPUT -p tcp --dport 443 -j DROP

 
免责声明:本站所有资源均由网络搜集用户投稿而来,若有侵权,违法违规侵权内容请联系本站并提供必要证明,本站将及时删除违法违规内容,谢谢合作!