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

简介:

参考: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,如需转载请自行联系原作者
目录
相关文章
|
29天前
|
存储 算法 Shell
【Shell 命令集合 扩展命令】Linux cksum 命令使用教程
【Shell 命令集合 扩展命令】Linux cksum 命令使用教程
28 0
|
29天前
|
存储 Unix Linux
【Shell 命令集合 扩展命令】Linux chgrp命令使用教程
【Shell 命令集合 扩展命令】Linux chgrp命令使用教程
34 1
|
29天前
|
存储 Shell Linux
【Shell 命令集合 扩展命令】Linux chattr命令使用教程
【Shell 命令集合 扩展命令】Linux chattr命令使用教程
31 1
|
2月前
|
运维 Unix Linux
Linux系统 PHP安装expect扩展详解
Linux系统 PHP安装expect扩展详解
39 5
|
1月前
|
存储 安全 网络协议
使用 firewall-cmd 管理 Linux 防火墙端口
本文将介绍如何使用 firewall-cmd 工具在 Linux 系统中进行简单端口管理,包括开放、查询、关闭等操作。通过实例展示相关命令的用法,希望能对大家有所帮助。
|
29天前
|
存储 安全 Shell
【Shell 命令集合 文件管理】Linux显示和修改文件或目录的扩展属性 lsattr命令使用教程
【Shell 命令集合 文件管理】Linux显示和修改文件或目录的扩展属性 lsattr命令使用教程
39 0
|
4天前
|
Linux 网络安全
linux如何关闭防火墙
记住,关闭防火墙可能会降低系统安全性,请在真正需要的情况下关闭,并确保你在网络环境中采取其他安全措施。
13 0
|
10天前
|
NoSQL Linux PHP
php添加redis扩展 linux和windos图文详解 l
php添加redis扩展 linux和windos图文详解 l
3 0
|
29天前
|
存储 Shell Linux
【Shell 命令集合 扩展命令】Linux cmp命令使用教程
【Shell 命令集合 扩展命令】Linux cmp命令使用教程
23 0
|
3月前
|
网络协议 Shell Linux
系统初始化shell,包括:挂载镜像、搭建yum、设置主机名及IP地址和主机名映射、配置动态IP、关闭防火墙和selinux
系统初始化shell,包括:挂载镜像、搭建yum、设置主机名及IP地址和主机名映射、配置动态IP、关闭防火墙和selinux
37 2