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

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

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

(测试过 Windows10 系统的防火墙,只对特定应用开启联网权限,但是 windows 更新的域名即使加入其防火墙也不生效,系统仍然有联网权限...)
5927 次点击
所在节点    宽带症候群
53 条回复
luojiyin87
73 天前
要靠独立的防火墙和自建 dns 服务器了,规则要一条条建。 操作系统要虚拟化。 这是要做密保?
zhangdawei
73 天前
Windows 的化,可以走一条 usb 驱动,自建 tcp 协议,单独应用装载驱动
test0x01
73 天前
局域网不允许上网 只有使用特定代理才可以上网
yulihao
73 天前
走代理不就好了
vueli
73 天前
网关直接白名单通行
huangya
73 天前
@laminux29 好奇问一下,如果用 1.1.1.x 这样的网段,是不是这些机器不连接互联网?因为理论上 1.1.1.x 是公网吧?这样会与公网冲突。
YGBlvcAK
73 天前
你这么多系统都要实现这个功能,肯定不能在系统上想办法,只能系统外,也不是所有的应用都支持代理模式,所以唯一的答案可能就是防火墙+白名单模式了

防火墙只开放特定的域名和 ip ,麻烦的点是可能要手动抓取一些应用的域名和 ip
zbatman
73 天前
建议描述下原始需求
bobryjosin
73 天前
@huangya 内部互联无所谓,只要不访问对应 ip 段的公网服务就没事,我见过有些地方电信拿 1.1.1.1 做内部 ip 的,你看出过什么大事吗?其实没有,也就我们这种要访问 cloudflare 的会骂一嘴。
Mystery0
73 天前
怼到光猫上让 docker 容器来拨号?
freddyzeng
73 天前
我现在就是这样的。
a:需要处理为系统不能上网,但是可以上外网的电脑,a 的 IP 为 192.168.110.2 ,网关设置为空。
b:一台能上网的电脑,b 的 ip 为 192.168.110.3 ,b 的网关为 192.168.110.1 。

然后具体需要上网的程序,需要配置 http 代理指向电脑 b ,如果你的 b 电脑是 win 可以开个 v2rayNG ,提供局域网的 http 代理。电脑 b 其实可以是使用 op 的 passwall 提供的 http 代理。


再说一下,为啥我会有这种需求呢?
有些东西不想泄漏,所以担心开源的工具有漏洞,如果它是完全局域网来使用,就比较安全了。
freddyzeng
73 天前
意思就是,你可以给 docker 配置一个局域网代理来让 docker 上网。但是你的实体主机不要设置网关,但是需要手动给他设置一个 ip ,使用 ip 转发 http 到其它能上网的主机。而自身又没有默认网关。


如果熟悉 iptables 的话,真的可以设置权,拦截,然后来源是某个程序的流量就当行。类似 v2ray 透明那样的处理。不过是按自己的逻辑修改的才行。应该也是可以的。但是对于安全和简单处理的话,还是设置 http 代理比较好。如果程序无法设置代理,那只能使用 iptables 标记某个程序发出流量,再在 op 网关那里拦截没有标记的流量包。思路应该是这样
tairan2006
72 天前
iptable 无所不能

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

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

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

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

© 2021 V2EX