3+跃点端口转发,iptables和两个Windows机器(1个Windows VM),Qubes操作系统

好吧,我有以下设置(除了最后一跳之外的所有内容都是QubesOS中的虚拟机,但是可能适用于Linuxnetworking的考虑事项)

– 表示“虚拟以太网卡”连接

==表示物理以太网卡连接(从Qubes主机物理网卡到Windows XP机箱的交叉电缆)

Windows的7-VM – ProxyVM – NIChostVM == WindowsXP的-USB股

我想要的是通过Fabulatech的USB共享软件端口是33000

所以我需要做的是让iptables规则在Win-7虚拟机和WindowsXP-USB-share之间正确传递stream量

对于我的生活,我无法弄清楚。

如果我通过网卡到ProxyVM,我可以获得stream量

Windows的7-VM – ProxyVM == WindowsXP的-USB股

在这个简化的设置中,所有需要的是ProxyVM中的以下规则:

ifconfig enp0s0f6 up ifconfig enp0s0f6 192.169.1.2 ifconfig eth1 netmask 255.255.255.0 DNAT --to-destination 10.137.77.2:33000 iptables -I FORWARD -s 10.137.4.22 -d 192.169.1.1 -j ACCEPT iptables -I FORWARD -d 10.137.4.22 -s 192.169.1.1 -j ACCEPT iptables -I INPUT -s 192.169.1.1 -d 192.169.1.2 -j ACCEPT 

然而,试图想出一些能够在机器链较长的情况下工作的结果会导致回复丢失(以及设备被共享的奇怪的不良行为)

当然,我可以生活在网卡传递给proxyvm,但考虑到它连接到Windows XP机器,我宁愿它坐在一个单独的虚拟机。

哦,实验表明,Fabulatech的东西使用源/目标IP进行一些基本的authentication(即使authentication被禁用)

所以我需要的是以下几点:

通过一个连接四台机器的端口33000

 (Windows 7)-(default gateway, aka Linux host 1)-(linux-host-2) | | [crossover link on a dedicated NIC of Linux host 2] | | (windows XP host) 

以这种方式,Windows XP主机“看到”Windows 7的IP作为“源”,Windows 7将Windows XP的IP视为所有回复中的“源IP”。

这可能会涉及一些SNAT和政策路线,坦率地说,我已经没有了智慧。

PS:

Windows 7 IP是10.137.4.22

linux主机1作为Windows 7和linux-host-2的默认网关

linux主机2的IP是10.137.4.4

XP的连接网卡连接到linux主机2,它的IP是192.169.1.2

Windows XP的IP是192.169.1.1

我越看这个,你的问题是缺less静态路由。 让我们清楚NAT规则不需要做到这一点。

但是,中间只有VMProxy的原因是因为所有的机器都知道如何find对方。 XP是VM代理的默认网关。 Windows 7具有到其他VMProxy接口的默认网关。 VMProxy直接连接到两个networking,瞧,他们可以沟通。

添加更多具有多个接口的机器时,您必须设置静态路由。 任何需要与不直接连接的networking进行通信的系统都需要一个静态路由设置,如果您希望到达xxxxnetworking,则下一跳是yyyyyyyy是下一个IP地址距离目标networking最近的接口。

我会更具体,但你至less有一个IP地址在您的信息。