maxrate 发表于 2024/7/21 15:58

请教小樱,kangle拉黑后的黑名单IP应该在哪里能看到

想要知道kangle设置了限制后,拉黑了的IP在哪个文件里可以看到,我没有找到麻烦了

小樱 发表于 2024/7/21 18:36

block_ip_cmd来获取黑名单ip,不对接防火墙的话,可以用命令来获取log文件
https://bbs.itzmx.com/thread-9269-1-1.html

echo ${ip} > /root/black_list.log


https://bbs.itzmx.com/thread-99558-1-1.html

maxrate 发表于 2024/7/21 22:10

小樱 发表于 2024/7/21 18:36
block_ip_cmd来获取黑名单ip,不对接防火墙的话,可以用命令来获取log文件
https://bbs.itzmx.com/thread- ...

我直接输入这个命令echo ${ip} > /root/black_list.log
在root内找到black_list.log,打开后里头什么都没有

使用第一条链接内的初始化ipset命令
# /sbin/iptables -N kangle
iptables: Chain already exists.
# /sbin/iptables -I INPUT -p tcp -j kangle
# /etc/init.d/iptables save
-bash: /etc/init.d/iptables: 没有那个文件或目录

maxrate 发表于 2024/7/21 22:16

小樱 发表于 2024/7/21 18:36
block_ip_cmd来获取黑名单ip,不对接防火墙的话,可以用命令来获取log文件
https://bbs.itzmx.com/thread- ...

输入最后一个链接内的第一条命令
tail -f /vhs/kangle/var/access.log | grep " 0 0 "
完全没有反应

小樱 发表于 2024/7/21 22:21

maxrate 发表于 2024/7/21 22:10
我直接输入这个命令echo ${ip} > /root/black_list.log
在root内找到black_list.log,打开后里头什么都 ...

要先调用block_ip_cmd去获取,创建xml文件把配置文件写进去
这句代码意思是用echo来代替iptables,此时只是把ip写入进black_list.log文件,而不是拉黑到iptables

如果你在centos6以外的系统使用iptables防火墙对接api拉入黑名单,则需要先安装iptables,在centos7的安装iptables命令例如
yum -y install iptables-services

小樱 发表于 2024/7/21 22:22

maxrate 发表于 2024/7/21 22:16
输入最后一个链接内的第一条命令
tail -f /vhs/kangle/var/access.log | grep " 0 0 "
完全没有反应

代表kangle内置黑名单此时ip列表为空,没有存在拦截访问现象

maxrate 发表于 2024/7/22 22:06

小樱 发表于 2024/7/21 22:21
要先调用block_ip_cmd去获取,创建xml文件把配置文件写进去
这句代码意思是用echo来代替iptables,此时 ...

我说的不准确,我现在想实现kangle多个节点的黑名单同步,且黑名单是动态根据配置后触发的.
请问我应该怎么做,感谢小樱

小樱 发表于 2024/7/22 23:07

maxrate 发表于 2024/7/22 22:06
我说的不准确,我现在想实现kangle多个节点的黑名单同步,且黑名单是动态根据配置后触发的.
请问我应该 ...

这个比较复杂,可以导出black_list.log文件后,然后写个sh脚本定时发布一个http地址来访问ip数据库,然后使用kangle的cloud_ip模块去拦截拉黑实现多节点同步防御
https://bbs.itzmx.com/thread-15837-1-1.html

sh脚本举个例子,例如单独使用一台服务器创建post.php来上传log文件,并且把上传后的log文件重新整理和命名为ip.txt
curl -v -H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36" http://你的域名/post.php -X POST -F name=ip.txt file=black_list.log

此时你的ip数据库访问地址为,将此地址填写在cloud_ip模块中
http://你的域名/ip.txt

maxrate 发表于 2024/7/24 23:39

小樱 发表于 2024/7/22 23:07
这个比较复杂,可以导出black_list.log文件后,然后写个sh脚本定时发布一个http地址来访问ip数据库,然 ...

还是没有太理解black_list.log怎么来的
echo ${ip} > /root/black_list.log
这条命令是将环境变量 ip 的内容写入 black_list.log,不是 kangle 自己产生的黑名单
还是不知道这个黑名单储存在哪

