vernesong / OpenClash

A Clash Client For OpenWrt

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

同一个配置,在fake-ip混合下,就无法通过域名访问内网设备,切到Redir-Host混合立马OK

Se7enMuting opened this issue · comments

一直用Redir-Host混合,没有什么问题,道路都很畅通。
试了下切到fake-ip混合,国外国内访问也都没有问题,但是:大概5分钟之后(不是立马不能访问),我内网的设备(群晖,另个主机虚拟的Centos7)都无法通过域名访问(https://aaa.cn:****,cn域名,有TLS),用内网IP可以正常访问。

特别的地方具体说下,不知道和这个有没有关系:
NAS:192.168.1.3,因为是PT下载机,在openclash插件的规则设置里加了:- SRC-IP-CIDR,192.168.1.3/32,DIRECT,因为在fake-ip混合下访问控制里面没有lan的黑名单设置,只是这样BT流量会过openclash(DIRECT)。
而在Redir-Host混合下,可以通过访问控制里的lan黑名单把192.168.1.3剔除掉,整台NAS的流量都不过openclash。
不知道和这个有没有关系,但是另一台Centos:192.168.1.139里的应用,此时通过同一个域名,也无法访问,这个IP没有在插件里有过什么设置,只是个跑docker挂机用的,和主路由虚拟在同一个PVE下面。

然后什么都不动,直接切换到Redir-Host混合,立马OK,内网的设备通过https://aaa.cn:**** 都可以正常访问了。

OpenWrt是自己编译的清爽版,有UPnP插件,防火墙没有勾选启用FullCone-NAT,没有TURBO ACC插件,没有其他DNS插件,没有过滤广告插件,其他乱七八糟的插件统统都没有。

OpenClash 调试日志

生成时间: 2021-10-10 03:41:12
插件版本: v0.43.06-beta
隐私提示: 上传此日志前请注意检查、屏蔽公网IP、节点、密码等相关敏感信息

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

主机型号: Intel Core Processor (Broadwell) : 2 Core 2 Thread
固件版本: OpenWrt SNAPSHOT r3768-687407acd
LuCI版本: git-21.280.14233-9b796b1-1
内核版本: 5.4.145
处理器架构: x86_64

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

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

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

dnsmasq-full: 已安装
coreutils: 已安装
coreutils-nohup: 已安装
bash: 已安装
curl: 已安装
ca-certificates: 已安装
ipset: 已安装
ip-full: 已安装
iptables-mod-tproxy: 已安装
kmod-ipt-tproxy: 已安装
iptables-mod-extra: 已安装
kmod-ipt-extra: 已安装
libcap: 已安装
libcap-bin: 已安装
ruby: 已安装
ruby-yaml: 已安装
ruby-psych: 已安装
ruby-pstore: 已安装
ruby-dbm: 已安装
kmod-tun(TUN模式): 已安装
luci-compat(Luci-19.07): 已安装

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

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

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

Game内核版本: 20210310-122-g48a4641
Game内核文件: 存在
Game内核运行权限: 正常

Dev内核版本: v1.7.1-5-gced9749
Dev内核文件: 存在
Dev内核运行权限: 正常

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

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

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

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

#===================== 自定义规则 一 =====================#
script:
##- shortcuts:
##- quic: network == 'udp' and dst_port == 443 and (geoip(resolve_ip(host)) != 'CN' or geoip(dst_ip) != 'CN')
##- time-limit: in_cidr(src_ip,'192.168.1.2/32') and time.now().hour < 20 or time.now().hour > 21
##- time-limit: src_ip == '192.168.1.2' and time.now().hour < 20 or time.now().hour > 21

rules:
##- SCRIPT,quic,REJECT #shortcuts rule
##- SCRIPT,time-limit,REJECT #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(直连)
##- DST-PORT,80,DIRECT #匹配数据目标端口(直连)
##- SRC-PORT,7777,DIRECT #匹配数据源端口(直连)

##排序在上的规则优先生效,如添加(去除规则前的#号):
##IP段:192.168.1.2-192.168.1.200 直连
##- SRC-IP-CIDR,192.168.1.2/31,DIRECT
##- SRC-IP-CIDR,192.168.1.4/30,DIRECT
##- SRC-IP-CIDR,192.168.1.8/29,DIRECT
##- SRC-IP-CIDR,192.168.1.16/28,DIRECT
##- SRC-IP-CIDR,192.168.1.32/27,DIRECT
##- SRC-IP-CIDR,192.168.1.64/26,DIRECT
##- SRC-IP-CIDR,192.168.1.128/26,DIRECT
##- SRC-IP-CIDR,192.168.1.192/29,DIRECT
##- SRC-IP-CIDR,192.168.1.200/32,DIRECT

##IP段:192.168.1.202-192.168.1.255 直连
##- SRC-IP-CIDR,192.168.1.202/31,DIRECT
##- SRC-IP-CIDR,192.168.1.204/30,DIRECT
##- SRC-IP-CIDR,192.168.1.208/28,DIRECT
##- SRC-IP-CIDR,192.168.1.224/27,DIRECT

##此时IP为192.168.1.1和192.168.1.201的客户端流量走代理(策略),其余客户端不走代理
##因为Fake-IP模式下,IP地址为192.168.1.1的路由器自身流量可走代理(策略),所以需要排除

##仅设置路由器自身直连:
##- SRC-IP-CIDR,192.168.1.1/32,DIRECT
##- SRC-IP-CIDR,198.18.0.1/32,DIRECT

##DDNS
##- DOMAIN-SUFFIX,checkip.dyndns.org,DIRECT
##- DOMAIN-SUFFIX,checkipv6.dyndns.org,DIRECT
##- DOMAIN-SUFFIX,checkip.synology.com,DIRECT
##- DOMAIN-SUFFIX,ifconfig.co,DIRECT
##- DOMAIN-SUFFIX,api.myip.com,DIRECT
##- DOMAIN-SUFFIX,ip-api.com,DIRECT
##- DOMAIN-SUFFIX,ipapi.co,DIRECT
##- DOMAIN-SUFFIX,ip6.seeip.org,DIRECT
##- DOMAIN-SUFFIX,members.3322.org,DIRECT

##在线IP段转CIDR地址:http://ip2cidr.com

######################################

  • SRC-PORT,51413,DIRECT
  • SRC-PORT,51423,DIRECT
  • SRC-PORT,60654,DIRECT
  • SRC-PORT,33496,DIRECT
  • SRC-IP-CIDR,192.168.1.3/32,DIRECT

#===================== 自定义规则 二 =====================#
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]

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(直连)
##- DST-PORT,80,DIRECT #匹配数据目标端口(直连)
##- SRC-PORT,7777,DIRECT #匹配数据源端口(直连)
*
*
*
*
*

