我们想要一个测试云虚拟网络,它允许我们在多个虚拟设备上进行 snmp-get。为此,我正在使用GNS3。现在,我们刚刚在 EC2(Ubuntu 18)上部署了 GNS3 服务器,但我们无法 ping 或 snmp 获取 GNS3 服务器之外的任何路由器。当我们在 GNS3 服务器中时,我们可以 ping 这些设备,但这在另一台服务器或我的计算机上不起作用。
GNS3 服务器已经创建和部署。VPG、站点到站点 VPN 和 VPC 已创建,并且服务器已添加到此 VPC。
我们想要一个测试云虚拟网络,它允许我们在多个虚拟设备上进行 snmp-get。为此,我正在使用GNS3。现在,我们刚刚在 EC2(Ubuntu 18)上部署了 GNS3 服务器,但我们无法 ping 或 snmp 获取 GNS3 服务器之外的任何路由器。当我们在 GNS3 服务器中时,我们可以 ping 这些设备,但这在另一台服务器或我的计算机上不起作用。
GNS3 服务器已经创建和部署。VPG、站点到站点 VPN 和 VPC 已创建,并且服务器已添加到此 VPC。
经过几周的研究,我们的团队找到了解决方案,如果有人遇到同样的问题,请考虑 AWS 配置中的以下要点:
设置 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 设备(此处有更详细的说明)。此外,您可能想要测试从服务器 B 到服务器 A 中的虚拟设备(在我的例子中是路由器)的 SNMP-WALK。
如果这不起作用,请尝试使用AWS 中的流日志进行调试,并查看服务器 A 是否有效接收请求。