vernesong / OpenClash

A Clash Client For OpenWrt
MIT License
17.16k stars 3.15k forks source link

[Bug] 在Fake-IP模式绕过大陆IP的情况下,不走代理的设备,对于境外网站拿到的是Fake-IP,导致无法连接 #2884

Closed machine-doll closed 1 year ago

machine-doll commented 1 year ago

Verify Steps

OpenClash Version

v0.45.70-beta

Bug on Environment

Other

Bug on Platform

Linux-amd64(x86-64)

To Reproduce

运行模式选择Fake-IP(TUN-混合)模式,开启路由器本机代理以及绕过中国大陆IP
对于不走代理的设备,之前通过“访问控制”功能,进行了排除,切换到了Fake-IP模式,就无法连接白名单以外的网站

Describe the Bug

切换Fake-IP时,还是保留了之前的策略,clash忽略了来自那些不走代理的设备的连接,但是由于只拿到了Fake-IP,那些设备就无法与真正的服务器进行通信 ![Uploading image.png…]()

OpenClash Log

OpenClash 调试日志

生成时间: 2022-12-07 19:20:25 插件版本: 隐私提示: 上传此日志前请注意检查、屏蔽公网IP、节点、密码等相关敏感信息


#===================== 系统信息 =====================#

主机型号: BESSTAR (HK) LIMITED Z83-F
固件版本: ImmortalWrt 21.02.3 r19616-49aba5fcac
LuCI版本: 
内核版本: 5.4.215
处理器架构: 

#此项有值时,如不使用IPv6,建议到网络-接口-lan的设置中禁用IPV6的DHCP
IPV6-DHCP: hybrid

#此项结果应仅有配置文件的DNS监听地址
Dnsmasq转发设置: 127.0.0.1#7874

#===================== 依赖检查 =====================#

dnsmasq-full: 未安装
coreutils: 未安装
coreutils-nohup: 未安装
bash: 未安装
curl: 未安装
ca-certificates: 未安装
ipset: 未安装
ip-full: 未安装
libcap: 未安装
libcap-bin: 未安装
ruby: 未安装
ruby-yaml: 未安装
ruby-psych: 未安装
ruby-pstore: 未安装
kmod-tun(TUN模式): 未安装
luci-compat(Luci >= 19.07): 未安装
kmod-inet-diag(PROCESS-NAME): 未安装
unzip: 未安装
iptables-mod-tproxy: 未安装
kmod-ipt-tproxy: 未安装
iptables-mod-extra: 未安装
kmod-ipt-extra: 未安装
kmod-ipt-nat: 未安装

#===================== 内核检查 =====================#

运行状态: 运行中
进程pid: 14484
运行权限: 14484: cap_dac_override,cap_net_bind_service,cap_net_admin,cap_net_raw,cap_sys_ptrace,cap_sys_resource=eip
运行用户: nobody
已选择的架构: linux-amd64

#下方无法显示内核版本号时请确认您的内核版本是否正确或者有无权限
Tun内核版本: 2022.08.26-16-gb4d832d
Tun内核文件: 存在
Tun内核运行权限: 正常

Dev内核版本: v1.11.12-1-gde264c4
Dev内核文件: 存在
Dev内核运行权限: 正常

Meta内核版本: alpha-g4c5853e
Meta内核文件: 存在
Meta内核运行权限: 正常

#===================== 插件设置 =====================#

当前配置文件: /etc/openclash/config/config.yaml
启动配置文件: /etc/openclash/config.yaml
运行模式: fake-ip
默认代理模式: rule
UDP流量转发(tproxy): 启用
DNS劫持: 启用
自定义DNS: 启用
IPV6代理: 启用
IPV6-DNS解析: 启用
禁用Dnsmasq缓存: 停用
自定义规则: 启用
仅允许内网: 启用
仅代理命中规则流量: 启用
仅允许常用端口流量: 停用
绕过中国大陆IP: 启用
DNS远程解析: 停用
路由本机代理: 启用

#启动异常时建议关闭此项后重试
混合节点: 启用
保留配置: 停用

#启动异常时建议关闭此项后重试
第三方规则: 启用

#===================== 自定义规则 二 =====================#
script:
##  shortcuts:
##    common_port: dst_port not in [21, 22, 23, 53, 80, 123, 143, 194, 443, 465, 587, 853, 993, 995, 998, 2052, 2053, 2082, 2083, 2086, 2095, 2096, 5222, 5228, 5229, 5230, 8080, 8443, 8880, 8888, 8889]

##  code: |
##    def main(ctx, metadata):
##        directkeywordlist = ["baidu"]
##        for directkeyword in directkeywordlist:
##          if directkeyword in metadata["host"]:
##            ctx.log('[Script] matched keyword %s use direct' % directkeyword)
##            return "DIRECT"

rules:
##- SCRIPT,common_port,DIRECT #shortcuts rule

##- DOMAIN-SUFFIX,google.com,Proxy #匹配域名后缀(交由Proxy代理服务器组)
##- DOMAIN-KEYWORD,google,Proxy #匹配域名关键字(交由Proxy代理服务器组)
##- DOMAIN,google.com,Proxy #匹配域名(交由Proxy代理服务器组)
##- DOMAIN-SUFFIX,ad.com,REJECT #匹配域名后缀(拒绝)
##- IP-CIDR,127.0.0.0/8,DIRECT #匹配数据目标IP(直连)
##- SRC-IP-CIDR,192.168.1.201/32,DIRECT #匹配数据发起IP(直连)
  - DOMAIN-KEYWORD,tracker,DIRECT
  - DST-PORT,1337,DIRECT 
  - DST-PORT,6969,DIRECT 
