2015-09-28 72 views
0

我正在尝试创建一个虚拟测试环境。为了测试的目的,我打算将udp数据包发送到在虚拟机内运行的应用程序。我想控制应用程序收到数据包的源IP地址。通过虚拟机中的多个接口进行多端口转发

我尝试过不同的无业游民配置:

config.vm.network "forwarded_port", guest: 1111, host: 11111, adapter: 2 

config.vm.network "forwarded_port", guest: 1111, host: 11111, host_ip: "x.x.x.x" 

,但没有成功。

在我看来,这只能由流浪者独自解决。不幸的是,我完全不熟悉iptables/route。

让我更详细地解释问题: 理想的情况是能够从虚拟环境本身发送它 - 应用程序正在侦听某个端口P,然后测试脚本将数据发送到host1:port1,并且它通过一个接口和应用程序将其源IP视为1.1.1.1,并且当脚本将数据包发送到host2:port2时,应用程序将其视为来自2.2.2.2。

保持它的虚拟环境中是好的,因为我可以在QA本地计算机只使用图像和建立服务器,因为它包含了一切。

如果此配置是不可能的(虽然我不知道为什么),配置虚拟框有2个(或以上),通过不同的接口转发端口,因此在不同的源地址的数据包发送给他们的结果。

回答

0

这部分取决于您想要生成的唯一源地址的数量。仅使用流浪者,您可以将测试环境中的多台计算机配置为专用网络的一部分,并将一台计算机选为应用程序服务器,将其他计算机选为客户端。这有利于您为每个客户端配置不仅仅是不同的IP地址。

但是,如果您希望生成范围广泛的源IP地址,这些IP地址超出了您可以运行的VM客户端的数量,则可以查看ifconfig以在主机的虚拟接口上创建VLAN并测试DNS或者测试环境中的单个虚拟机。

+0

2-3就足够了。你能提供一个配置示例吗? – ilj

相关问题