Linux自动封ip,Linux上基于配置文件封ip简单实践

用iptabels封ip

假设封ip 54.95.192.213

iptables -I INPUT -p tcp -s 54.95.192.213 -i eth0 -j DROP

用nginx配置文件封ip

allow和deny指令介绍

首先需要我们熟悉nginx 的deny指令

allow

语法: allow address | CIDR | unix: | all;

默认值: —

配置段: http, server, location, limit_except

允许某个ip或者一个ip段访问.如果指定unix:,那将允许socket的访问.注意:unix在1.5.1中新加入的功能,如果你的版本比这个低,请不要使用这个方法。

deny

语法: deny address | CIDR | unix: | all;

默认值: —

配置段: http, server, location, limit_except

禁止某个ip或者一个ip段访问.如果指定unix:,那将禁止socket的访问.注意:unix在1.5.1中新加入的功能,如果你的版本比这个低,请不要使用这个方法。

allow、deny实例

location / {

deny 192.168.1.1;

allow 192.168.1.0/24;

allow 10.1.1.0/16;

allow 2001:0db8::/32;

deny all;

}

演示

假如我们分析我们的网站被这两个固定ip频繁不轨访问

219.143.33.50

192.168.1.110

只需要一下两部搞定

配置需要屏蔽的ip的配置文件

首先要建一个封ip的配置文件blockips.conf,然后vi blockips.conf编辑此文件,在文件中输入要封的ip。

假设nginx的目录在/usr/local/nginx/conf

cd /usr/local/nginx/conf

vim blockips.conf

deny 219.143.33.50;

deny 192.168.1.110;

引入 ip配置文件,然后reload nginx

然后保存此文件,并且打开nginx.conf文件,在http配置节内添加下面一行配置:

include blockips.conf;

保存nginx.conf文件,然后测试现在的nginx配置文件是否是合法的:

检查语法问题

/usr/local/nginx/sbin/nginx -t

如果配置没有问题,就会输出:

the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

configuration file /usr/local/nginx/conf/nginx.conf test is successful

如果配置有问题就需要检查下哪儿有语法问题,如果没有问题,需要执行下面命令,让nginx重新载入配置文件。

重载配置文件,ok

/usr/local/nginx/sbin/nginx -s reload

总结

总结:后续再添加需要封的ip只需要收到的添加ip到 blockips.conf 然后reload nginx 即可

个人理解

iptables在内核层面 nginx配置文件封ip在软件服务层面 ;

nginx服务层, 遇见了这个ip, 不采取行动,只是需要一些资源来拒绝这个海量攻击;

内核可能更简单吧,需要的资源也少

本文由 李阿斗创作 旅途愉快~ 我的主页 ( ̄▽ ̄)

最后编辑时间为:

2018/03/18 19:29

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值