1
enihcam 164 天前 12
听起来大概就是给一个杯子倒水,但杯子不能沾水。
|
2
xjzshttps 164 天前 1
将默认网关、dns 设置为错误的等方式阻止整个系统联网,然后针对个别应用开类似翻墙软件提供网络。
|
3
zeyexe 164 天前
那就只能在系统外干这事了,让防火墙只放行应用的域名和端口
|
5
zeyexe 164 天前
不知道你的具体情况。难道你的系统(应用)会和要联网的应用使用相同的域名?
|
6
yinmin 164 天前 via iPhone 1
在局域网上设置一个代理服务器(低至几十元的硬件成本),linux 可以采用主机网卡不设 gateway 保证整机无法上网,单个应用配置 socks5 代理(如果应用没有代理配置,可以使用环境变量或 proxychains )
windows 也可以采取类似方式,例如:proxifier |
7
yinmin 164 天前 via iPhone 1
如果是 docker 就更简单了,linux 不设 gateway ,docker 创建一个 bridge 网络指定 gateway ,容器使用这个网络就能上网了
|
8
xenme 164 天前 via iPhone 1
网卡直通给 vm ,然后业务跑 vm 里面,底层不要网卡,或者只能通内网的网卡
|
9
Kinnice 164 天前 via Android 1
1. 在外部防火墙阻止所有流量
2. 外部新增一个代理服务器,且在外部防火墙只放行这个代理服务器 ip 地址 3. 给你的应用配置代理,如果应用没这个功能就需要借助类似 proxifier 的软件 |
10
Zaden 164 天前 via Android 1
|
12
IvanLi127 164 天前
看起来只要操作系统无法驱动通信设备,但是应用能驱动就行了。重新做一套不通用的网卡,走其他通用协议让应用能识别,然后应用直接驱动就好了。系统不认识想用也不会用。
|
13
0o0O0o0O0o 164 天前
考虑到这么多平台,加上联网这个词的范围很广,其实这个需求一点也不简单,哪怕是在 Linux 上。建议理清自己的真实需求。
|
14
icepie 164 天前
其实很简单, 走个不存在的代理就好了
|
15
icepie 164 天前
好吧 是系统不能上网, 那就复杂了
|
16
wushenlun 164 天前
系统联网无非就是上报数据/更新,抓包吧 ,开个空白系统,挂机在那抓包 1 整天,抓到的外网 IP 全封了,极端点就/24 全封了
|
17
adrianzhang 164 天前 1
系统外面设置防火墙,拦截所有,只放行通往局域网装了代理的机器的流量,而这个装了代理的机器不设置 ip 转发,然后系统特定应用使用 proxychains 代理到代理机器特定端口
|
18
adrianzhang 164 天前 1
@adrianzhang 发现需求还要管理手机端,那么方案改改。
单独一个防火墙,可以硬件可以虚拟,固定 ip ,局域网所有设备的网关统一设置成防火墙地址,防火墙放行对代理机器 ip 的流量,其他全禁止,代理机器不设置 ip 转发,仅有通过端口的 socks 代理,然后设备上需要联网的应用走这个 socks 代理,手机上有小火箭等应用可以设置分应用代理。 |
19
bigShrimp8577 164 天前
本来我以为是希望鸡下蛋,又不希望有鸡存在的题目,结果评论区让我涨姿势了
|
20
youdoit 164 天前
买一台行为管理设备吧
|
21
yohole 164 天前 2
感觉这里面隐藏了某个具体的需求,直接说清楚的话,可能会有更简单的方案
|
22
zzznow 164 天前
把相关域名加 hosts 呢?
|
23
adoal 164 天前
如何从技术层面区分属于“系统”的组件程序 vs 自己安装的第三方应用程序?
|
24
y1y1 164 天前 via iPhone
网络出口设置防火墙规则
|
25
EndlessMemory 164 天前
魔改系统吧
|
26
Altairvelvet 164 天前
刁民
|
27
busier 164 天前 via iPhone 1
这活我经常干
系统网卡 ipv4/v6 不配置网关,不配置 DNS 软路由上开 socks5 代理,需要上网的应用设置走此代理 最好不要设置系统级代理,因为很多软件能感知这个设置 |
28
docx 164 天前 via iPhone
内网跳板机,然后单独配置应用走代理?需求有点刁难了,最好说清具体想要实现的是什么。
|
29
songge 164 天前
策略组 应该可以吧
|
30
shijingshijing 164 天前
楼主所说的系统不能联网确切的讲应该是(系统级应用程序)不能联网,自己指定的应用程序能联网。
操作系统不能联网想啥呢,所有的应用程序都是使用网络 API ,通过调用的 system call ,走网络协议栈,通过驱动调用网卡硬件进行网络通信的。 Windows 更新如果微软狠一点,直接做进内核里,你通过本机 Windows 系统是没办法做任何限制的。只能通过路由器进行网络访问权限管理。 |
31
laminux29 164 天前 1
这是很基础且很常见的网工场景,典型的例子是虚拟化集群系统,实现方式是服务器多网口 + 每个网口不同网段 + 每个网口不同 vlan 或 vxlan 。有时候甚至厂家的部署工程师,为了不干扰用户私有网段,会给虚拟化系统的内部的业务配置 1.1.1.x 这样的网段。
|
32
huihuilang 164 天前 via Android
用防火墙吧。。。把特定 ip 开白名单
|
33
0o0O0o0O0o 164 天前 via iPhone
@laminux29 #31 OP 的粒度是**各操作系统**具体的进程,不是某个 container ,甚至可能只有一个操作系统用户,我觉得这既不基础也不常见。我赞同 #30 ,我认为这几十层里所有方案都达不到这个需求,除非 OP 提出真正的需求并加以限制
|
34
jackOff 164 天前
网关设备写一个流量劫持中转服务,只有白名单流量才会通过,其他全部阻塞掉
|
35
supereater 164 天前
先全局禁止,然后放行需要的应用吧
|
36
nuk 164 天前
想到的几种办法:
1. 用防火墙,不给系统默认网关,然后利用防火墙来丢到正确的网关 2. hook socket 调用,给 udp 和 tcp 加一个 cookieid ,只有识别到 id 才放行,个人感觉这个会比较通用,但需要网关处理报文 3. 设置 socks 代理,只有支持 socks 的应用会比较好用 |
37
morpheuszero2023 164 天前
只是禁用 Windows 自动更新的话可以用组策略,调两个设置即可,别的啥都不用动。
|
38
ClericPy 163 天前
我这边 20 多个机器禁止联网,所以开了个低配置有公网权限的当网关代理转发的。。。
|
39
Kenshiro 163 天前
Windows 用 SimpleWall ,iOS 等等的要么自建 DNS ( NEXTDNS 等等)或路由器挡。DNS 那步我成了,但国内这智障网络默认是挡的自建 DNS ,所以最好全局
|
40
Routeros 163 天前
这天聊的就扯淡。传输层还是会交给系统来处理的。
|
41
luojiyin87 163 天前
要靠独立的防火墙和自建 dns 服务器了,规则要一条条建。 操作系统要虚拟化。 这是要做密保?
|
42
zhangdawei 163 天前
Windows 的化,可以走一条 usb 驱动,自建 tcp 协议,单独应用装载驱动
|
43
test0x01 163 天前 via Android
局域网不允许上网 只有使用特定代理才可以上网
|
44
yulihao 163 天前
走代理不就好了
|
45
vueli 163 天前
网关直接白名单通行
|
47
YGBlvcAK 163 天前
你这么多系统都要实现这个功能,肯定不能在系统上想办法,只能系统外,也不是所有的应用都支持代理模式,所以唯一的答案可能就是防火墙+白名单模式了
防火墙只开放特定的域名和 ip ,麻烦的点是可能要手动抓取一些应用的域名和 ip |
48
zbatman 163 天前
建议描述下原始需求
|
49
bobryjosin 163 天前
@huangya 内部互联无所谓,只要不访问对应 ip 段的公网服务就没事,我见过有些地方电信拿 1.1.1.1 做内部 ip 的,你看出过什么大事吗?其实没有,也就我们这种要访问 cloudflare 的会骂一嘴。
|
50
Mystery0 163 天前
怼到光猫上让 docker 容器来拨号?
|
51
freddyzeng 162 天前 via iPhone
我现在就是这样的。
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 代理。 再说一下,为啥我会有这种需求呢? 有些东西不想泄漏,所以担心开源的工具有漏洞,如果它是完全局域网来使用,就比较安全了。 |
52
freddyzeng 162 天前 via iPhone
意思就是,你可以给 docker 配置一个局域网代理来让 docker 上网。但是你的实体主机不要设置网关,但是需要手动给他设置一个 ip ,使用 ip 转发 http 到其它能上网的主机。而自身又没有默认网关。
如果熟悉 iptables 的话,真的可以设置权,拦截,然后来源是某个程序的流量就当行。类似 v2ray 透明那样的处理。不过是按自己的逻辑修改的才行。应该也是可以的。但是对于安全和简单处理的话,还是设置 http 代理比较好。如果程序无法设置代理,那只能使用 iptables 标记某个程序发出流量,再在 op 网关那里拦截没有标记的流量包。思路应该是这样 |
53
tairan2006 162 天前
iptable 无所不能
|