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