macbook 使用 shadowrocket 上网时,无法访问公司内网

7 月 21 日
 donotrustme
之前手机一直用小火箭没有任何问题,迁移到 macbook 发现,在公司内网环境下(分配 10.x 地址)开启代理可以正常访问国外网站,但是访问不了内网网站,关闭代理就可以访问内网。

已经在配置文件中设置了内网域名不走代理。

搞了一个小时,有点崩溃。求大神解决。
1417 次点击
所在节点    问与答
8 条回复
wuyazuofeiji
7 月 21 日
跳过代理和真实 ip 加一下
dobelee
7 月 21 日
connection 日志和 debug 日志,所有工具都有吧?先查路由到什么规则,最后查 dns 。
EmiliatanTenshi
7 月 21 日
ai 时代直接让 codex 搞一下就好了吧,我现在软路由 nas pc 的配置类诉求很少自己搞了
ztm0929
7 月 22 日
> 已经在配置文件中设置了内网域名不走代理。

这个只是规则分流,本质上还是进入了 Shadowrocket 核心里的公共 DNS 解析,公共 DNS 没有内网服务的地址,需要让内网 DNS 来专门解析。(校园网同理)

参考资料:
https://github.com/LOWERTOP/Shadowrocket#hosts

Hosts
Hosts 用于自定义域名解析结果或指定 DNS 服务器。包含 本地值 和 DNS 服务器 两种设定方式。在 纯文本编辑 模式中位于 配置文件 的 [Host] 字段。在默认情况下,对于代理类的 DNS 解析始终在远端服务器上执行,支持使用 use-local-host-item-for-proxy 等 隐式参数

UI 编辑:点击配置文件的 ⓘ 图标 > Hosts
文本编辑:点击配置文件 > 编辑纯文本 > [Host]
编辑示例:

将特定域名映射到指定 IP 地址,绕过 DNS 解析,直接控制域名到 IP 的对应关系
example.com = 1.2.3.4
将特定域名指定特定的 DNS 服务器进行解析
example.com = server:1.2.3.4

不过我很好奇你「 MacBook 有问题,而手机没有问题」是如何做到的,手机所有设置都和电脑一样吗?手机用的也是公司网络吗?
ztm0929
7 月 22 日
@donotrustme

baidu.com
macbook -> 公共 DNS (解析成功)-> 百度服务器

google.com
macbook -> 公共 DNS (解析成功)-> 代理服务器 -> 谷歌服务器

你现在的情况是这样的(即使配置了不走代理):
xxx.com (内网某服务的域名)
macbook -> 公共 DNS (解析失败)-> 无法访问

成功设置后将会是:
xxx.com
macbook -> 私有 DNS (解析成功)-> 内网服务器
donotrustme
7 月 22 日
感谢各位的回复,上午又研究了几个配置终于解决了。

具体配置项:配置-通用-总是真实 IP ,奇怪吧,确实改了这里就行了,删掉就不行。
donotrustme
7 月 22 日
@wuyazuofeiji 这个真实 IP 的原理是啥?
wuyazuofeiji
7 月 22 日
@donotrustme 看下火箭文档,火箭是 fakeip ,设置真实 ip 才能正确解析内网 dns

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

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

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

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

© 2021 V2EX