使用 VPN 安全连接 MySQL 吗?

使用 VPN 安全连接 MySQL 吗?

我有一个 VPS,安装了 MySQL 5.5,出于明显的安全原因,它只在本地主机上监听。我已经从自己的机器到该 VPS 设置了 VPN 连接,并且成功连接。

向连接到 VPN 的任何人授予所有 MySQL 数据库的相同访问权限(就像本地主机请求一样)的最佳方法是什么?

我问这个问题的方式可能比较愚蠢,所以如果你不明白我的想法,我会详细说明。

编辑:VPS 是 Linux(Cent OS 5.6),如果有帮助的话。MySQL 正在监听 3306。我目前已将来自我的 IP 的所有连接转发到机器公共地址上的端口 3306 到 127.0.0.1:3306。但这不是很方便,因为我经常旅行,当我不在家时,这种方法就失效了。

答案1

你可以让 mysql 本身监听所有接口上的连接[注释掉绑定地址在 my.cnf 中]并使用 iptables 控制访问:

#allow connections from the vpn. insert vpn address range below
IPTABLES -A INPUT -s 192.168.15.0/24 -p tcp --dport 3306 -j ACCEPT
#allow local connections eg your scripts running locally
IPTABLES -A INPUT -s 127.0.0.1 -p tcp --dport 3306 -j ACCEPT
#deny any other attempts of connecting to mysql
IPTABLES -A INPUT -p tcp --dport 3306 -j DROP

您可以更加详细地添加 -i 来指定特定的接口。

相关内容