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,如需转载请自行联系原作者
目录
相关文章
|
9月前
|
Ubuntu Linux 网络安全
在Linux云服务器上限制特定IP进行SSH远程连接的设置
温馨提示,修改iptables规则时要格外小心,否则可能导致无法远程访问你的服务器。最好在掌握足够技术知识和理解清楚操作含义之后再进行。另外,在已经配置了防火墙的情况下,例如ufw(Ubuntu Firewall)或firewalld,需要按照相应的防火墙的规则来设置。
500 24
|
10月前
|
安全 Linux
阿里云linux服务器使用脚本通过安全组屏蔽异常海外访问ip
公网网站可能会遭受黑客攻击导致访问异常,使用此脚本可以屏蔽掉异常IP 恢复访问。也可自行设置定时任务定期检测屏蔽。
769 28
|
10月前
|
人工智能 Kubernetes Ubuntu
linux配置IP
linux配置IP
2104 1
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
675 11
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
477 1
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
318 2
|
监控 网络协议 Shell
ip和ip网段攻击拦截系统-绿叶结界防火墙系统shell脚本
这是一个名为“小绿叶技术博客扫段攻击拦截系统”的Bash脚本,用于监控和拦截TCP攻击。通过抓取网络数据包监控可疑IP,并利用iptables和firewalld防火墙规则对这些IP进行拦截。同时,该系统能够查询数据库中的白名单,确保合法IP不受影响。此外,它还具备日志记录功能,以便于后续分析和审计。
312 6
|
存储 运维 Linux
Linux防火墙firewall的使用
CentOS 7 中的 firewalld 是基于 Netfilter 的防火墙服务,支持动态配置,无需重启服务即可生效。它通过区域管理网络流量,每个区域可以设置不同的防火墙规则。默认区域为 public,可以通过命令行工具 firewall-cmd 进行管理和配置。firewalld 提供了丰富的预定义服务和区域,方便用户根据需求进行灵活配置。
304 0
|
网络安全 Docker 容器
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
【Bug修复】秒杀服务器异常,轻松恢复网站访问--从防火墙到Docker服务的全面解析
591 0
|
安全 Linux 应用服务中间件
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?
在Linux中,包过滤防火墙与代理应用防火墙有什么区别?有哪些相应的产品?