Alex Andronov Asked: 2009-07-07 10:37:45 +0800 CST2009-07-07 10:37:45 +0800 CST 2009-07-07 10:37:45 +0800 CST 通过 VPN 连接什么是远程服务器 IP? 772 我正在成功连接到 VPN,现在我想使用 MySQl Administrator 连接到服务器上的 MySQL 数据库。我不知道在服务器主机地址中放什么。 服务器上有一个使用 localhost 连接的 PHP 脚本。我如何通过 VPN 找出 localhost 的真正含义? 我可能以一种非常愚蠢的方式问这个问题 - 对此感到抱歉。这正好在我知识的边缘。 vpn mysql php 2 个回答 Voted Best Answer mit 2009-07-07T12:37:43+08:002009-07-07T12:37:43+08:00 Alex,localhost 是解析为存在于任何具有连接的机器上的本地环回适配器的名称,它的地址是 127.0.0.1 - 所以如果客户端连接到“localhost”上的服务,这意味着它连接到本地端口机器。 服务器还有一个公共地址,分配给“真正的”网络适配器,比如说 123.123.123.123 - 你和全世界都可以通过这个地址访问你的服务器,但只能访问这个适配器的端口。出于安全考虑,mysql 3306 端口默认只对本地环回适配器 127.0.0.1 开放。 VPN 隧道将在您的本地计算机和服务器之间创建一个虚拟但安全的连接。在这种情况下,您的服务器以及您的本地机器将具有额外的虚拟网络适配器。假设您的服务器在隧道末端有 10.10.10.1 和本地计算机 10.10.10.2。 如果您从本地计算机 ping 10.10.10.1,服务器应该会应答。(在这种情况下 10.10.10.1 是主机的地址,可以回答您的问题)。但是mysql端口可能仍然没有在这个接口上监听,因为它只监听127.0.0.1——你可以在mysql服务器设置中改变这个,但要确保它不会监听公共IP。 10.10.10.x 只是一个例子,但是如何找到真正的地址呢? 在您的本地计算机和服务器上打开一个终端窗口。在服务器上键入“ifconfig”,在 Windows 机器上键入“ipconfig”(第二个字符中的拼写 idffer),机器会告诉您所有适配器的地址。您现在可以看到哪一个是两台机器上的附加 vpn 适配器(它们具有相似的地址)。 如果您不想更改 serer 的设置,您可以“转发”端口,这是一种不同的技术,可以使用 ssh 或 putty 完成。您必须从本地计算机到服务器建立 ssh 或 putty 连接,并将 IP 127.0.0.1 上的端口 3306 从服务器转发到本地计算机。 如果您使用的是 putty,请转到 ssh 隧道部分并添加本地端口转发 127.0.0.1:3306 - 如果您使用的是 ssh,这是命令: ssh -l 远程用户名 -L 3306:127.0.0.1:3306 your.servername.com 在 ssh 或 putty 连接处于活动状态后,您必须告诉您的 mysql 管理软件连接到 localhost(因此您将 127.0.0.1 或单词 localhost 作为服务器主机),因为端口已转发并且现在出现在 127.0 上的本地计算机上.0.1 - 这是 ssh 协议可以做的端口转发技术的结果。确保不要同时在本地机器上运行 mysql 服务。 您提到在创建隧道时断开了与服务器的连接。这可能是隧道软件的安全限制。但是您仍然应该能够使用 mysql 管理工具通过隧道进行连接。 radius 2009-07-07T10:59:18+08:002009-07-07T10:59:18+08:00 如果你不知道服务器 IP,你怎么知道有一个使用 localhost 的 PHP 脚本?如果您对服务器具有 ftp/ssh/web 访问权限,请使用与用于 ftp/ssh/http 的 IP 相同的 IP 连接到 mysql。 但可能是 mysql 只在本地侦听,在这种情况下,您需要使用 ssh 连接到服务器并在本地运行 mysqladmin(或者您可以使用 phpmyadmin 之类的东西)
Alex,localhost 是解析为存在于任何具有连接的机器上的本地环回适配器的名称,它的地址是 127.0.0.1 - 所以如果客户端连接到“localhost”上的服务,这意味着它连接到本地端口机器。
服务器还有一个公共地址,分配给“真正的”网络适配器,比如说 123.123.123.123 - 你和全世界都可以通过这个地址访问你的服务器,但只能访问这个适配器的端口。出于安全考虑,mysql 3306 端口默认只对本地环回适配器 127.0.0.1 开放。
VPN 隧道将在您的本地计算机和服务器之间创建一个虚拟但安全的连接。在这种情况下,您的服务器以及您的本地机器将具有额外的虚拟网络适配器。假设您的服务器在隧道末端有 10.10.10.1 和本地计算机 10.10.10.2。
如果您从本地计算机 ping 10.10.10.1,服务器应该会应答。(在这种情况下 10.10.10.1 是主机的地址,可以回答您的问题)。但是mysql端口可能仍然没有在这个接口上监听,因为它只监听127.0.0.1——你可以在mysql服务器设置中改变这个,但要确保它不会监听公共IP。
10.10.10.x 只是一个例子,但是如何找到真正的地址呢?
在您的本地计算机和服务器上打开一个终端窗口。在服务器上键入“ifconfig”,在 Windows 机器上键入“ipconfig”(第二个字符中的拼写 idffer),机器会告诉您所有适配器的地址。您现在可以看到哪一个是两台机器上的附加 vpn 适配器(它们具有相似的地址)。
如果您不想更改 serer 的设置,您可以“转发”端口,这是一种不同的技术,可以使用 ssh 或 putty 完成。您必须从本地计算机到服务器建立 ssh 或 putty 连接,并将 IP 127.0.0.1 上的端口 3306 从服务器转发到本地计算机。
如果您使用的是 putty,请转到 ssh 隧道部分并添加本地端口转发 127.0.0.1:3306 - 如果您使用的是 ssh,这是命令:
ssh -l 远程用户名 -L 3306:127.0.0.1:3306 your.servername.com
在 ssh 或 putty 连接处于活动状态后,您必须告诉您的 mysql 管理软件连接到 localhost(因此您将 127.0.0.1 或单词 localhost 作为服务器主机),因为端口已转发并且现在出现在 127.0 上的本地计算机上.0.1 - 这是 ssh 协议可以做的端口转发技术的结果。确保不要同时在本地机器上运行 mysql 服务。
您提到在创建隧道时断开了与服务器的连接。这可能是隧道软件的安全限制。但是您仍然应该能够使用 mysql 管理工具通过隧道进行连接。
如果你不知道服务器 IP,你怎么知道有一个使用 localhost 的 PHP 脚本?如果您对服务器具有 ftp/ssh/web 访问权限,请使用与用于 ftp/ssh/http 的 IP 相同的 IP 连接到 mysql。
但可能是 mysql 只在本地侦听,在这种情况下,您需要使用 ssh 连接到服务器并在本地运行 mysqladmin(或者您可以使用 phpmyadmin 之类的东西)