有各种页面建议在 Amazon EC2 上设置 Open VPN 服务器,但我只需要设置一个客户端(因此任何互联网访问都通过 VPN 路由,而不是直接来自 AWS IP)。我可以将 .ovpn 文件传输到它并启动它
openvpn --config client.ovpn
但是一旦我这样做,我就会失去我的 ssh 连接,因此无法对它做任何事情。广泛搜索并发现各种声称绕过某些端口或某些 IP 地址的建议。两者都可以,即我很高兴在其运行时被限制为通过 ssh 连接的某些 IP。
但是,这些似乎都不适用于 Amazon 环境,例如,请参阅Amazon EC2 上的 OpenVPN 客户端。它是一个新实例,因此如果有帮助,请位于 VPC 中。
就我而言,执行以下成功启动了 openvpn 连接,而不会丢失 ssh 功能:
例子
其中以下 ip
host
是我们办公网络的公共 IP(您可以通过在您自己的 PC 上的 Google 中输入“what's my ip”来获取此信息),以下 ipgw
是 ec2 实例的网关 IP(见第一行第二列netstat -anr
您在 AWS 服务器上执行它时的输出)。在执行上述操作之前和之后检查上报的公共 ip 表明它已经从上报为我们的普通 IP 地址变为上报为 VPN 服务器的 IP 地址。
可以在此处找到更多背景信息: 防止在服务器机器上登录 VPN 后丢失 SSH 连接
在我的情况下,我只需要通过 VPN 连接路由某个 IP,所以我将这些行添加到 OpenVPN 的配置文件中:
接着:
取自https://serverfault.com/a/747828和https://superuser.com/a/628488