mysql-proxy代理内网数据库
一、使用场景介绍
mysql-proxy的机器属于代理机器也就是相当于白名单的审核机器,通过防火墙规则,限制允许那些IP访问本机的代理内网数据库的端口,
有点:保证内网的数据库不暴露在公网上,保证了数据库的安全。
缺点:一旦mysql-proxy代理服务器挂掉了,就相当于应用都链接不上了数据库。同时如果太多的应用程序通过mysql-proxy链接内网数据库的话,mysql-proxy代理服务器必须也得保证足够的带宽,负责导致链接数据库特别的慢,或者链接不上数据库。
二、演示环境:
2台物理机器,系统都是CentOS release 6.8 (Final)
一台机器配置内外网卡:104.137.27.4 192.168.1.100 部署mysql-proxy 服务
一台机器配置外网卡:104.137.27.3 部署mysql服务,并登陆此机器数据库,授权一个账户允许104.137.27.4机器来链接此数据库
三、二进制安装mysql-proxy:
下载安装包:
定义下环境变量:
四、mysql-proxy 参数介绍:
Application Options:
4.1应用参数介绍:
mysql-proxy --help-all
4.2mysql-proxy代理模块参数介绍
4.3线上配置文件介绍:
五、启动mysql-proxy
/usr/local/mysql-proxy/bin/mysql-proxy --defaults-file=/usr/local/mysql-proxy/conf/mysql-proxy.conf
登陆mysql-proxy管理账户,查看反向代理管理列表
[root@book ~]# mysql -uzykjadmin -pZyjkwestos -h104.137.27.4 --port=9197
六、通过sqlyog来登陆反向代理数据库
登陆成功:
七、MySQL-porxy代理服务器防火墙的配置策略:
7.1配置策略解释:
-```
A INPUT -p tcp -m tcp --dport 4567 -j ACCEPT
此处6029相当于sshd的登陆端口号
-A INPUT -p tcp -m multiport --dports 80,81,443 -m state --state NEW -j ACCEPT
放行80,81和443业务端口
-A INPUT -s 104.137.27.6/32 -p tcp -m tcp --dport 873 -m state --state NEW -j ACCEPT
允许特定的IP104.137.27.6到本地服务器上通过rsync拉取数据
-A INPUT -s 304.37.57.45/32 -p tcp -m multiport --dports 9196 -j ACCEPT
允许指定的IP304.37.57.45 来链接MySQL-proxy服务的9196端口,从而链接到内网的数据库
-A INPUT -s 204.17.47.245/32 -p tcp -m multiport --dports 21,10050,3306 -j ACCEPT
解释:204.17.47.245 机器上部署***-server,通过拨号登陆***-server,然后在可以登陆ftp,登陆3306数据库服务
-A INPUT -p icmp -m icmp --icmp-type 8 -m limit --limit 5/sec --limit-burst 10 -j ACCEPT
解释:对ping做限制策略
-A INPUT -j DROP
解释:其他的客户端IP地址一律禁止访问本服务器上的服务的端口