在Linux系统中,配置防火墙以允许MySQL服务通信是一个常见的安全步骤。以下是使用iptables和firewalld两种常见防火墙工具进行配置的方法。
iptables检查MySQL默认端口: MySQL默认使用3306端口。
添加规则:
使用iptables命令添加规则,允许来自特定IP地址或所有IP地址的3306端口流量。
sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
如果你只想允许特定IP地址访问MySQL,可以使用以下命令:
sudo iptables -A INPUT -p tcp -s <允许的IP地址> --dport 3306 -j ACCEPT
保存规则:
iptables规则在系统重启后会丢失,因此需要保存规则。
sudo iptables-save > /etc/iptables/rules.v4
或者使用iptables-persistent包来持久化规则:
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
firewalld检查firewalld状态:
确保firewalld服务正在运行。
sudo systemctl status firewalld
添加规则:
使用firewall-cmd命令添加规则,允许3306端口的TCP流量。
sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp
重新加载防火墙配置: 使新添加的规则生效。
sudo firewall-cmd --reload
验证规则: 检查规则是否已添加。
sudo firewall-cmd --list-all
通过以上步骤,你可以成功配置Linux系统的防火墙以允许MySQL服务的通信。