我正在尝试创建一个虚拟测试环境。为了测试的目的,我打算将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个(或以上),通过不同的接口转发端口,因此在不同的源地址的数据包发送给他们的结果。
2-3就足够了。你能提供一个配置示例吗? – ilj