如何实现系统不能联网,但是系统上的应用可以联网?

125 天前
 61162833
针对以下系统:
1 、Windows
2 、Android
3 、MacOS
4 、iOS
5 、各种 linux desktop

如何实现系统无联网权限,但是系统上的应用(例如 docker )有联网权限?

(测试过 Windows10 系统的防火墙,只对特定应用开启联网权限,但是 windows 更新的域名即使加入其防火墙也不生效,系统仍然有联网权限...)
6386 次点击
所在节点    宽带症候群
53 条回复
enihcam
125 天前
听起来大概就是给一个杯子倒水,但杯子不能沾水。
xjzshttps
125 天前
将默认网关、dns 设置为错误的等方式阻止整个系统联网,然后针对个别应用开类似翻墙软件提供网络。
zeyexe
125 天前
那就只能在系统外干这事了,让防火墙只放行应用的域名和端口
61162833
125 天前
@zeyexe 在路由器上操作的问题是无法判断流量来自系统还是应用
zeyexe
125 天前
不知道你的具体情况。难道你的系统(应用)会和要联网的应用使用相同的域名?
yinmin
125 天前
在局域网上设置一个代理服务器(低至几十元的硬件成本),linux 可以采用主机网卡不设 gateway 保证整机无法上网,单个应用配置 socks5 代理(如果应用没有代理配置,可以使用环境变量或 proxychains )

windows 也可以采取类似方式,例如:proxifier
yinmin
125 天前
如果是 docker 就更简单了,linux 不设 gateway ,docker 创建一个 bridge 网络指定 gateway ,容器使用这个网络就能上网了
xenme
125 天前
网卡直通给 vm ,然后业务跑 vm 里面,底层不要网卡,或者只能通内网的网卡
Kinnice
125 天前
1. 在外部防火墙阻止所有流量
2. 外部新增一个代理服务器,且在外部防火墙只放行这个代理服务器 ip 地址
3. 给你的应用配置代理,如果应用没这个功能就需要借助类似 proxifier 的软件
Zaden
125 天前
61162833
125 天前
@Zaden 通过端口而非域名的方式屏蔽真是妙啊老哥
IvanLi127
125 天前
看起来只要操作系统无法驱动通信设备,但是应用能驱动就行了。重新做一套不通用的网卡,走其他通用协议让应用能识别,然后应用直接驱动就好了。系统不认识想用也不会用。
0o0O0o0O0o
125 天前
考虑到这么多平台,加上联网这个词的范围很广,其实这个需求一点也不简单,哪怕是在 Linux 上。建议理清自己的真实需求。
icepie
125 天前
其实很简单, 走个不存在的代理就好了
icepie
125 天前
好吧 是系统不能上网, 那就复杂了
wushenlun
125 天前
系统联网无非就是上报数据/更新,抓包吧 ,开个空白系统,挂机在那抓包 1 整天,抓到的外网 IP 全封了,极端点就/24 全封了
adrianzhang
125 天前
系统外面设置防火墙,拦截所有,只放行通往局域网装了代理的机器的流量,而这个装了代理的机器不设置 ip 转发,然后系统特定应用使用 proxychains 代理到代理机器特定端口
adrianzhang
125 天前
@adrianzhang 发现需求还要管理手机端,那么方案改改。
单独一个防火墙,可以硬件可以虚拟,固定 ip ,局域网所有设备的网关统一设置成防火墙地址,防火墙放行对代理机器 ip 的流量,其他全禁止,代理机器不设置 ip 转发,仅有通过端口的 socks 代理,然后设备上需要联网的应用走这个 socks 代理,手机上有小火箭等应用可以设置分应用代理。
bigShrimp8577
125 天前
本来我以为是希望鸡下蛋,又不希望有鸡存在的题目,结果评论区让我涨姿势了
youdoit
125 天前
买一台行为管理设备吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1055400

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX