用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

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

  1. CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法

    CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法 CentOS 7.4 中, 网卡命名方式发生改变, 可预测功能命名: 网卡简要名称组成格 ...

  2. linux自动点击软件上的按钮,如何在Gnome Shell上自动启动程序

    原标题:如何在Gnome Shell上自动启动程序 登录Gnome Shell时自动打开应用程序是提前设置工作区的好方法.在Gnome Shell上自动启动程序的最简单方法是使用Tweaks应用程序. ...

  3. linux自动安装光盘,Linux(centos6.4)自动安装光盘制作

    一.为什么要制作Linux自动安装光盘 1.机房的服务器少则几十台,多则上百台,几千台,安装的时候,这么多的服务器不可能一台一台的安装,这时候就需要自动安装光盘的协助. 2.如果机房的某台服务器需要格 ...

  4. linux 自动务份,Linux下设置ADSL自动拨号上网

    前段时间下载了红帽的linux,版本为redhat 9.0,整整刻了三张CD.最初是为了体验一下linux下QQ聊天软件的功能,最后因内核太低(官方推荐内核在2.6以上,我下载的版本是2.4)而告终. ...

  5. linux 自动ping脚本,linux上ping脚本及zabbix3.xx上自动发现

    有时候,我们需要在linux上ping一些地址,判断地址是否被占用 一.编写shell脚本 脚本如下:#!/bin/bash for i in 192.168.16.{1..255} do ( pin ...

  6. linux自动点击软件上的按钮有什么用,教会你Linux Shell自动交互的三种方法

    你了解Linux系统么?你是Linux系统的应用者么?如果你要学习linux,你可能会遇到Linux Shell自动交互问题,这里将介绍Linux Shell自动交互的解决方法,在这里拿出来和大家分享 ...

  7. mac linux自动补全,MacOS 上使用docker命令补全功能

    摘要 在CentOS系统上敲了很久的自动补全docker命令之后,在自己的mac系统里发现很不适应而且没什么效率,于是就google了一番查找. 1.安装brew ruby -e "$(cu ...

  8. linux自动断开会话,linux – 从SSH会话断开连接是否会导致程序崩溃?

    编辑2016年: 这个Q& A早于systemd v230 debacle.从systemd v230开始,新的默认设置是终止终止登录会话的所有子节点,无论采取了哪些历史上有效的预防措施来防止 ...

  9. linux自动挂载方法,Linux操作系统下硬盘手工和自动挂载的方法

    1. 手工挂载 在Linux中也可以读取Windows分区,包括fat32格式的和ntfs格式的.首先你得知道Linux下对硬盘分区的称呼.比如Windows下的C盘通常是hda1,D盘是hda5,E ...

最新文章

  1. 转:Oracle中的日期和字符串互相转换
  2. 递增三元组蓝桥杯c语言,第九届蓝桥杯_递增三元组(枚举的优化思路)
  3. android键盘弹出头部上移处理
  4. 求职特训营火热来袭 阿里大咖教你制作专业简历
  5. SQL Cookbook:一、检索记录(13)按模式搜索
  6. 为什么“三次握手,四次挥手”?
  7. python 字典操作
  8. 在线学习Java编程的最佳方法
  9. 使用JS提交form表单和w3c标准
  10. TensorFlow 机器学习秘籍中文第二版·翻译完成
  11. 牛逼!终于有人开源了一份基于SSM框架实现了支付宝支付功能的完整源代码......
  12. 关于学习Swift的一些感受
  13. python gif图 ctf_从两道CTF实例看python格式化字符串漏洞
  14. US1M-ASEMI小电流贴片快恢复二极管
  15. C语言结构体字节对齐规则
  16. 【中科三方】高防DNS如何实现对DDoS攻击的流量清洗?
  17. Golang 占位符的使用
  18. emc服务器装什么系统,EMC DD系统安装指南.pdf
  19. 窗口无故失去焦点解决方案
  20. 实战:“小打卡”小程序从创意到上线完整开发过程解析

热门文章

  1. C#实战021:OleDb操作-新增Excel中的sheet工作表
  2. 创业公司公关战如何开展?
  3. iOS开发之文件管理
  4. c语言向上取整和向下取整的函数
  5. python绘制sigmoid及tanh函数
  6. python中ndarray对象_numpy基础——ndarray对象
  7. 为什么OAuth是授权协议,而不是认证协议?
  8. APP性能优化之工具使用- 调试GPU过度绘制
  9. 【清单革命】程序员节快乐,愿我们奔赴在各自的热爱里(1024随笔)
  10. 【C/C++】指针的思考与注意:空指针,指针赋值,void*指针,二级指针,结构体指针,指向同一地址的多个指针释放问题