fail2ban firewalld not working 防火墙拦截规则不生效

博客作者分享了一次配置fail2ban时因误改SSH端口设置而导致的问题及解决过程。通过查看`/var/log/fail2ban.log`日志,发现错误行并进行修正,最终将SSH端口注释恢复正确,避免了进一步的问题。这是一个关于Linux系统管理和安全设置的实例。

翻遍国内外,被一句点醒

tail -f /var/log/fail2ban.log #查看日志
tail -n 30 /var/log/fail2ban.log #查看近30行日志 查看ERROR

有这两行,就可以解决你的问题,看我的处理过程

然后就会看到万马奔腾的一刻

--dports "$(echo '37212 #ssh??? | sed s/:/-/g)

自己挖的坑,真手欠后面注释个🔨

[sshd]
# 需要监听的项,对应/etc/fail2ban/filter.d目录下的文件
filter      = sshd
enabled     = true
port        = 37212   ## ssh端口 【这是错误的!!!!】

没错,就是自己手欠,我发誓以后注释都写上面,再也不写后面了,这坑。。。

[sshd]
# 需要监听的项,对应/etc/fail2ban/filter.d目录下的文件
filter      = sshd
enabled     = true
## ssh端口 【这是正确的,重启后就世界核平了!最好后面空格也干掉,真是无语了】
port        = 37212

Linux系统中配置的防火墙规则未生效,可能是由多种原因导致的。以下是一些常见的解决方法和排查步骤: ### 1. 检查防火墙服务是否运行 确保防火墙服务(如`iptables`或`firewalld`)正在运行。可以通过以下命令检查其状态: ```bash systemctl status firewalld ``` 或 ```bash systemctl status iptables ``` 如果服务未运行,可以使用以下命令启动并启用它: ```bash systemctl start firewalld systemctl enable firewalld ``` 或 ```bash systemctl start iptables systemctl enable iptables ``` ### 2. 验证规则是否正确应用 在配置完防火墙规则后,需要确认规则是否已正确加载。可以使用以下命令查看当前的防火墙规则: ```bash iptables -L -n -v ``` 或 ```bash firewall-cmd --list-all ``` 如果规则未显示在输出中,则可能未正确应用。 ### 3. 检查规则的保存 如果规则未保存,重启后将会丢失。对于`iptables`,可以使用以下命令保存规则: ```bash /etc/rc.d/init.d/iptables save ``` 这将规则保存到`/etc/sysconfig/iptables`文件中。保存后,重启防火墙服务以确保规则生效: ```bash systemctl restart iptables ``` ### 4. 确认规则的优先级 规则的顺序可能会影响其生效。例如,`DROP`规则如果位于`ACCEPT`规则之前,可能会导致预期的流量被丢弃。可以通过以下命令查看规则的顺序: ```bash iptables -L -n -v --line-numbers ``` 如果需要调整规则的位置,可以使用`-I`(插入)或`-D`(删除)选项来修改规则顺序。 ### 5. 检查默认策略 默认策略(如`INPUT`、`FORWARD`和`OUTPUT`链的默认目标)可能会影响规则的生效。例如,如果`INPUT`链的默认策略是`DROP`,但未明确允许某些流量,则这些流量将被拒绝。可以通过以下命令查看默认策略: ```bash iptables -L -n -v | grep policy ``` 如果需要更改默认策略,可以使用以下命令: ```bash iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT ``` ### 6. 检查网络接口配置 确保规则中的网络接口与实际使用的接口匹配。可以通过以下命令查看网络接口: ```bash ip link show ``` 如果规则中指定了接口(如`-i eth0`),请确保接口名称正确。 ### 7. 检查日志以获取更多信息 启用日志记录可以帮助诊断规则未生效的原因。可以通过以下命令添加日志规则: ```bash iptables -A INPUT -j LOG --log-prefix "IPTables-Dropped: " ``` 日志信息通常可以在`/var/log/messages`或`/var/log/syslog`中找到。 ### 8. 检查SELinux或AppArmor SELinux或AppArmor等安全模块可能会限制防火墙规则的生效。可以通过以下命令检查它们的状态: ```bash sestatus ``` 或 ```bash aa-status ``` 如果需要临时禁用SELinux,可以编辑`/etc/selinux/config`文件并将`SELINUX=enforcing`更改为`SELINUX=permissive`。 ### 9. 检查内核模块 某些防火墙功能依赖于内核模块。可以通过以下命令检查相关模块是否加载: ```bash lsmod | grep iptable ``` 如果模块未加载,可以使用`modprobe`命令加载它们。 ### 10. 检查网络连接 确保网络连接本身没有问题。可以通过以下命令测试网络连通性: ```bash ping <目标IP> ``` 或 ```bash curl http://<目标IP>:<端口> ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值