要将 IP 地址从黑名单中移除,使其能够再次连接到 MySQL 的 3306 端口,需要根据使用的防火墙工具(firewalld
或 iptables
)采取相应的步骤。以下是针对这两种工具的具体操作方法:
使用 firewalld 移除黑名单规则
1. 列出现有的直接规则
首先列出所有现有的直接规则以找到与目标 IP 相关的规则:
sudo firewall-cmd --direct --get-all-rules
2. 删除特定的拒绝规则
假设你要移除的是针对 192.168.1.100
的规则,可以使用如下命令删除它:
sudo firewall-cmd --direct --remove-rule ipv4 filter INPUT 0 -s 192.168.1.100 -p tcp --dport 3306 -j REJECT
这里的关键是确保你提供给 --remove-rule
的参数完全匹配添加时使用的参数。
3. 使更改永久生效
为了让这些更改在系统重启后仍然有效,需要将其标记为永久:
sudo firewall-cmd --runtime-to-permanent
或者直接移除永久规则:
sudo firewall-cmd --permanent --direct --remove-rule ipv4 filter INPUT 0 -s 192.168.1.100 -p tcp --dport 3306 -j REJECT
sudo firewall-cmd --reload
使用 iptables 移除黑名单规则
1. 查看当前的 iptables 规则
你可以通过以下命令查看当前的 iptables 规则列表:
sudo iptables -L -n --line-numbers
这会显示每一行规则及其编号,帮助你定位到要删除的规则。
2. 删除特定的拒绝规则
如果已知规则的行号(例如,它是第 5 行),可以直接通过行号删除该规则:
sudo iptables -D INPUT 5
如果不记得具体行号,也可以通过指定完整的匹配条件来删除规则:
sudo iptables -D INPUT -s 192.168.1.100 -p tcp --dport 3306 -j REJECT
3. 保存更改
为了让这些更改在系统重启后仍然有效,你需要保存它们。根据你的发行版不同,保存方式可能有所差异:
对于基于 Red Hat 的系统(如 CentOS, RHEL):
sudo service iptables save
对于 Debian 和 Ubuntu 系统:
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
验证更改
无论使用哪种工具,完成上述步骤后都应验证规则是否已被成功移除:
- 对于
firewalld
,可以再次运行firewall-cmd --direct --get-all-rules
来确认。 - 对于
iptables
,可以再次运行iptables -L -n
来检查。