如何阻止 Wine 应用程序的互联网访问?

如何阻止 Wine 应用程序的互联网访问?

如何阻止特定或任何 Wine 应用程序访问互联网?

在 Windows 下使用某些应用程序时,它们会不时地尝试访问互联网,而没有任何明显的原因。当时我能够使用个人防火墙阻止这种行为。不幸的是,到目前为止,我还没有在 Ubuntu 中找到应用程序级防火墙。当我在国外使用 3G 调制解调器进行数据漫游时,这尤其令人恼火。

答案1

有一个关于如何阻止任何特定程序访问互联网的很好的教程Ubuntu 论坛

脚步

sudo addgroup no-internet  # Create group "no-internet"
sudo adduser $USER no-internet  # Add current user to no-internet

iptables 规则阻止该组访问网络

sudo iptables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP
sudo ip6tables -I OUTPUT 1 -m owner --gid-owner no-internet -j DROP # To also block IPv6 traffic

您不想使用其访问互联网的进程sg 或者sudo -g(以不同的组ID执行命令):

sg no-internet -c "processFullPath args"

它基本上涉及创建一个新组,拒绝其访问互联网,然后以该组 ID 运行您想要限制的任何程序。因此,对于您来说,您只需使用教程中描述的方法运行 wine。

答案2

创建一个群组并成为其成员

addgroup wino

adduser $USER wino

现在输入一条iptables规则来阻止该组使用互联网,您可以在终端上输入此规则并按回车键

iptables -A OUTPUT -m owner --gid-owner wino -j REJECT

要使此规则在每次使用 systemd 重启后运行,请使用包iptables-persistent save中的iptables-persistent命令。

如果使用 rc-local:您可以输入规则/etc/rc.local。确保该文本文件的最后一行显示为exit 0

使用示例:

sg wino "wine executablename.exe"

您需要" "在程序名称前输入 wine。

答案3

几年后,针对不喜欢代理设置的软件进行编辑,总体而言,答案更加清晰、简单:

使用 bublewrap + unshare 启动你的应用程序:

bwrap --unshare-net wine yourapp.exe

更改代理/原始答案

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings]
"MigrateProxy"=dword:00000001
"ProxyEnable"=dword:00000001
"ProxyHttp.1.1"=dword:00000000
"ProxyOverride"="<local>"
"ProxyServer"="http://NonExistantProxyAddress:80"
"User Agent"="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1"

添加到您的 wine(或 playonlinux 虚拟驱动器)注册表:

确实比使用组更简单的解决方案(并且不会阻止 pol 连接,只会阻止应用程序)

致谢http://ootput.wordpress.com/2011/06/06/block-wine-applications-from-the-internet/comment-page-1/

答案4

这不是最干净的解决方案,但可以作为临时解决方案玩转Linux用户可轻松、快速地进行设置。

前往“设置”>“Internet”

启用Set a proxy并进入没有代理的网站(例如stackoverflow.com随机用户名和密码)。程序将无法访问代理服务器或互联网。

警告:请注意,这也会阻止安装对话框搜索和安装新软件!

s

相关内容