AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 19346
Accepted
YSN
YSN
Asked: 2010-12-30 16:12:22 +0800 CST2010-12-30 16:12:22 +0800 CST 2010-12-30 16:12:22 +0800 CST

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

  • 772

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

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

security wine firewall
  • 5 5 个回答
  • 53324 Views

5 个回答

  • Voted
  1. Best Answer
    goric
    2010-12-30T17:27:23+08:002010-12-30T17:27:23+08:00

    在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。

    • 37
  2. mark
    2013-07-15T09:35:10+08:002013-07-15T09:35:10+08:00

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

    addgroup wino
    
    adduser $USER wino
    

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

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

    要在每次重新启动后使用 systemd 使用 package.json 使此规则iptables-persistent save运行iptables-persistent。

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

    使用示例:

    sg wino "wine executablename.exe"
    

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

    • 17
  3. mikakun
    2014-05-28T13:25:21+08:002014-05-28T13:25:21+08:00

    几年后编辑不喜欢代理设置的软件,总体上是一个更干净、更简单的答案:

    使用 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"
    

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

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

    归功于http://ootput.wordpress.com/2011/06/06/block-wine-applications-from-the-internet/comment-page-1/

    • 10
  4. Hi-Angel
    2020-01-07T16:59:37+08:002020-01-07T16:59:37+08:00

    只需将应用程序运行为:

    systemd-run --scope -p IPAddressDeny=any wine myapp.exe
    

    IPAddressDeny=…允许拒绝访问一组 IPv4 和 IPv6 地址。特殊值any禁用对所有基于 IP 的协议(如 TCP、UDP、ICMP、SCTP 等)的访问。

    使用示例(注意:对于这个演示,我必须修复wine ping,因为它对我来说超时了):

    $ export WINEDEBUG=-all   # remove debug prints for the demo
    $ wine ping localhost     # check that ping works
    Pinging localhost [127.0.0.1] with 32 bytes of data:
    Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
    Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
    Reply from 127.0.0.1: bytes=32 time<1ms TTL=64
    Reply from 127.0.0.1: bytes=32 time=1ms TTL=64
    
    Ping statistics for 127.0.0.1
            Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
    Approximate round trip times in milli-seconds:
            Minimum = 0ms, Maximum = 1ms, Average = 0ms
    $ systemd-run --scope -p IPAddressDeny=any wine ping localhost   # well, not anymore
    ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
    Authentication is required to manage system services or other units.
    Multiple identities can be used for authentication:
     1.  constantine
     2.  archie
    Choose identity to authenticate as (1-2): 1
    Password:
    ==== AUTHENTICATION COMPLETE ====
    Running scope as unit: run-u28936.scope
    Pinging localhost [127.0.0.1] with 32 bytes of data:
    PING: transmit failed. General failure.
    PING: transmit failed. General failure.
    PING: transmit failed. General failure.
    PING: transmit failed. General failure.
    
    Ping statistics for 127.0.0.1
            Packets: Sent = 4, Received = 0, Lost = 4 (100% loss)
    

    对于其余的答案,我将从我在 unix.se 上的其他类似答案中复制文本:


    注意:这会要求您输入密码,但应用程序会以您的用户身份启动。不要让这使您误以为命令需要sudo,因为这会导致命令在 root 下运行,这几乎不是您的意图。

    如果您不想输入密码(毕竟,您已经拥有自己的资源,为什么需要密码来限制它们),您可以使用--user选项,但是要使其工作,您需要启用 cgroupsv2 支持,现在需要使用systemd.unified_cgroup_hierarchy内核参数引导。

    • 5
  5. Alwin07
    2021-11-14T07:42:40+08:002021-11-14T07:42:40+08:00

    它不是最干净的解决方案,但作为PlayOnLinux用户的临时解决方案,设置起来既简单又快速。

    转到设置 > 互联网

    启用Set a proxy并进入没有代理的网站,例如stackoverflow.com随机用户名和密码。这些程序不会到达代理服务器或互联网。

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

    s

    • 0

相关问题

  • 如何在 Ubuntu 中运行 Windows XP

  • 从 Ubuntu 中完全删除密钥环是否安全?

  • 如何从命令行仅安装安全更新?关于如何管理更新的一些提示

  • iptables 的图形用户界面?

  • 如何与无头服务器进行图形交互?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve