跳到主要内容

在外也能连上内网的数据库

数据库装在公司或家里的服务器上,出门就连不上?用 TCP 隧道分配一个固定的公网端口,Navicat、DBeaver 或业务程序直接连接,不需要公网 IP,也不用改路由器。

适合谁
需要远程维护数据库,或让外部程序连接内网数据库的开发、运维与实施人员。
推荐协议
TCP

它是怎么连起来的

客户端装在能访问服务的电脑上,主动连接网云穿,由网云穿提供公网入口。

  1. 内网服务数据库服务器MySQL 3306 · SQL Server 1433
  2. 网云穿网云穿 TCP 入口分配给这条隧道的公网端口
  3. 外网访问你的电脑Navicat、DBeaver 或业务程序
示意图 · 地址与端口仅作说明,请按实际环境填写。

四步完成接入

  1. 1

    在客户端所在的电脑上,先用数据库工具连一次内网地址,确认端口和账号都可用。

  2. 2

    为远程连接单独创建一个权限最小的数据库账号,不要使用 root、sa 等管理员账号。

  3. 3

    创建 TCP 隧道,填写数据库的地址和端口,并只允许你常用网络的 IP 连接。

  4. 4

    在外网电脑的数据库工具里,主机填公网地址、端口填分配的公网端口,完成一次连接测试。

配置完成后,这样验证

从白名单内的网络完成一次连接和查询,再从其他网络确认连接被拒绝。

数据库暴露到公网风险很高:务必设置来源 IP 白名单,使用强密码和最小权限账号,数据库支持 TLS 加密时请开启。TCP 隧道只转发连接,不校验访问者身份。

常见问题

数据库工具里的主机和端口怎么填?

主机填 TCP 隧道分配的公网地址,端口填分配的公网端口,而不是数据库原来的 3306 或 1433;用户名和密码不变。

可以只让公司和家里的网络连接吗?

可以。在控制台为这条隧道设置来源 IP 白名单,只允许指定的 IP 或网段连接,其他来源会被直接拒绝。

数据库里看到的来源 IP 都一样?

TCP 隧道转发后,数据库看到的来源是客户端所在的电脑。请用来源 IP 白名单控制谁能连接;只有支持 PROXY v2 的服务才能拿到访客真实 IP。

现在开始配置

下载客户端,按上面的步骤创建第一条隧道。