开一下控制日志看下链接日志和DNS日志

没问题就在DNS高级设置更新Fake-IP域名黑名单或者第二DNS服务器把你的域名加进去

感谢,虽然这个DNS高级模式和Fake-IP域名黑名单原理我还不是太清楚,但是通过下面的设置,我这个问题解决了:

  1. 点开DNS高级模式,更新Fake-IP域名黑名单
  2. 指定(第二)DNS服务器改成119.29.29.29,因为我的cn域名是用dnspod解析的,感觉可能会快一点点吧。。。
  3. 指定(第二)DNS服务器下面第一个表格里加上我的内网设备域名aaa.cn
  4. 在自定义DNS里,把所有FallBack类型的服务器都取消掉,我以前切Fake-IP这个都没有取消。。。

问题解决了👌

我里我发现一个小小的问题:指定(第二)DNS服务器下面第一个表格默认有一行#baidu.com,但是是高亮的,我加的aaa.cn也是高亮的,我还一度犹豫是不是应该写成#aaa.cn🤦‍♂️

在OpenClash插件设置中,
内网域名:启用第二DNS服务器:114.114.114.114。将需要访问的内网域名地址写入下方即可。
内网IP:在流量控制面板将需要访问的内网IP添加到本地 IPv4 绕过地址即可。