在Ubuntu上配置MariaDB的防火墙规则,通常涉及以下几个步骤:
Ubuntu默认使用ufw
(Uncomplicated Firewall)作为防火墙管理工具。如果你还没有安装ufw
,可以使用以下命令进行安装:
sudo apt update
sudo apt install ufw
安装完成后,启用ufw
:
sudo ufw enable
MariaDB默认使用3306端口。你需要允许这个端口通过防火墙。可以使用以下命令:
sudo ufw allow 3306/tcp
如果你需要更细粒度的控制,可以编辑ufw
的配置文件。打开/etc/ufw/before.rules
文件:
sudo nano /etc/ufw/before.rules
在文件中找到*filter
部分,并添加以下规则:
# Allow MariaDB
-A ufw-before-input -p tcp --dport 3306 -j ACCEPT
保存并关闭文件。
为了让新的规则生效,需要重新加载ufw
:
sudo ufw reload
你可以使用以下命令查看当前的防火墙规则:
sudo ufw status
你应该能看到允许3306端口的规则。
除了防火墙规则,还需要配置MariaDB的访问控制。编辑MariaDB的配置文件/etc/mysql/my.cnf
或/etc/mysql/mysql.conf.d/mysqld.cnf
,添加或修改以下内容:
[mysqld]
bind-address = 0.0.0.0 # 允许所有IP访问
然后重启MariaDB服务:
sudo systemctl restart mysql
最后,创建一个数据库用户并授予相应的权限。例如:
CREATE USER 'your_username'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON your_database.* TO 'your_username'@'%';
FLUSH PRIVILEGES;
这样,你的MariaDB服务器就可以通过防火墙接受来自任何IP的连接了。
通过以上步骤,你应该能够在Ubuntu上成功配置MariaDB的防火墙规则。