用VPN安全连接到MySQL?

我有一个MySQL 5.5的VPS,因为明显的安全原因,它只在本地主机上进行监听。 我已经build立从我自己的机器到该VPS的VPN连接,我成功连接。

将所有MySQL数据库的访问权限授予连接到VPN的任何人,如同本地主机请求一样,最好的办法是什么?

我可能会用很傻的方式问这个问题,所以如果你不明白我的意思,我会详细说明。

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

你可以让mysql自己监听所有接口上的连接[注释掉my.cnf中的bind-address ]并使用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来指定特定的接口。