Linux使用iptables管理访问的IP

我们使用frp进行内网穿透服务或者其他网络服务的时候往往会遇到黑客对我们的服务器进行攻击,为了避免服务器被攻击可以使用iptables对访问的IP进行管理。

封IP和IP段

  • 封单个IP访问
iptables -I INPUT -s 89.2.122.34  -j DROP
  • 解封单个IP
iptables -D INPUT -s 89.2.122.34  -j DROP
  • 封整个IP段
iptables -I INPUT -s 89.0.0.0/8  -j DROP

89.0.0.0/8次写法是Linux的IP段写法,有兴趣的可以去了解一下,不多介绍。

  • 解封整个IP段
iptables -D INPUT -s 89.0.0.0/8  -j DROP

查看iptables的规则

iptables -vnL
iptables --list

上面两个写法都行,可以查看哪些IP被封了

限制访问服务器的频率

这里的例子是ssh服务器一个小时超过2次就封IP,等1个小时后再解封,这样既保证了自己人可以访问服务器,也让境外势力或者其他别有用心的黑客估计你服务器,拿你服务器挖矿。

iptables -I INPUT 1 -p tcp -m tcp --dport 6000 -m state --state NEW -m recent --set --name gk
iptables -I INPUT 2 -p tcp -m tcp --dport 6000 -m state --state NEW -m recent --update --seconds 3600 --hitcount 2 --name gk -j DROP
iptables -I INPUT 3 -p tcp -m tcp --dport 6000 -j ACCEPT

这里dport指的是端口号,我的服务器ssh用frp开了内网穿透服务,用6000端口访问。seconds是时间3600秒是一个小时,hitcount是访问次数,超过2次密码错误就干掉。

删除iptables的规则

先用iptables --list或者iptables -vnL查看现有的规则,iptables的优先级是自上而下,第一行规则的编号就是1,第二行就是2。删除第一行的规则可以用:

iptables -D INPUT 1

注意数好行数,删除第二行就是:

iptables -D INPUT 2

删除完后原来的第二行会变成第一行,望周知,别搞错了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容