##- DST-PORT,80,DIRECT #匹配数据目标端口(直连)
##- SRC-PORT,7777,DIRECT #匹配数据源端口(直连)
*

#===================== IPSET状态 =====================#

Name: china_ip_route
Name: china_ip_route_pass
Name: localnetwork
Name: china_ip6_route
Name: china_ip6_route_pass
Name: localnetwork6

#===================== 路由表状态 =====================#

#route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         111.*.*.*    0.0.0.0         UG    0      0        0 pppoe-pppoe
111.*.*.*    0.0.0.0         255.255.255.255 UH    0      0        0 pppoe-pppoe
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0.2
192.168.50.0    0.0.0.0         255.255.255.0   U     0      0        0 br-lan
192.168.191.0   0.0.0.0         255.255.255.0   U     0      0        0 ztuzevqnva
#ip route list
default via 111.*.*.* dev pppoe-pppoe proto static 
111.*.*.* dev pppoe-pppoe proto kernel scope link src *WAN IP* 
192.168.1.0/24 dev eth0.2 proto kernel scope link src 192.168.1.3 
192.168.50.0/24 dev br-lan proto kernel scope link src 192.168.50.1 
192.168.191.0/24 dev ztuzevqnva proto kernel scope link src 192.168.191.1 
#ip rule show
0:  from all lookup local
32765:  from all fwmark 0x162 lookup 354
32766:  from all lookup main
32767:  from all lookup default

#===================== 端口占用状态 =====================#

tcp        0      0 :::9090                 :::*                    LISTEN      14484/clash
tcp        0      0 :::7890                 :::*                    LISTEN      14484/clash
tcp        0      0 :::7891                 :::*                    LISTEN      14484/clash
tcp        0      0 :::7892                 :::*                    LISTEN      14484/clash
tcp        0      0 :::7893                 :::*                    LISTEN      14484/clash
tcp        0      0 :::7895                 :::*                    LISTEN      14484/clash
udp        0      0 :::7874                 :::*                                14484/clash
udp        0      0 :::7891                 :::*                                14484/clash
udp        0      0 :::7892                 :::*                                14484/clash
udp        0      0 :::7893                 :::*                                14484/clash
udp        0      0 :::7895                 :::*                                14484/clash
udp        0      0 :::42921                :::*                                14484/clash

#===================== 测试本机DNS查询 =====================#

Server:     127.0.0.1
Address:    127.0.0.1#53

Name:      www.baidu.com
www.baidu.com   canonical name = www.a.shifen.com
Name:      www.a.shifen.com
Address 1: 14.215.177.39
Address 2: 14.215.177.38
www.baidu.com   canonical name = www.a.shifen.com

#===================== resolv.conf.auto =====================#

# Interface pppoe
nameserver 202.*
nameserver 202.*
# Interface pppoe_6
nameserver 240e:*
nameserver 240e:*
# Interface wan
nameserver 192.168.1.1

#===================== resolv.conf.d =====================#

# Interface pppoe
nameserver 202.*.*.*
nameserver 202.*.*.*
# Interface pppoe_6
nameserver 240e:****
nameserver 240e:****
# Interface wan
nameserver 192.168.1.1

#===================== 测试本机网络连接 =====================#

HTTP/1.1 200 OK
Accept-Ranges: bytes
Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
Connection: keep-alive
Content-Length: 277
Content-Type: text/html
Date: Wed, 07 Dec 2022 11:20:33 GMT
Etag: "575e1f72-115"
Last-Modified: Mon, 13 Jun 2016 02:50:26 GMT
Pragma: no-cache
Server: bfe/1.0.8.18

#===================== 测试本机网络下载 =====================#

HTTP/2 200 
cache-control: max-age=300
content-security-policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
content-type: text/plain; charset=utf-8
etag: "f9b464e93b2bdfda94b649d5d067b155764d97951465058cb1643f9ffc3c6e51"
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
x-frame-options: deny
x-xss-protection: 1; mode=block
x-github-request-id: AF68:0440:6D965:9395E:6372F021
accept-ranges: bytes
date: Wed, 07 Dec 2022 11:20:34 GMT
via: 1.1 varnish
x-served-by: cache-qpg1280-QPG
x-cache: HIT
x-cache-hits: 3
x-timer: S1670412035.928485,VS0,VE0
vary: Authorization,Accept-Encoding,Origin
access-control-allow-origin: *
x-fastly-request-id: 7af43e51573f312c55a1279581b1da05fbd68710
expires: Wed, 07 Dec 2022 11:25:34 GMT
source-age: 264
content-length: 80

#===================== 最近运行日志 =====================#

#===================== 活动连接信息 =====================#

OpenClash Config

No response

Expected Behavior

在Fake-IP模式下,通过dnsmasq的参数来为不走代理的设备分配运营商的DNS,并且不hook它们的DNS

Screenshots

No response

machine-doll commented 1 year ago

可以删掉这个issue吗?不小心把公网IP传上去了,怕被喝茶

gitcook commented 1 year ago

绕过大陆ip还是有bug吧 ,开启后阿里云盘速度上不去了 只有3m/s

github-actions[bot] commented 1 year ago

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 5 days