ipset-linux防火墙的扩展实现对指定ip的限制访问

本文涉及的产品
云防火墙,500元 1000GB
简介:

参考:http://blog.csdn.net/dog250/article/details/41123469    于Linux-2.6.32内核上编译ipset-6.23的坎坷经历

      http://netsecurity.51cto.com/art/201501/463157.htm      如何在Linux上高效阻止恶意IP地址?

      http://blog.csdn.net/opensure/article/details/46047931    ipset - linux防火墙的扩展 

          http://www.xitongzhijia.net/xtjc/20150106/34147_2.html   Linux拒绝国外IP访问

      http://blog.chinaunix.net/uid-24683784-id-5020892.html   用ipset配置linux防火墙

      

                               


安装:

 官方网站:http://ipset.netfilter.org/install.html 

最简单的方法就是yum安装,但是该方法版本比较低,缺少一些使用的模块参数等,所以不大推荐;

 yum install ipset -y


编译安装:

  

   1. 依赖环境: yum install libmnl libmnl-devel kernel-devel libtool-devel -y 

(新版本的安装方法:git pull git://git.netfilter.org/libmnl.git  运行./autogen.sh)

=======================================================================================

(备注:如果只安装libmnl时,会出现下面的报错:

checking for libmnl... configure: error: Package requirements (libmnl >= 1) were not met:


No package 'libmnl' found


Consider adjusting the PKG_CONFIG_PATH environment variable if you

installed software in a non-standard prefix.


Alternatively, you may set the environment variables libmnl_CFLAGS

and libmnl_LIBS to avoid the need to call pkg-config.

See the pkg-config man page for more details.

)

========================================================================================

在编译的时候可能提示找不到/lib/modules/2.6.32-431.el6.x86_64/source

经过排查发现这个软连接/lib/modules/2.6.32-431.el6.x86_64/build -->/usr/src/kernels/2.6.32-431.el6.x86_64 不存在

解决办法:重新建立软连接

 ln -sb /usr/src/kernels/2.6.32-573.3.1.el6.x86_64 /lib/modules/2.6.32-431.el6.x86_64/build

========================================================================================

在运行 ./autogen.sh时报错:

  找不到 /usr/share/libtool/

解决办法:安装libtool-devel工具包即可 yum install libtool-devel

========================================================================================

   2.编译安装ipset  (linux kernel source code (version >= 2.6.32))

  wget -P /usr/local/src http://ipset.netfilter.org/ipset-6.26.tar.bz2

  cd /usr/local/src && tar xf ipset-6.26.tar.bz2 && cd ipset-6.26

  ./autogen.sh

  ./configure --prefix=/usr/local/ipset 

  make

  make modules  不要执行make modules 和make module_install命令,否则在设置iptables规则的时候会卡死内核

  make install 

  make modules_install


   附注:linux kernel source code (version >= 2.6.16 or >= 2.4.36)

   编译安装:

  wget -P /usr/local/src http://ipset.netfilter.org/ipset-4.5.tar.bz2

  cd /usr/local/src && tar xf ipset-4.5.tar.bz2 && cd ipset-4.5

  make KERNEL_DIR=/lib/modules/$(shell uname -r)/build     #$(shell uname -r)使用shell命令获取

  make KERNEL_DIR=/lib/modules/$(shell uname -r)/build install 

常用使用命令:

  ipset list 查看ip集列表信息

  ipset create Dos hash:ip maxelem 1000000  创建一个IP集Dos,指定类型为hash:ip,设置ip集最多存储IP数为1000000

  ipset add Dos X.X.X.X  增加一个ip地址到IP集Dos中去

  ipset add Dos X.X.X.X/24  增加一个网段到IP集Dos中去

  ipset dell Dos X.X.X.X   删除IP集中指定的IP地址

 

  ipset save Dos -f Dos.txt  将IP集Dos中的信息保存到当前文件目录下面的文件Dos.txt中

  ipset destroy Dos   删除指定的IP集Dos  

  ipset restore Dos -f Dos.txt  将保存的Dos.txt文件中的IP集信息重新导入到ipset中


  其他命令参考 ipset --help


iptable命令参考:

  iptables -A INPUT -m set --match-set Dos src -p tcp --destination-port 80 -j DROP  

                                #拒绝ipset IP集Dos中的地址访问服务器的80端口










本文转自 南非波波 51CTO博客,原文链接:http://blog.51cto.com/nanfeibobo/1693933,如需转载请自行联系原作者
目录
相关文章
|
19天前
|
存储 网络协议 安全
【Azure 环境】ARM部署模板大于4MB的解决方案及Linked Template遇见存储账号防火墙无法访问
【Azure 环境】ARM部署模板大于4MB的解决方案及Linked Template遇见存储账号防火墙无法访问
|
21天前
|
安全 Linux 应用服务中间件
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
|
11天前
|
机器学习/深度学习 安全 网络协议
Linux防火墙iptables命令管理入门
本文介绍了关于Linux防火墙iptables命令管理入门的教程,涵盖了iptables的基本概念、语法格式、常用参数、基础查询操作以及链和规则管理等内容。
172 73
|
15天前
|
Linux 网络安全
linux关闭方防火墙的命令
linux关闭方防火墙的命令
28 2
|
18天前
|
存储 监控 Linux
|
20天前
|
JavaScript Linux 应用服务中间件
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
|
20天前
|
存储 网络安全 数据中心
【Azure 存储服务】App Service 访问开启防火墙的存储账号时遇见 403 (This request is not authorized to perform this operation.)
【Azure 存储服务】App Service 访问开启防火墙的存储账号时遇见 403 (This request is not authorized to perform this operation.)
【Azure 存储服务】App Service 访问开启防火墙的存储账号时遇见 403 (This request is not authorized to perform this operation.)
|
19天前
|
存储 安全 API
【Azure API Management】实现在API Management服务中使用MI(管理标识 Managed Identity)访问启用防火墙的Storage Account
【Azure API Management】实现在API Management服务中使用MI(管理标识 Managed Identity)访问启用防火墙的Storage Account
|
20天前
|
存储 安全 Linux
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
【Azure 应用服务】App Service For Linux 怎么安装Composer,怎么安装PHP扩展,怎么来修改站点根路径启动程序?
|
20天前
|
JavaScript Linux 容器
【Azure 应用服务】NodeJS项目部署在App Service For Linux环境中,部署完成后应用无法访问
【Azure 应用服务】NodeJS项目部署在App Service For Linux环境中,部署完成后应用无法访问