我在同一个 VPC 中有两个实例:Linux(172.31.25.177)和 Windows(172.31.26.178)。我为这两个 IP 地址打开了安全组中的所有端口,它们可以互相连接。
Windows 已连接到本地 VPN 设备。我想通过 Windows 将数据包从 Linux 路由到我的站点。
我已经在 Windows 上设置了 RRAS,并将其内部 IP 指定为 Linux 中我的站点网络 (10.98.0.0/16) 的网关。
root@ip-172-31-25-177:~# ip route show
default via 172.31.16.1 dev eth0
10.98.0.0/16 via 172.31.26.178 dev eth0
但是当我尝试连接站点资源时,我发现没有从 Linux(172.31.25.177)到达 Windows 的数据包。
我需要在 VPC 上进行什么配置才能使其工作?
答案1
您需要向 VPC 的主路由表对象添加路由。
在 Web 控制台中,转到VPC管理页面并点击路由表如左侧菜单所示。选择主路由表(是的在下面主要的)。在页面下方点击航线选项卡,您将看到路线列表。点击蓝色编辑选项卡。点击添加另一条路线在列表下方输入您的 CIDR 子网目的地. 在目标。 点击节省当你确定一切都正确时。回到EC2 实例页面选择 Windows 实例。转到操作>>网络>>更改源/目标检查。 禁用 源/目标检查所以它允许数据包往返于 Linux 实例。
答案2
您必须修改 VPC 路由表。您需要向站点子网添加静态路由并使用 Windows 的 IP 作为网关。Windows 实例需要将源/目标检查设置为 False。您的路由表将如下所示:
172.31.0.0/16 local Active No
0.0.0.0/0 igw-xxxxxxxx Active No <-- this is your VPC internet gateway ID
10.98.0.0/16 eni-xxxxxxxx / i-xxxxxxxx Active No <-- this is windows instance
其余一切都将管理 AWS。