通过VPN从Linux上运行的nodejs访问Windows服务器上的数据库

时间:2017-03-18 14:30:58

标签: node.js linux vpn openvpn

我在当前的项目中迷失了方向。从linux机器(Ubuntu服务器),在nodejs中运行代码,我必须通过VPN连接到Windows服务器,并访问在其上运行的mySQL服务器。

关于VPN服务器我只知道它的Windows,我可以通过在另一台Windows机器上使用VPN连接器轻松连接到它,我无法访问该机器或了解其参数。

我所拥有的只是该VPN内部的VPN和数据库服务器的IP,以及VPN和数据库的用户名/密码。我也知道VPN使用ms-chap v2

我试图像这样使用openvpn:

sudo openvpn --remote vpnIP --dev tun --ifconfig 127.0.0.1 dbIP

这不显示任何错误消息,但从不请求VPN的用户名/密码

创建VPN后,我应该如何从nodejs访问数据库?

正如我所说,我很失落!欢迎任何提示!

2 个答案:

答案 0 :(得分:3)

除非指定其他内容,否则基于Windows的VPN几乎总是使用PPTP。您无法与OpenVPN连接。您必须使用PPTP客户端。

Ubuntu包是pptp-linux。 有关如何配置here的详细说明。

简而言之(我假设您在服务器上没有GUI), 你可以用:

创建一个隧道
pptpsetup --create my_tunnel --server <server_address> --username <username> --password '<password>' --encrypt

将在/etc/ppp中创建配置文件。然后,您可以使用以下命令连接(在调试模式下)

pon my_tunnel debug dump logfd 2 nodetach

或简单地说(一旦它起作用):

pon my_tunnel

并以:

停止
poff my_tunnel

如果服务器是网关,您可能需要添加路由,例如:

ip route add 192.168.1.0/24 dev ppp0

答案 1 :(得分:1)

您可能需要网络管理员,插件 network-manager-pptp ,另请参阅此Wiki https://help.ubuntu.com/community/VPNClient#PPTP