【问题标题】:how to share VPN connection to instances in private subnet?如何与私有子网中的实例共享 VPN 连接?
【发布时间】:2018-12-05 23:08:23
【问题描述】:

我创建了 2 个实例:

  • VM-A 在公共子网中
  • VM-B 在私有子网中

我遵循了本指南,并且可以使其发挥作用。 VM-B 可以访问互联网(通过VM-A):https://aws.amazon.com/premiumsupport/knowledge-center/vpc-nat-instance/

VM-A上,我设置了OpenVPN,它可以连接到我们办公室的VPN服务器。

现在我希望 VM-B 能够使用 VM-A 的 VPN 连接来访问我们办公室的机器,但我找不到方法怎么做。

我想我知道它为什么不起作用了,因为在 VM-B 的路由表中我有:

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

网络接口 eni-xxxx 属于 VM-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 界面“路由表”更好?

【问题讨论】:

    标签: amazon-web-services networking amazon-ec2 vpn


    【解决方案1】:

    我找到了解决方案。我在防火墙中缺少一条伪装地址的规则。 在 VM-A 上:

    # 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      • 2016-07-21
      • 1970-01-01
      • 2023-02-24
      • 1970-01-01
      相关资源
      最近更新 更多