AWS - 无法从另一台服务器 ping GNS3 路由器

AWS - Unable to ping GNS3 router from another server

我们想要一个测试云虚拟网络,允许我们在多个虚拟设备 上创建 snmp-get。为此,我使用 GNS3。现在,我们刚刚在 EC2 (Ubuntu 18) 上部署了一个 GNS3 服务器,但是我们无法 ping 或 snmp 获取 GNS3 服务器之外的任何路由器。当我们在 GNS3 服务器中时,我们可以 ping 这些设备,但这在其他服务器或我的计算机上不起作用。

GNS3 服务器已创建并部署。 VPG、站点到站点 VPN 和 VPC 已创建,服务器已添加到此 VPC。

经过几周的研究,我们的团队找到了解决方案,如果有人遇到同样的问题,请考虑您的 AWS 配置中的这些要点:

  1. 服务器 A (GNS3) 必须与服务器 B(您要 ping 的测试服务器)位于不同的子网中。
  2. 必须在指向 GNS3 ips 的 AWS 配置中创建 Route Table
  3. 使用以下说明在服务器 A 中配置 NAT(在我的例子中是 Ubuntu 18):

设置 IP 转发和伪装

    iptables --table nat --append POSTROUTING --out-interface ens5 -j MASQUERADE


    iptables --append FORWARD --in-interface virbr0 -j ACCEPT

启用内核转发包

echo 1 > /proc/sys/net/ipv4/ip_forward

应用配置

service iptables restart

这将允许从服务器 B 访问服务器 A 中的虚拟 GNS3 设备(更详细的解释 here)。此外,您可能想要测试从服务器 B 到服务器 A 中的虚拟设备(在我的例子中是路由器)的 SNMP-WALK。

如果这不起作用,请尝试使用 flow logs in AWS 进行调试并查看服务器 A 是否有效接收请求。