Answers:
在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。
sg no-internet -c "command args"
。另请注意:显然,此iptable规则不会删除ping,因此,如果您要测试它是否有效,请改用netcat。编辑:我还指出:它不会删除IPv6连接,因此您只阻止了IPv4的UDP和TCP。
ip6tables
。
组成一个小组并成为其中的一员
addgroup wino
adduser $USER wino
现在输入一条iptables
规则来阻止该组使用互联网,您可以在终端上输入该规则,然后按Enter
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。
usermod
要添加的命令-a
。如果没有-a
,你最终会从所有其他补充组删除用户(如admin
,cdrom
等)!使用addgroup
/ 也更方便adduser
。
adduser <username> <groupname>
是明智的选择。
sg
例如,chown
通过执行该程序使呼叫过时)?
[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连接;但是我还没有遇到这个问题,因此我不需要解决)