CentOS7开启Firewalld防火墙日志记录获取被拦截的IP
之前有写过CentOS7下如何利用Firewalld防火墙实现IP+Port细粒度访问控制
问题场景:
在实际生产环境时使用该方法进行ES数据库白名单访问控制,但遇到业务侧反馈无法访问到ES数据库端口,需要加入到白名单,但业务侧用的IP 业务侧无法准确给出
于是通过如下面的方法解决这个问题
1、firewalld的默认配置是不记录日志
1 | firewall-cmd --get-log-denied |
可以看到默认是off状态
1 | cat /etc/firewalld/firewalld.conf | grep -i Log |
可以看到LogDenied=off :即不记录被拒绝的包
(图片可点击放大查看)
2、可以通过修改配置文件,使Firewalld防火墙记录日志
从而通过防火墙记录的日志,查询出拒绝的非法ip
具体步骤如下
set-log-denied设置为all,表示记录所有被拒的包
(图片可点击放大查看)
1 | firewall-cmd --set-log-denied=all |
3、通过日志来判断出被拒绝的IP
由于业务侧反馈无法访问到ES数据库端口,业务侧无法判断出自己的IP地址 这时就该方法在Firewalld上开启Log记录,通过日志来判断出被拒绝的IP
进行nc端口测试,触发日志(或者让业务侧复现重试一次)
(图片可点击放大查看)
1 | tail -f /var/log/messages |