通过 ssh 隧道公开 mysql 服务器

通过 ssh 隧道公开 mysql 服务器

我以前曾成功使用过远程和本地转发,但这次我无法使设置正常工作。

我想要实现的目标是:使我的 SQL 服务器可公开访问,以便 Google CloudSql 可以复制数据库。

我在路由器后面有一个运行 debian 的 NAS,可以在位置 A 进行端口映射 我在位置 B 有一个运行 mariadb 的 CentOS VM

从位于 BI 的虚拟机运行以下命令

:~$ ssh -f -N -T -R 3306:localhost:3306 my.dyndns.address -p [sshport]

(nas 上没有运行 mysql 服务器,或者至少没有在端口 3306 上运行)

然后在 nas 上:

:~# ss -anp | grep :330
tcp    LISTEN     0      128    127.0.0.1:3306                  *:*                   users:(("sshd",pid=27182,fd=9))
tcp    LISTEN     0      128     ::1:3306                 :::*                   users:(("sshd",pid=27182,fd=8))

在路由器上,我将端口 33006 转发到 nas 的端口 3306,如下所示:

(列协议、外部起始端口、外部结束端口、本地端口、目标端口转发路由器 其他端口转发规则(如 openvpn 和 ssh)也可以完美地运行

我可以从我自己的计算机连接到 mysql 数据库,该指令bind-address设置为 '*',我也尝试注释该指令,但正如预期的那样,没有产生不同的结果

我正在查看两台机器的输出journalctl -f,但没有传来任何可以帮助我排除故障的信息。

--- 澄清 ---

  1. 我想从外部连接到my.dyndns.address端口33006

  2. my.dyndns.address从我的 ISP 调制解调器转换为公共地址。

  3. 33006通过调制解调器转发到 NAS 的本地 IP 端口 3306,然后再通过隧道传输到 mysql 服务器(位于位置 B)。

  4. 我正在测试这个

    mysql -h my.dyndns.address --port=33006 -u myuser -p
    

    然而

     mysql -h local_ip_on_B -u myuser -p
    

    很好用

我还尝试使用 VPN 从位置 B 的数据库服务器连接到位置 A(NAS 也是 OpenVpn 服务器),并将 ISP 调制解调器上的转发端口直接指向数据库服务器在 tun 接口上获得的 IP 的 IP 地址。如果我与位置 A 建立第二个 VPN 连接,我可以使用来自我计算机的 tun 接口的 IP 连接数据库。

我收到的错误是ERROR 2002 (HY000) Can't connect to MySQL server on ip_of_the_nas

更新

我制作了一个示意图来进一步阐明我的情况: 网络概览

有人能帮我吗 ?

答案1

ss输出的这个片段

127.0.0.1:3306

表示仅在环回接口上sshd侦听 IPv4 端口3306。来自外部的通信通过另一个(非环回)接口进行。

man 5 sshd_config

GatewayPorts
指定是否允许远程主机连接到为客户端转发的端口。默认情况下,sshd(8)将远程端口转发绑定到环回地址。这可防止其他远程主机连接到转发端口。GatewayPorts 可用于指定sshd应允许远程端口转发绑定到非环回地址,从而允许其他主机连接。该参数可能是no强制远程端口转发仅对本地主机可用,yes强制远程端口转发绑定到通配符地址,或clientspecified允许客户端选择转发绑定到的地址。默认值为no

所以你需要

  • GatewayPorts yes在你的sshd_config;或
  • GatewayPorts clientspecified或者然后这些:

    ssh -R               :3306:localhost:3306 …  # note the extra `:'
    ssh -R            '*':3306:localhost:3306 …
    ssh -R proper_IP_here:3306:localhost:3306 …
    

别忘了你需要重新加载/重新启动sshd。还要检查 NAS 上的防火墙是否没有阻止端口。

相关内容