2015-09-28 90 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

相關問題