谁能讲一讲 Fake-IP 模式的工作原理? OpenVPN 无法连接,网上找的资料都含糊其辞

2025 年 11 月 12 日
 Moishine

ping 域名得到的 ip 都是:198.18.x.x 但是能正确上网。然而,OpenVPN Client 拿到这种 IP 无法正确连接了( OpenVPN 使用 UDP 协议,且绑定了各自的家宽的 IP 地址)。

现在我的办法是把 OpenVPN 服务器的域名在本机 hosts 文件进行了绑定。应该有更优雅的办法在 OpenClash 实现的吧?求教。

应该是添加自己的规则,将 OpenVPN 的服务器域名添加到直连规则中去?

2710 次点击
所在节点    问与答
10 条回复
Weilence
2025 年 11 月 12 日
简单来说就是 clash 代理了你的 dns 查询,返回 198.18 的 ip ,然后存了一份映射。
然后发 udp 或者 tcp 包的时候,请求 198.18 ,拦截你的数据包,clash 内部根据之前存的映射,找到对应的域名,把你的数据包发过去。
具体可以看 https://blog.skk.moe/post/what-happend-to-dns-in-proxy/
Moishine
2025 年 11 月 12 日
@Weilence 谢谢。和我的猜想差差不多。那 DNS 查询就只需要机场去查就可以?从而防止 dns 泄露?
SenLief
2025 年 11 月 12 日
把域名 filter 就可以了,不让这个域名使用 fake-ip 模式
zhlssg
2025 年 11 月 13 日
@Weilence 好文
y1y1
2025 年 11 月 13 日
cdxx0
2025 年 11 月 13 日
我之前有一个邪修,就是先启东 openvpn ,他会新建一个网卡,然后启动 clash (我用的是 clash-verge-rev ),然后扩展脚本里扩展一个节点:
{
"name": "direct-tun0",
"type": "direct",
"udp": true,
"ip-version": "ipv4",
"interface-name": "tun0", // 这里绑定 openvpn 创建的网卡名
"routing-mark": 1234
},

然后当正常节点用就行,不知道适不适合你的场景
daj2
2025 年 11 月 13 日
个人认为泄露无所谓,别有污染就行,redir-host 能满足就别用 fakeip
MacsedProtoss
2025 年 11 月 13 日
@daj2 泄漏非常严重,会导致你在看啥域名都会被运营商发现,也可以直接触发反诈,相当于裸奔
P945
2025 年 11 月 13 日
@MacsedProtoss redir-host 也能设定 DNS 。
MacsedProtoss
2025 年 11 月 13 日
@P945 没意义啊 你意思是你要手动再搞一个自己的不泄漏的 dns 是吧…有没有一种可能这么玩其实出问题的可能性更大

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

https://v2ex.xtra.eu.org/t/1172366

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

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

© 2021 V2EX