全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 5625|回复: 9

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

[复制链接]
发表于 2021-11-16 11:21:35 | 显示全部楼层 |阅读模式
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设备的网卡名称。

⚽️解
发表于 2021-11-16 11:22:02 | 显示全部楼层
⚽️这个emoji可以发耶
 楼主| 发表于 2021-11-16 11:23:21 | 显示全部楼层
HOH 发表于 2021-11-16 11:22
⚽️这个emoji可以发耶

不好,被你发现了
发表于 2021-11-16 13:39:16 | 显示全部楼层
kernel forward开了没有?
iptables的forward是否拦截了?
 楼主| 发表于 2021-11-16 15:41:40 | 显示全部楼层
davidsky2012 发表于 2021-11-16 13:39
kernel forward开了没有?
iptables的forward是否拦截了?

开了,没有拦截
发表于 2021-11-16 17:01:29 | 显示全部楼层
本帖最后由 dograin 于 2021-11-17 19:20 编辑

感觉你说的不是不能ping,而是dns解析的是假ip导致ping不通吧。

你试试直接ping jd的ip 115.231.142.3

如果是因为dns解析导致的,那就不是你的问题,只要你用fakedns模式就必然是这样的,无解。除非你不用fakeip模式改用redir-host模式
 楼主| 发表于 2021-11-16 23:21:35 | 显示全部楼层
dograin 发表于 2021-11-16 17:01
感觉你说的不是不能ping,而是dns解析的是假ip导致ping不通吧。

你试试直接ping jd的ip 119.188.208.2

我家里的设备就总是超时,无法ping通。
  1. ping www.jd.com
  2. PING 1036149.sched.skalego-dk.tdnsv5.com (59.83.218.85): 56 data bytes
  3. Request timeout for icmp_seq 0
  4. 92 bytes from n1n1.to (10.10.10.4): Redirect Host(New addr: 10.10.10.1)
  5. Vr HL TOS  Len   ID **  off TTL Pro  cks      Src      Dst
  6. 4  5  00 0054 4845   0 0000  3f  01 090a 10.10.10.168  59.83.218.85

  7. Request timeout for icmp_seq 1
  8. 92 bytes from n1n1.to (10.10.10.4): Redirect Host(New addr: 10.10.10.1)
  9. Vr HL TOS  Len   ID **  off TTL Pro  cks      Src      Dst
  10. 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)
发表于 2021-11-17 00:38:56 | 显示全部楼层
本帖最后由 dograin 于 2021-11-17 00:49 编辑

我觉得这个问题和clash本身关系不大,你的透明网关的网络设置可能有问题。 你不如先试试作为一个普通的网关,能否正常运行。可以借鉴https://gridscale.io/en/community/tutorials/debian-router-gateway/

你的机器能获取到jd真正的ip,说明最起码dns请求未正确转发到clash。 clash本身也并不会代理icmp协议。
 楼主| 发表于 2021-11-17 16:31:07 | 显示全部楼层
dograin 发表于 2021-11-17 00:38
我觉得这个问题和clash本身关系不大,你的透明网关的网络设置可能有问题。 你不如先试试作为一个普通的网关 ...

感谢指点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-9-14 11:38 , Processed in 0.059797 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表