Linux下批量屏蔽恶意IP地址防攻击的方法详解


本文摘自PHP中文网,作者巴扎黑,侵删。

很多情况下,你可能需要在Linux下屏蔽IP地址。比如,作为一个终端用户,你可能想要免受间谍软件或者IP追踪的困扰。如果你是一名系统管理员,你可能想要禁止垃圾IP地址访问你们的公司邮件服务器。或者你因一些原因想要禁止某些国家访问你的web服务。在许多情况下,然而,你的IP地址屏蔽列表可能会很快地增长到几万的IP。该如何处理这个?

解决方案: ipset + iblocklist2ipset

安装:

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

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

1

yum install ipset -y

编译安装:

1.依赖环境:

1

yum install libmnl libmnl-devel kernel-devel libtool-devel -y

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

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

1

2

3

4

5

6

7

8

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 不存在

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

1

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))

1

2

3

4

5

6

7

8

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

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

./autogen.sh

./configure

make

make modules

make install

make modules_install

注意:不同linux内核使用不同版本的源码包

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

编译安装:

1

2

3

4

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=http://img.xue163.com/lib/modules/$(shell uname -r)/build     #$(shell uname -r)使用shell命令获取

make KERNEL_DIR=http://img.xue163.com/lib/modules/$(shell uname -r)/build install

常用使用命令:

阅读剩余部分

相关阅读 >>

Linux怎么查看cpu占用率(使用率)?

Linux中什么是shell

Linux与android的区别

Linux终端乱码解决方法

Linux grep与正则表达式的简单介绍

如何在Linux中使用mv命令重命名文件?(代码示例)

增加过安全组规则之后修改安全组入方向规则的描述信息

总结Linux环境下的last和lastb的命令

Linux tar命令如何使用

Linux中查看ip地址的命令是什么

更多相关阅读请进入《Linux》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...

    正在狠努力加载,请稍候...