有关iptables DNAT / REDIRECT到本地的信息

我使用的是基于Xen微内核的Qubes操作系统 ,它使您可以轻松运行多个虚拟机,并划分您的数字生活。 所有域默认连接(通过虚拟接口)连接到NetworkVM的FirewallVM,该机器pipe理您的网卡并提供真正的Internet连接。

我试图redirect(在FirewallVM上)来自某些域的DNS请求到本地DNScaching服务器(而不是NetworkVM),我发现我必须使用DNATredirect外部请求(通过一个ApplicationVM进入虚拟接口)到本地主机,如在这里解释: iptablesredirect外部请求到127.0.0.1 :

 iptables -t nat -A PREROUTING -i vifX -p udp --dport 53 -j DNAT --to-destination 127.0.0.1:5353 

关键是,当我使用像Debian这样的系统,没有虚拟机,例如,通过本地代理,如Privoxy(运行在127.0.0.1)redirectHTTPstream量,我可以使用REDIRECT

 iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8118 

我不明白为什么这不适用于我的实际情况,因为在这两种情况下,我们都在谈论外部数据包,来自networking卡在一种情况下,从虚拟接口在另一个需要redirect到一个本地端口。
有没有这种行为可能是接口特定的机会?