Linux 使用UFW + IPSET实现阻挡国外ip访问

工具:UFW + IPSET

使用UFW(简单的防火墙)--阻断所有一切端口,使用ipset做一个china防护墙地址池(2021中国所有外网ip)---使用UFW写命令开放服务器端口至china防护墙地址池。

yum install ipset  ##安装ipset

 

ipset create china hash:net hashsize 10000 maxelem 1000000 ##创建名为china的地址表
wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone
for i in `cat cn.zone`
do
echo "ipset add china $i" >> ipset_result.sh
done   
chmod +x ipset_result.sh
./ipset_result.sh
#ipset list china #检验  

现在我们名为china的防火墙地址池已经搭建好了。

设置防火墙:

往ufw防火墙配置文件设定永久的规则

vi /etc/ufw/user.rules

添加一条针对china地址池所有的ip开放个80端口。还想开放什么端口以此类推

-A ufw-user-input -p tcp --dport  80 -m set --match-set china src -j ACCEPT

 

 

测试阻断ip段

测试先不开放任何端口开启ufw--只开放一个8822

 

 

 现在我们重新打开ssh发现能正常进入,访问80端口拒绝访问

 

 

UFW 防火墙启动命令

常用

ufw enable  开启防火墙 --开机也开启

Ufw disable 关闭防护墙  ---开机也关闭

Ufw reload 保持当前状态下重新加载防火墙规则文件

 

 

先启动

看到规则已经添加完毕-----

 

 

 访问80端口测试 ---发现不能访问

 

 

--------这是一路坑-- 因为是内网访问---要往china地址池添加10.8.8.0/24网段

直接手动添加就行了

 

 

什么都不用动就通了

 

 

 

OK就这样子我们的ufw+ipset阻挡国外ip访问端口实现。

posted @ 2022-03-09 04:44  Sakimir  阅读(1651)  评论(0)    收藏  举报