clash透明网关fake-ip模式如何使基于icmp协议的ping能ping通?

[复制链接]
查看: 3097   回复: 9
发表于 2022-6-21 19:41:27 | 显示全部楼层 |阅读模式
clash透明代理/网关,fake-ip模式,部署在内网某台设备,局域网设备的网关和dns指向这台运行着clash的设备。

ping的时候返回的是一个fake ip,一般是198.18.0.0/16这个网段的ip,请问如何能够ping通呢?比如 ping www.jd.com

我想应该用iptables做一些处理。

搜到了这个帖子 'Fake IP 模式如何直接转发icmp包(无法Ping任何网站) · Issue #1047 · Dreamacro/clash' https://github.com/Dreamacro/clash/issues/1047

我执行了如下iptables规则,可是没有生效。
```
iptables -t nat -A clash -p icmp -j RETURN
iptables -A FORWARD -o eth0 -j ACCEPT
```
ps: eth0 是这台运行着clash设备的网卡名称。

⚽️解
回复

使用道具 举报

 楼主| 发表于 2022-6-21 19:41:43 | 显示全部楼层
⚽️这个emoji可以发耶
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-21 19:42:32 | 显示全部楼层
不好,被你发现了
回复 支持 反对

使用道具 举报

发表于 2022-6-21 19:43:08 | 显示全部楼层
顶一顶
回复 支持 反对

使用道具 举报

发表于 2022-6-21 19:43:46 | 显示全部楼层
kernel forward开了没有?
iptables的forward是否拦截了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-21 19:44:00 | 显示全部楼层
开了,没有拦截
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-21 19:44:18 | 显示全部楼层
感觉你说的不是不能ping,而是dns解析的是假ip导致ping不通吧。

你试试直接ping jd的ip 115.231.142.3

如果是因为dns解析导致的,那就不是你的问题,只要你用fakedns模式就必然是这样的,无解。除非你不用fakeip模式改用redir-host模式
回复 支持 反对

使用道具 举报

发表于 2022-6-21 19:44:44 | 显示全部楼层
我家里的设备就总是超时,无法ping通。
  1. ping www.jd.comPING 1036149.sched.skalego-dk.tdnsv5.com (59.83.218.85): 56 data bytesRequest timeout for icmp_seq 092 bytes from n1n1.to (10.10.10.4): Redirect Host(New addr: 10.10.10.1)Vr HL TOS  Len   ID **  off TTL Pro  cks      Src      Dst 4  5  00 0054 4845   0 0000  3f  01 090a 10.10.10.168  59.83.218.85 Request timeout for icmp_seq 192 bytes from n1n1.to (10.10.10.4): Redirect Host(New addr: 10.10.10.1)Vr HL TOS  Len   ID **  off TTL Pro  cks      Src      Dst 4  5  00 0054 91f9   0 0000  3f  01 bf55 10.10.10.168  59.83.218.85
复制代码

虽然用的是 fake-ip 模式但是这个并没有返回 fake ip,但我在另一个地方部署的透明代理就是返回的
  1. 198.18.0.0/16
复制代码
网段的假ip

两边使用的同样的 clash 配置(config.yaml) 以及 iptables 配置。只不过一个主机系统是 armbian (基于 debian) 另一个是群晖(Linux)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-21 19:45:21 | 显示全部楼层
我觉得这个问题和clash本身关系不大,你的透明网关的网络设置可能有问题。 你不如先试试作为一个普通的网关,能否正常运行。可以借鉴https://gridscale.io/en/community/tutorials/debian-router-gateway/

你的机器能获取到jd真正的ip,说明最起码dns请求未正确转发到clash。 clash本身也并不会代理icmp协议。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-6-21 19:45:44 | 显示全部楼层
感谢指点
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则