如何阻止葡萄酒应用的互联网访问?


37

如何防止特定或任何葡萄酒应用程序访问互联网?

在Windows下使用某些应用程序时,他们试图不定期地访问Internet而没有任何明显的原因。那时我可以通过个人防火墙来防止这种行为。不幸的是,到目前为止我还没有在Ubuntu中找到应用程序级防火墙。当我在国外使用3G调制解调器进行数据漫游时,这尤其烦人。


您可以尝试我的noinet预加载。 askubuntu.com/questions/249826/...
ESCOR

Answers:


28

Ubuntu论坛上有一个很好的教程,介绍了如何阻止任何给定程序访问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。


2
谢谢,就是这样!但是我不明白,为什么有人拒绝了你。您的回答正是我所希望的。
YSN 2010年

如果您点击链接,这是一个很好的答案,但是我怀疑DV是因为它主要是链接答案。如果要使用方法,则必须去论坛。也就是说,它得到了我的支持。
RobotHumans 2015年

1
详细说明:要在新组下运行命令,请使用:sg no-internet -c "command args"。另请注意:显然,此iptable规则不会删除ping,因此,如果您要测试它是否有效,请改用netcat。编辑:我还指出:它不会删除IPv6连接,因此您只阻止了IPv4的UDP和TCP。
Hi-Angel

1
@ Hi-Angel可能应该是相同的args,但要使用ip6tables
Pablo A

16

组成一个小组并成为其中的一员

addgroup wino

adduser $USER wino

现在输入一条iptables规则来阻止该组使用互联网,您可以在终端上输入该规则,然后按Enter

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

为了使这个规则与systemd使用每次开机后运行iptables-persistent saveiptables-persistent软件包。

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

用法示例:

sg wino "wine executablename.exe"

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


2
我已经编辑了您usermod要添加的命令-a。如果没有-a,你最终会从所有其他补充组删除用户(如admincdrom等)!使用addgroup/ 也更方便adduser
gertvdijk

刚要修复-a我自己。是的,不要以root身份启动葡萄酒!只需要root即可制定iptables规则。使用示例适用于完成这些步骤的普通用户。
马克

抱歉,我的错。已删除评论。
gertvdijk

@gertvdijk我再次编辑了命令,这adduser <username> <groupname>是明智的选择。
guntbert

1
是否有可能使该程序默认被阻止(sg例如,chown通过执行该程序使呼叫过时)?
bonanza 2015年

8
[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连接;但是我还没有遇到这个问题,因此我不需要解决)


3
这只会阻止访问使用代理设置的软件,大多数情况下显然不会...因此这不是有效的解决方案!
K1773R

1
喜欢哪一个?(我与pol一起使用的所有软件的确被阻止了)。因此,我不相信您的说法:在许多情况下它是有效的,在某些情况下可能不是,但是哪一个呢?
mikakun 2015年

2
不,这不对。例如; 通过TCP仅连接到host:port的所有软件将继续运行。HTTP代理设置是程序必须识别和遵守的设置。如果您不相信我,请获取/编译可通过TCP连接到另一台主机的软件,并亲自查看。
K1773R 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.