Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 当我尝试连接到VPN服务提供商(NordVPN)时,失去对Google Compute Engine中VM实例Debian 9的控制_Google Cloud Platform_Google Compute Engine_Vpn_Openvpn - Fatal编程技术网

Google cloud platform 当我尝试连接到VPN服务提供商(NordVPN)时,失去对Google Compute Engine中VM实例Debian 9的控制

Google cloud platform 当我尝试连接到VPN服务提供商(NordVPN)时,失去对Google Compute Engine中VM实例Debian 9的控制,google-cloud-platform,google-compute-engine,vpn,openvpn,Google Cloud Platform,Google Compute Engine,Vpn,Openvpn,当我尝试连接到VPN服务提供商(NordVPN)时,会失去对Google Compute Engine中VM实例Debian 9的控制 我有一个与NordVPN的活动订阅,我一直使用这个VPN没有任何问题,无论是从Windows、从Mobile还是从Linux本地虚拟机。 现在,我发现自己正在一个项目中,在谷歌云中的不同VM Debian 9机器上使用它。 我安装了客户端(测试是使用供应商的定制客户端和带有供应商服务器列表的openVPN完成的),但是当我在VM和VPN之间连接时,我失去了对机器

当我尝试连接到VPN服务提供商(NordVPN)时,会失去对Google Compute Engine中VM实例Debian 9的控制

我有一个与NordVPN的活动订阅,我一直使用这个VPN没有任何问题,无论是从Windows、从Mobile还是从Linux本地虚拟机。 现在,我发现自己正在一个项目中,在谷歌云中的不同VM Debian 9机器上使用它。 我安装了客户端(测试是使用供应商的定制客户端和带有供应商服务器列表的openVPN完成的),但是当我在VM和VPN之间连接时,我失去了对机器的控制,终端挂起。如果改用本地VM,则不会出现此问题。 我无法再从内部地址和外部地址ping它。 前提是我不是网络高手。 该测试在创建VM时启用和禁用了IP转发的情况下完成

我只在网上找到在GCP内创建VPN服务器的材料,但这不是我的情况。 我的情况是虚拟机是客户端,VPN服务器是外部的

毫无疑问,我相信这种情况是可能的,但我无法理解我必须输入有关本地VM的进一步设置


谢谢大家。

似乎VPN客户端正在从您的VPN提供商接收网络路由,因此VM正在通过VPN路由所有流量,因此所有入站连接都将断开

正如您所描述的,一旦网络访问不可用,您最好的机会是与串行控制台交互[1],以了解VM内部的情况。在[1]中,您可以逐步了解如何通过Google云平台面板使用串行控制台访问VM

现在,在GCP中(通常情况下),所有VM只有一个vNIC,所有流量都是通过该vNIC路由的。当您将VM连接到NordVPN时,将创建一个新的网络设备(tun)。如果您的默认路由[4]设置为将所有默认流量发送到您的tun(NordVPN)而不是GCP的vNIC,则当新的同步[5]请求到达您的虚拟机时,您的虚拟机将通过网卡tun(NordVPN)而不是ETH0(谷歌虚拟机)发送ACK应答。由于连接未通过NordVPN启动,NordVPN将断开连接

我解释的行为完全是意料之中的,因为您希望所有来自VM的流量都转到NordVPN,这样您就可以匿名上网。缺点是您的VM将无法接收传入流量

[1]

[2]

[3]

[4]

[5]


[6]

似乎VPN客户端正在从您的VPN提供商接收网络路由,因此VM正在通过VPN路由所有流量,因此所有入站连接都被丢弃

正如您所描述的,一旦网络访问不可用,您最好的机会是与串行控制台交互[1],以了解VM内部的情况。在[1]中,您可以逐步了解如何通过Google云平台面板使用串行控制台访问VM

现在,在GCP中(通常情况下),所有VM只有一个vNIC,所有流量都是通过该vNIC路由的。当您将VM连接到NordVPN时,将创建一个新的网络设备(tun)。如果您的默认路由[4]设置为将所有默认流量发送到您的tun(NordVPN)而不是GCP的vNIC,则当新的同步[5]请求到达您的虚拟机时,您的虚拟机将通过网卡tun(NordVPN)而不是ETH0(谷歌虚拟机)发送ACK应答。由于连接未通过NordVPN启动,NordVPN将断开连接

我解释的行为完全是意料之中的,因为您希望所有来自VM的流量都转到NordVPN,这样您就可以匿名上网。缺点是您的VM将无法接收传入流量

[1]

[2]

[3]

[4]

[5]


[6]

感谢阿曼多的解释和提供的资料。我不明白的是:我可以按照你给我的材料来解决这个问题吗?或者在GCP中没有办法解决它?我尝试使用串行端口登录,事实上我看到VM连接到NordVPN网络,但从SSH外壳总是无法访问。在串行控制台中,我可以看到日志Sep 5 14:40:21 instance-micro-1 kernel:[2299.365740]IPv4:martian source 10.128.0.20 from 74.121.75.161,在dev eth0上,74.121.75.161是我用来打开SSHT的PC,预期会出现这种行为。使用类似NordVPN的VPN的目标是通过安全通道发送所有流量。缺点是无法获取传入流量(从外部到VM)。一个好的解决方案是创建一个BASTION主机(),这样您就可以从BASTION主机访问您的VM。记住不要将堡垒连接到NordVPN。感谢Armando的解释和提供的资料。我不明白的是:我可以按照你给我的材料来解决这个问题吗?或者在GCP中没有办法解决它?我尝试使用串行端口登录,事实上我看到VM连接到NordVPN网络,但从SSH外壳总是无法访问。在串行控制台中,我可以看到日志Sep 5 14:40:21 instance-micro-1 kernel:[2299.365740]IPv4:martian source 10.128.0.20 from 74.121.75.161,在dev eth0上,74.121.75.161是我用来打开SSHT的PC,预期会出现这种行为。使用类似NordVPN的VPN的目标是通过安全通道发送所有流量。缺点是无法获取传入流量(从外部到VM)。一个好的解决方案是创建一个BASTION主机(),这样您就可以从BASTION主机访问您的VM。记住不要将堡垒连接到NordVPN。