好的,我有下面的设置(除了上一跳之外,所有的东西都是QubesOS内部的VM,但是大概也适用)
--表示“虚拟以太网卡”连接
==表示物理以太网卡连接(从Qubes主机物理网卡到windows XP盒的交叉电缆)。
Windows-7-VM--ProxyVM--NIChostVM==WindowsXP-USB-share
我想要的是通过法布拉特赫的usb共享软件端口33000传递一个USB。
因此,我需要做的是让iptables规则在win-7vm和WindowsXP共享之间正确地传递通信量。
为了我的生命,我弄不明白。
如果我通过网卡到ProxyVM,我就能让交通畅通。
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然而,试图想出一些能在机器链较长的情况下工作的东西,会导致回复丢失(以及设备共享的奇怪错误行为)。
当然,我可以忍受NIC被传递到proxyvm,但考虑到它连接到windows机器,我宁愿它位于一个单独的VM中。
哦,实验表明,Fabulatech的东西使用源/目的IP进行一些基本的身份验证(即使身份验证是禁用的)。
所以我需要以下几点:
通过一个由四台机器组成的链通过端口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's IP视为“源”,而windows 7将windows XP的IP视为“源IP”。
这可能会涉及到一些SNAT和策略路线,坦率地说,我已经疯了。
P.S.:
Windows 7 IP为10.137.4.22
linux主机1是windows 7和linux- host -2的默认网关。
linux主机2 IP为10.137.4.4
NIC for XP的连接连接到linux主机2,IP为192.169.1.2
Windows XP的IP为192.169.1.1
发布于 2017-07-21 04:30:21
我越看这个,你的问题就是缺少静态路线。让我们明确一点,不需要NAT规则来完成这一任务。
但是,它与中间的VMProxy一起工作的原因是因为所有的机器都知道如何找到彼此。XP是VM代理的默认网关。Windows 7具有通往其他VMProxy接口的默认网关。VMProxy是直接连接到网络和瞧,他们可以通信。
当添加更多具有多个接口的机器时,必须设置静态路由。任何需要与不直接连接且无法通过默认网关访问的网络通信的系统都需要静态路由设置,即如果您想到达x.x网络,下一跳是y。Y.Y是下一个可以到达目标网络的最近接口的IP地址。
我会说得更具体些,但你在你的信息中至少遗漏了一个IP地址。
https://serverfault.com/questions/863353
复制相似问题