小樱 发表于 2024/7/24 23:46

maxrate 发表于 2024/7/24 23:39
还是没有太理解black_list.log怎么来的
echo ${ip} > /root/black_list.log
这条命令是将环境变量 ip...

${ip}这个就是kangle产生的呀,不是什么环境变量,你是不是没看我发给你的贴子。。。把命令调用进去block_ip_cmd里面就可以了,就可以获取黑名单ip
增加配置文件
/vhs/kangle/ext目录新建一个xml文件,如:black_list_log.xml,内容如下:(目录不存在可以用mkdir -p /vhs/kangle/ext创建)

<?xml version="1.0" encoding="utf-8"?>
<config>
<block_ip_cmd>echo ${ip} > /root/black_list.log</block_ip_cmd>
</config>

maxrate 发表于 2024/7/27 23:46

小樱 发表于 2024/7/24 23:46
${ip}这个就是kangle产生的呀,不是什么环境变量,你是不是没看我发给你的贴子。。。把命令调用进去blo ...

请教小樱,我在电脑上根据你说的使用了这段代码 已经建了文件,再去看/root/black_list.log还是空的
# cat /vhs/kangle/ext/black list log.xml
<?xml version="1.0" encoding "utf-8"?>
<config>
<block ip cmd>echo ${ip} >/root/black list.log</block ip cmd>
<config>
root@sunteccloud ~]# cat /root/black list.log
root@sunteccloud ~l# date
Sat Jul 27 20:53:36 CST 2024
#

小樱 发表于 2024/7/28 05:55

maxrate 发表于 2024/7/27 23:46
请教小樱,我在电脑上根据你说的使用了这段代码 已经建了文件,再去看/root/black_list.log还是空的


你发的帖子内容看到下划线丢失了,怎么都变成空格了,肯定会报错的,下划线不能删掉
如果加了下划线还不行,你把绝对命令路径补全试一下 /bin/echo

maxrate 发表于 2024/8/2 10:21

小樱 发表于 2024/7/28 05:55
你发的帖子内容看到下划线丢失了,怎么都变成空格了,肯定会报错的,下划线不能删掉
如果加了下划线还 ...

我都试过了还是没有。是我的描述不对吗。
我是想要找到请求控制内check_black_list:命中的那一批黑名单
包括使用匹配模块ip_rate对应的black_list:
每个IP最多同时连接数限制后产生的黑名单
我在压测后可以看到很多命中的产生,但是使用上面的方法并没有看到对应的黑名单

小樱 发表于 2024/8/2 18:48

maxrate 发表于 2024/8/2 10:21
我都试过了还是没有。是我的描述不对吗。
我是想要找到请求控制内check_black_list:命中的那一批黑名单
...

测试后发现黑名单的ip地址会写入server.log文件,确实没有写入到black_list.log,判断是kangle不支持echo语句写法写入到其他新创建的文件中,可以直接从server.log里提取结果

maxrate 发表于 2024/8/3 20:17

小樱 发表于 2024/8/2 18:48
测试后发现黑名单的ip地址会写入server.log文件,确实没有写入到black_list.log,判断是kangle不支持ec ...

小樱..server.log里头也没有最新的黑名单信息..你试试看

小樱 发表于 2024/8/3 20:32

maxrate 发表于 2024/8/3 20:17
小樱..server.log里头也没有最新的黑名单信息..你试试看

测试是有黑名单ip写入server.log的,请检查是否创建了black_list_log.xml文件,kangle是否进行重启或者重载配置文件以便加载了这个xml,可以在"其它选项"中确认block_ip_cmd加载情况,如图所示代表加载成功


maxrate 发表于 2024/8/8 20:41

小樱 发表于 2024/8/3 20:32
测试是有黑名单ip写入server.log的,请检查是否创建了black_list_log.xml文件,kangle是否进行重启或者重 ...

感谢小樱,我试明白了 最后还是用的iptables
页: [1]
查看完整版本: 请教小樱,kangle拉黑后的黑名单IP应该在哪里能看到