如何在不授予任何 Internet 访问权限的情况下运行 Windows 程序?

0xC*_*22L 2 wine

所以我在 Linux 上有 CrossOver,但由于这基本上是我也帮助 Wine 人员的项目,并且几乎所有的基础知识都适用于两者,我在下询问。

是否可以在 Wine 下启动 Windows 程序,使其根本无法访问 Internet?

到目前为止,当谈到这一点时,我两手空空。我正在考虑编写自己的共享对象,以便通过这种方式进行修补,LD_PRELOAD但无论如何,这种事情在这里都是题外话。

从纯用户的角度来看,有什么方法可以实现我想要的吗?内核名称空间可以以任何方式用于此目的吗?

Art*_*nov 5

我可以想到这种复杂的方法:创建一个单独的用户帐户,例如 wineuser 并在其下运行您的 Windows 应用程序。您可能希望在您的用户帐户下运行此命令:(xhost +SI:localuser:wineuser以允许 wine 用户访问您的图形会话)并在 wine 帐户下导出 DISPLAY 变量,例如export DISPLAY=:0

要限制此用户访问 Internet,请运行此命令/添加此 iptables 规则:

iptables -I OUTPUT -m owner --uid-owner wineuser -j DROP
Run Code Online (Sandbox Code Playgroud)

(或者您可以使用 REJECT 而不是 DROP)。


您也可以尝试 OpenSnitch:https ://itsfoss.com/opensnitch-firewall-linux/或 LAF(Linux 应用程序防火墙):https : //github.com/matrix-ac/LAF