Lostinthewoods 2020-10-29
当你完成安装数据库后,通常会迫不及待的进行访问和连接。但是防火墙会给你很大的麻烦,如果你不进行正确的配置的话。不管使用什么工具,可能就是一直连不上。
本文主要帮助你解决这个小问题。
下面的配置需要在 MariaDB 数据库服务器上进行配置。
我们的场景是,假设我们有一个 Web 服务器是部署在 IP 地址 192.168.0.1 上面。我们需要这个 Web 服务器能访问我们的数据库。数据库使用的端口是 3306。
在正常安装情况下,如果你的 firewalld 启动的话,Web 服务器是没有办法进行访问的,因为你的端口和 IP 地址已经被禁止了。
可以按照下面的办法进行配置。
在配置之前,我们的流程是配置一个 zone,然后为zone 里面添加 IP 地址和端口,然后重新启动防火墙。
假设我们需要为我们的 MariaDB 数据库添加一个叫 mariadb_access 的 zone
依次执行下面的命令:
# firewall-cmd --new-zone=mariadb_access --permanent # firewall-cmd --reload # firewall-cmd --get-zones
上面的命令执行的是,添加一个叫 mariadb_access 的 zone,将防火墙的配置重新载入,使配置生效,然后检查添加的 zone 是否成功。
如果一切顺利的话,你应该能够看到上面的内容,表示你添加的 zone 成功了。
需要依次执行下面的命令:
firewall-cmd --zone=mariadb_access --add-source=192.168.0.1 --permanent firewall-cmd --zone=mariadb_access --add-port=3306/tcp --permanent firewall-cmd --reload
上面命令执行的是,将 IP 地址添加到信任的 zone 中,将端口也添加到信任的 zone 中。
重新载入防火墙,使配置生效。
使用下面的命令来查看 zone 的配置,确保你的配置生效
firewall-cmd --zone=mariadb_access --list-all
在上面的命令中,你应该可以看到添加的 IP 地址和端口。
上面的操作步骤是按照添加 Zone 然后添加其他参数的方法来执行的。
你需要分步执行几条命令。
如果你想通过一条命令来完成上面的操作,你可以使用下面的示例:
firewall-cmd --permanent –zone=mariadb_access --add-rich-rule='rule family="ipv4" source address="192.168.0.1" port protocol="tcp" port="3306" accept'
请注意,你需要将你实际 Web 服务器的 IP 地址来进行替换。