我们是一家小型软件开发公司,将 Amazon EC2 Windows 实例设置为工作站,开发人员可以远程桌面并处理源代码。
我们有一个客户端网络(位于 PPTP VPN 服务器后面),需要经常访问该网络来部署软件和支持现有系统。我们只能为每个用户名连接一次 VPN,并且无法为每个开发人员创建一个新用户名。使用 IPSec 防火墙然后使用 VPC 网关也不行。底线:我想与我的所有开发人员工作站实例共享一个 PPTP VPN 连接。
最初,我曾考虑设置一个非常强大的单个 Windows 实例(有效地将所有开发人员工作站合并为一个),并配置一个可由该实例上的所有用户共享的 Windows PPTP 连接。不幸的是,我们遇到了问题,其中最烦人的是当 VPN 连接断开时,该实例将无法访问。这是一个已知问题,我尝试了 Amazon 支持论坛上几个主题中的建议,但运气不错。该问题导致计算机上的所有用户都丢失了他们的工作,因为必须重新启动该实例。此外,让开发人员使用自己的实例的目的是将任何问题集中到仅影响一个用户。
因此,我决定尝试设置一个小型 EC2 Linux 实例,作为 PPTP VPN 连接的路由器/网关。我可以让 Linux 机器毫无问题地连接到 PPTP 服务器...我可以通过连接获得流量,看起来很棒。我按照以下步骤 1 - 4 进行操作:http://pptpclient.sourceforge.net/howto-debian.phtml#configure_by_hand并且可以通过“pppd call ClientVPN”轻松建立连接(我将连接命名为 ClientVPN)。
最后一步是获取我的其他实例(Windows 开发人员工作站),以便它们可以使用小型 Linux 路由器/网关访问客户端网络上的主机。我遵循了在互联网上找到的几个不同的指南,但无法使其正常工作。我所做的基本更改如下所述:http://www.sharms.org/blog/2008/11/how-to-share-a-vpn-connection-in-ubuntu-intrepid-ibex/
有人能帮我吗……我觉得它应该可以正常工作。我已配置 EC2 安全组,允许我的实例之间的所有流量。客户端实例可以 ping linux 网关,反之亦然。我已将服务器连接到 VPN,进行了 iptables 更改,启用了 ip 转发,并且客户端实例已定义指向客户端 ip 范围的 linux 实例的路由……不确定我还遗漏了什么……
我的情况如下:
EC2 网络(开发实例和 Linux 网关):10.xxx
客户端网络:192.168.20.x
客户端 VPN 网络:192.168.10.x
(Windows 实例)==>(Linux 网关实例)==>(INTERNET)==>(客户端网络)
我的机器:
VPN网关:
- eth0——10.0.0.1
- ppp0 - 192.168.10.101(连接后)
win-dev-A:10.0.0.2
win-dev-B:10.0.0.3
... ETC。
客户端机器:
客户端-VPN-服务器:
外部:互联网 IP
内部:192.168.10.100
客户端机器(我们需要访问):
- 192.168.20.x
我尝试从开发实例进行 tracert ,但它在经过几个跳转后就超时了(并且没有在它经过的服务器列表中显示我的 linux-gateway)
任何帮助都将不胜感激...我已经为此绞尽脑汁好几天了,已经没什么主意了。
谢谢,
克里斯
答案1
如果您已经在 Linux 机器上设置了路由,那么只需向桌面机器添加一条路由,这样任何到 192.168.0.0 网络的流量都会通过 Linux 机器路由。
route add 192.168.0.0 mask 255.255.255.0 10.0.0.1 metric 3 if 1
您可能需要修改度量和接口(如果是参数)。