代码之家  ›  专栏  ›  技术社区  ›  dalf

如何与私有子网中的实例共享VPN连接?

  •  -2
  • dalf  · 技术社区  · 8 年前

    我创建了两个实例:

    • 虚拟机-A 在公用子网中
    • VM-B型 在专用子网中

    我遵循这本指南,可以使它工作。 VM-B型 可以访问互联网(通过 虚拟机-A )以下内容: https://aws.amazon.com/premiumsupport/knowledge-center/vpc-nat-instance/

    打开 虚拟机-A 我已经设置了OpenVPN,它可以连接到我们办公室的VPN服务器。

    现在我想要 VM-B型 能够使用的VPN连接 虚拟机-A 去我们办公室的机器,但我找不到一种方法。

    我想我知道它为什么不起作用,因为在 VM-B型 我有:

    Destination    Target
    10.0.0.0/16    local
    0.0.0.0/0      eni-xxxx
    

    网络接口ENI XXXX属于 虚拟机-A .所以交通正往那里走。

    相反,我想添加这样的内容,但似乎不可能,因为“tun0”不是有效的资源ID:

    Destination
    10.100.7.2 (network in our office accessible via VPN)
    
    Target
    tun0 (the network interface created by OpenVpn)
    

    关于如何解决这个问题有什么建议吗?

    附加问题: 使用“路由添加”命令添加路由是一个好的实践,还是在vpc仪表板中使用Web界面“路由表”更好?

    1 回复  |  直到 8 年前
        1
  •  1
  •   dalf    8 年前

    我找到了解决办法。我错过了防火墙上伪装地址的规则。 以下内容:

    # the subnet of VM-B is 10.0.30.0/24
    $ sudo iptables -t nat -A POSTROUTING -o tun0 -s 10.0.30.0/24 -j MASQUERADE
    
    推荐文章