我有一个使用网络的 VPC10.10.0.0/16
和公共子网 ( 10.10.0.0/24
) 中的 VPN 服务器。VPN 使用10.11.254.0/24
范围内的地址。当我连接到 VPN 时,我可以访问公共子网和私有子网 ( 10.10.1.0/24
) 中的主机,所以我相信我已经正确设置了路由表,可以通过 VPN 服务器发送回 VPN 的数据包。我已禁用 VPN 服务器上的源/目标检查(这也是访问网络中其他主机所必需的)。
AmazonProvidedDNS 服务器似乎在 VPC 内正常工作;我可以dig @10.10.0.2 ip-10-10-1-215.ec2.internal
从 VPC 中的主机运行,并且得到预期的响应。
dig
但是,如果我从连接到 VPN 的可能笔记本电脑上运行相同的命令,我没有得到任何响应。
通过在 vpn 服务器上运行 tcpdump,我看到A?
来自我的 VPN 地址的数据包,转到10.10.0.2
,但我没有看到任何响应返回。我需要做些什么来使 DNS 服务器能够回答来自 VPC 地址范围之外的请求吗?
这听起来像是不寻常的方法,但鉴于他们实施的内部/外部拆分分辨率魔法,我可以理解为什么它是有道理的(现在我考虑了一下)。
EC2 DNS 解析器不太可能回答来自外部 IP 地址的请求,但应该有一个简单的解决方法。
例如,如果您在 vpn 上的 IP 地址是 192.168.2.*,那么,在 VPC 中的 vpn 服务器上...
这会在网络地址转换表中添加一条规则,以便在对从指定源块到指定目标块的数据包做出路由决策后,它不会像往常一样只是转发数据包,而是会剥离您的 IP 并添加自己的IP 作为源地址,它会记住请求。当响应返回时,地址是 vpn 服务器的 IP,它会再次重写地址(目的地,这次是您的地址)并将响应发送回给您。
那应该完成你想要的。
您可以启动一个微型实例,并将其用作 udp 代理。