AWS OpenVPN 路由

AWS OpenVPN 路由

我有一个 OpenVPN AS 实例 (AWS)。我正尝试将流量从我的 VPC (172.31.10.0/20) 路由到家庭 (192.168.5.0/24)。

什么有效:我可以将所有流量从家里(192.168.5.0/24)通过 192.168.5.4 路由到 172.31.10.0/20

ROUTE: ANY Source to Dest 172.31.10.0/20 via 192.168.5.4 

什么不起作用:我无法将所有流量从 AWS (172.31.10.0/20) 通过 172.31.10.5 路由到 192.168.5.0/24

例如,我无法从 172.31.10.15(Win Server AWS)ping 到 192.168.5.4(RasPi OpenVPN 客户端)。当我从 172.31.10.5(OpenVPN 服务器)执行 tcpdump 来获取 ping 数据包时,什么也没得到。

ROUTE: Dest 192.168.5.0/24 via 172.31.10.5

我已采取哪些措施来解决问题

-OpenVPN 服务器目标检查已禁用

-VPC,路由表,我通过目标 OpenVPn 服务器实例 172.31.10.5 创建了到 192.168.5.0/24 的路由。见截图

在此处输入图片描述


来自 AWS OpenVPN 服务器 172.31.10.5 的路由表(无法到达 192.168.5.4):

默认通过 172.31.10.1 dev eth0:172.27.224.0/21 dev as0t0 proto 内核范围链接 src 172.27.224.1

172.27.232.0/21 dev as0t1 proto 内核范围链接 src 172.27.232.1

172.31.10.0/20 dev eth0 proto 内核范围链接 src 172.31.10.5

192.168.5.0/24 dev as0t1 原始静态

来自家庭 OpenVPN 客户端 192.168.5.4 的路由表(可以到达 172.31.10.0/20):

默认通过 192.168.5.254 dev eth0 onlink

13.59.64.181 通过 192.168.5.254 dev eth0

172.27.224.0/20 通过 172.27.232.1 dev tun0 指标 101

172.27.232.0/21 dev tun0 proto 内核范围链接 src 172.27.232.5

172.31.0.0/16 通过 172.27.232.1 dev tun0 指标 101

192.168.5.0/24 dev eth0 proto 内核范围链接 src 192.168.5.4

答案1

答案2

乍一看,你可能忘记了更新 VPN 服务器的安全组以接受来自 VPC 中其他实例的流量为了测试,您可以编辑 AWS VPN 实例所在的安全组并添加一条允许来自 172.31.10.0/20 的所有流量的规则。

我认为这就是问题所在,因为安全组充当了状态防火墙。这意味着当 AWS VPN 实例将流量从家庭发送到其他 AWS 实例时,安全组将自动允许返回流量。但是,当流量由 AWS 中的另一个实例发起并且目的地为您的家庭网络时,AWS VPN 实例的安全组中将没有规则允许流量。这就是为什么来自家庭的流量可以到达 AWS,但反向流量却不起作用的原因。

如果安全组不是问题您可以......

请在您的 VPC 配置中启用 VPC 流日志。这会将类似 netflow 的信息记录到 CloudWatch Logs。我们可以使用它来排除 AWS 端的流量故障。

您可以...吗深入研究哪些情况可行/不可行

  • 您能从 AWS VPN 实例 ping 通隧道的主端吗?

  • 您能从另一个 AWS 实例 ping 隧道的主端吗?

  • 您能从 AWS VPN 实例 ping 另一台家用机器吗?

  • 您能从另一个 AWS 实例 ping 另一台家用机器吗?

包括从另一个 AWS 实例到另一台家用机器的跟踪路由。

答案3

如果 IP 范围超出其 CIDR 块,VPC 会丢弃数据包。使用 OpenVPN 和 Transit Gateway 中的路由方法设置 VPC 路由。

相关内容