互联网服务器使用ipset 和iptables禁止国外IP访问

互联网服务器禁止国外IP访问

   项目上服务器在互联网环境,开放了数据库3306端口,没几天就发现被
搞了,需要支付比特币?  幸运的是测试环境,没有生产数据。查了日志发现是
个国外IP搞的,于是就看了很多文章,确定了用ipset和iptables的白名单控制
input。
   基本思路就是先创建IPSET国内IP地址表,之后防火墙阻断掉表内没有地址
的请求。

1. IPSET

yum install ipset 
// 安装ipset
ipset create china hash:net hashsize 10000 maxelem 1000000
// 创建地址表  
ipset add china 172.18.0.0/16 
ipset list china
//测试添加一个段

接下来是获取国内IP地址段并导入:

vi ipset_china.sh
#!/bin/bash
rm -rf cn.zone
wget http://www.ipdeny.com/ipblocks/data/countries/cn.zone
for i in `cat cn.zone`
do
ipset add china $i
done
~     
ipset list china 
// 查看是否导入成功
ipset list save
// 可能就是保存吧

2. iptables

service iptables status
vi /etc/sysconfig/iptables
*filter
:INPUT DROP [0:0]
// 默认禁止所有入局
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -m set --match-set china src -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -m set --match-set china src -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -s 172.16.0.0/16 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
COMMIT
service iptables restart
iptables -L

喝水不忘挖井人,挂个原文章连接:就在这

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值