在Linux上配置MySQL防火墙可以通过使用iptables
或firewalld
来实现。以下是详细的步骤:
允许本地访问:
sudo iptables -A INPUT -i lo -p tcp --dport 3306 -j ACCEPT
这条命令允许本地回环接口(lo)访问MySQL端口(3306)。
允许特定IP访问:
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 3306 -j ACCEPT
这条命令允许IP地址为192.168.1.100的机器访问MySQL端口。
拒绝所有其他IP访问:
sudo iptables -A INPUT -p tcp --dport 3306 -j DROP
这条命令拒绝所有其他IP地址访问MySQL端口。
保存iptables规则:
sudo service iptables save
这条命令将iptables规则保存到系统启动时自动加载。
安装firewalld(如果尚未安装):
sudo apt install firewalld# 在Ubuntu上sudo yum install firewalld# 在CentOS上
启用firewalld:
sudo systemctl start firewalldsudo systemctl enable firewalld
允许特定IP访问MySQL端口:
sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="10.2.3.192" port protocol="tcp" port="3306" accept' --permanent
这条命令允许IP地址为10.2.3.192的机器访问MySQL端口。
重新加载firewalld配置:
sudo firewall-cmd --reload
查看firewalld规则:
sudo firewall-cmd --list-all
这条命令会列出所有的firewalld规则,以确认新规则已生效。
通过以上步骤,你可以成功配置Linux系统上的MySQL防火墙,确保数据库的安全性。根据具体需求,可能还需要进一步调整配置和设置。