问题描述
如何防止特定或任何葡萄酒应用程序访问互联网?
在Windows下使用某些应用程序时,他们不时试图访问互联网,没有任何明显的原因。我当时能够通过个人防火墙阻止这种行为。不幸的是,到目前为止我还没有在Ubuntu中找到应用级防火墙。当我在国外使用data-roaming和我的3G调制解调器时,这尤其令人讨厌。
最佳解决方案
有一个很好的教程,阻止任何给定的程序访问Ubuntu forums上的Internet。
脚步
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)您不希望进行Internet访问的过程:
sg no-internet -c "processFullPath args"
它主要涉及创建一个新组,拒绝它访问Internet,然后运行您想要限制为该组ID的任何程序。因此,在您的情况下,您将始终使用本教程中描述的方法运行wine。
次佳解决方案
组成一个小组并成为其中的一员
addgroup wino
adduser $USER wino
现在输入一个iptables
规则来阻止该组使用互联网,您可以在终端上输入此内容并按Enter键
iptables -A OUTPUT -m owner --gid-owner wino -j REJECT
要在每次使用systemd重新启动后运行此规则,请使用iptables-persistent
软件包中的iptables-persistent save
。
如果using rc-local:您可以将规则放在/etc/rc.local
中。确保该文本文件中的最后一行显示为exit 0
。
用法示例:
sg wino "wine executablename.exe"
您需要" "
并在程序名称之前键入wine。
第三种解决方案
[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/
编辑:等待评论中的极客添加注册表设置来阻止TCP,同时:http://support.microsoft.com/en-us/kb/154596(听起来像设置端口为零或创建一些配置错误确实会阻止tcp /udp连接;但我没有面对问题还没有,所以我不需要解决问题)