领英 Linkedin 在2021年10月14宣布关闭中国区版本,而后中国区(IP)的用户访问linkedin.com都会被重定向至linkedin.cn

在OpenClash中添加自定规则,然后打开linkedin.com发现居然还会重定向到linkedin.cn领英中国,大惊,OpenClash失灵了吗?!

排查因素1

使用PC端Clash选择自定义节点全局代理,linkedin.com能够正常访问,检查了OpenClash自定义规则语法也没错,又分别尝试了DOMAIN-SUFFIX域名后缀匹配和DOMAIN-KEYWORD域名关键词匹配,均无效。

但自定义规则中其他域名如stripe的规则生效了,唯独linkedin的规则无效。

排查因素2

此时想起ACL4SSR作者在TG里回复过:规则优先级以配置文件里面规则先后顺序为准

怀疑是不是和这有关,于是下载了OpenClash的运行配置查看,添加的linkedin.com的自定义规则已经在规则的前面了。

甚至我还将运行配置中关于linkedin.com的其他规则都删除,只保留自定义规则,仍然无效。

开始百思不得姐。

接着习惯地用curl请求了下域名看看报文,似乎也没啥异常。
curl -vv www.linkedin.com

    * Rebuilt URL to: www.linkedin.com/
    *   Trying 182.175.242.17...
    * TCP_NODELAY set
    * Connected to www.linkedin.com (182.175.242.17) port 80 (#0)
    > GET / HTTP/1.1
    > Host: www.linkedin.com
    > User-Agent: curl/7.55.1
    > Accept: */*
    >
    < HTTP/1.1 301 Moved Permanently
    < Date: Tue, 18 Jan 2022 13:34:54 GMT
    < X-Li-Pop: prod-vsh1
    < X-LI-Proto: http/1.1
    < X-LI-UUID: cfvpWeZgaxjAOioPiioAAA==
    < Location: https://www.linkedin.com/
    < Content-Length: 0
    <
    * Connection #0 to host www.linkedin.com left intact

等等!182.175这个IP段似乎有点眼熟!去查询了下果然是中国的IP!

问题定位

此时,心里已经隐约感觉到问题出在了哪里。

为了验证我的直觉,查询了大陆内外分别解析到www.linkedin.com的IP

https://tools.ipip.net/dns.php

问题的关键:中国大陆解析到的都是中国大陆IP!

而我在OpenClash中,勾选了绕过中国大陆IP

此选项的描述:启用后中国大陆流量将不再经过内核,提升系统性能

所以OpenClash没有处理中国大陆的IP,因此自定规则未生效!

因此,将绕过中国大陆IP取消勾选,自定规则生效!

*2023-09-02更新:
还有2种更简单的办法:
第一种:
插件设置-DNS设置-启用第二DNS服务器
1.1.1.1
然后把你希望用这个DNS服务器解析的域名加进来
linkedin.com
www.linkedin.com

第二种:
如果你自己托管订阅转换服务,可以在dns配置里面这样写:

  nameserver-policy:
    "+.linkedin.com": 8.8.8.8
    "+.linkedin.cn": 8.8.8.8

*2024-03-28更新:
使用8.8.8.8时,linkedin.com也会返回中国IP。
更换1.1.1.1即可。

  nameserver-policy:
    "+.linkedin.com": 1.1.1.1
    "+.linkedin.cn": 1.1.1.1
最后修改:2024 年 03 月 28 日
如果觉得我的文章对你有用,请随意赞赏