家里ADSL上网无固定外网IP的群晖NAS安全实现与公网MySQL服务器主从同步

家里 ADSL 上网,没有办法分配固定外网 IP ,现在想使用群晖自带的MariaDB 安全实现与公网 MySQL 服务器主从同步。

最大的问题实际上是如果暴漏 MySQL 服务器的端口,但是不限制来源 IP 地址的话,会造成非常大的安全隐患。

但是, ADSL 恰恰不能提供固定的 IP 地址,我们需要解决这个问题。如果通过在公网数据库服务器上搭建 OpenVPN 服务器的方式,我们恰恰可以把内外网的设备影射到同一个子网中,而且 OpenVPN 提供的加密服务支持,刚刚好满足我们的安全需求。

注意一旦配置主从同步,磁盘的休眠会被MySQL的同步写入打断,导致磁盘不能正常休眠,毕竟正常情况下数据库是持续写入的,不存在很长时间的停顿。这样会导致磁盘周期性的咔咔寻道声,尤其是晚上。

噪声问题,参考 群晖(Synology) DS718+希捷酷狼(Seagate IronWolf)12TB空闲发出持续噪声

1. 参考 Ubuntu架设OpenVPN实现内网穿透 搭建整个的 OpenVPN 服务器。映射完成后,设备上会新增一个名为 tun0 的网卡设备。同时所有连接到 VPN 服务器的设备都被被影射到 10.8.0.X 的网段。 公网服务器的地址默认是 10.8.0.1,本文中, 群晖NAS的地址被设定为 10.8.0.7

2. 配置防火墙规则,许可来自指定网卡指定地址的设备的访问。注意,此处一定要指定网卡为 OpenVPN 创建的虚拟网卡,否则造成安全隐患。

3. 参照 ubuntu 16.04配置基于SSL的MySQL主从同步 配置服务器

4. 接下来是群晖NAS的配置

首先是群晖服务器上没有 MySQL,需要安装 MariaDB ,如下图:


安装完成后,MariaDB 10 的配置信息在 /var/packages/MariaDB10/etc/ 目录下面:

里面的内容如下:

下载加密证书

按照 ubuntu 16.04配置MySQL主从同步  进行服务器端的备份:

客户端执行恢复数据命令,如下:

参考链接


发布者

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注