xiaorouji / openwrt-passwall

7.18k stars 2.64k forks source link

[Bug]: 在ip111.cn等ip检测网站检测ip都是墙内ip,但可以正常科学上网。 #3218

Closed caoxinyi1993 closed 5 months ago

caoxinyi1993 commented 5 months ago

描述您遇到的bug

在ip111.cn等ip检测网站检测i,无论是海外访问还是谷歌访问均显示墙内ip,但可以正常科学上网。请教一下是哪里设置的不对。

复现此Bug的步骤

没有开启默认根据服务的分流。 常规设置chnroute(中国列表以外)+dnsmasq-full+dns2socks+Chinadns 已删除geosite:cn(即原始direct里的第一条“cn”) tproxy+nftables 端口的话仅tcp常用,其他的基本都是不过代理。

您想要实现的目的

像早期版本那样,完全屏蔽所有国内ip访问海外ip的可能,并使用海外ip访问海外地址。

日志信息

2024-05-25 11:25:19: 清空并关闭相关程序和缓存完成。 2024-05-25 11:25:19: 分析 Socks 服务的节点配置... 2024-05-25 11:25:19: - Socks节点:[MAIN]*:443,启动 0.0.0.0:1081 2024-05-25 11:25:19: TCP节点:[MAIN],监听端口:1041 2024-05-25 11:25:19: UDP节点没有选择或为空,不代理UDP。 2024-05-25 11:25:19: DNS域名解析: 2024-05-25 11:25:19: - dns2socks(127.0.0.1#15353),127.0.0.1:1070 -> tcp://8.8.8.8:53 2024-05-25 11:25:19: - ChinaDNS-NG(127.0.0.1#15354):直连DNS:192.168.0.1(国内运营商dns),可信DNS:127.0.0.1#15353 2024-05-25 11:25:19: - 节点列表中的域名(vpslist):192.168.0.1 2024-05-25 11:25:19: - 域名白名单(whitelist):默认 2024-05-25 11:25:19: - 代理域名表(blacklist):默认 2024-05-25 11:25:19: - 防火墙域名表(gfwlist):默认 2024-05-25 11:25:19: - 中国域名表(chnroute):默认 2024-05-25 11:25:19: - 默认:127.0.0.1#15354 2024-05-25 11:25:19: - PassWall必须依赖于Dnsmasq,如果你自行配置了错误的DNS流程,将会导致域名(直连/代理域名)分流失效!!! 2024-05-25 11:25:19: 开始加载防火墙规则... 2024-05-25 11:25:20: - [0]追加ISP IPv4 DNS到白名单:192.168.0.1 2024-05-25 11:25:20: - [0]加入负载均衡的节点到ipset[passwall_vpslist] 2024-05-25 11:25:20: - [0]加入所有节点到ipset[passwall_vpslist] 2024-05-25 11:25:20: - [0]追加直连DNS到iptables:192.168.0.1:53 2024-05-25 11:25:20: - 【路由器本机】,不代理所有 UDP 端口 2024-05-25 11:25:20: - 【路由器本机】,屏蔽代理 UDP 端口[443] 2024-05-25 11:25:20: - 访问控制: 2024-05-25 11:25:20: - 【默认】,不代理所有 UDP 端口 2024-05-25 11:25:20: - 【默认】,屏蔽代理 UDP 端口[443] 2024-05-25 11:25:20: - 【默认】,使用 TCP 节点MAIN 2024-05-25 11:25:20: 防火墙规则加载完成! 2024-05-25 11:25:20: 重启 dnsmasq 服务 2024-05-25 11:25:20: 运行完成!

截图

No response

系统相关信息

OpenWrt 22.03.6, passwall 4.77-5-smartdns-dev, chnroute:clang.cn gaoyifan/coip/china soffchen&hackl0us/geoip2-cn。

其他信息

No response

wtfr-dot commented 5 months ago

看我的issue#3216

nftbty commented 5 months ago

请教一下是哪里设置的不对

你也要先把配置贴上来啊,不然谁知道你怎么配置的,哪里不对。

不过我测试是没问题的,你检查下规则列表,是不是有把 .cnip111.cn 加入直连列表。如果使用分流,还要检查下分流规则。

caoxinyi1993 commented 5 months ago

不过我测试是没问题的,你检查下规则列表,是不是有把 .cnip111.cn 加入直连列表。如果使用分流,还要检查下分流规则。

感谢回复,我与一楼(issue#3216)的问题除了重启不卡luci和没使用默认分流以外基本一致,设置亦相同。您方便的话关注一下他的上报。 简化了一下我的需求,感觉geoip模式其实就够了,仅geoip:cn直连,范围外的均走代理,不知这样该如何设置。

caoxinyi1993 commented 5 months ago

看我的issue#3216

跟你的差不多,我已经quote了。

nftbty commented 5 months ago

其实软件本身是没问题的,主要在于配置项比较多,某些网站直连还是代理受到多个地方配置影响。 3216提的问题是在分流模式。分流规则里最不可控的就是使用了geosite: 和geoip: 规则集。我一直用的分流,但是没有直连规则,更没有用到 geosite 和 geoip,代理模式是gfw列表代理。

但是从你贴的日志来看,你是用的socks自动切换节点,貌似并不是使用的分流。所以问题只能出在几个规则列表。因为不清楚你的代理模式,以及其他配置情况,也不好给出排查建议。

每个人的配置都不同,而且你和3216的明显是有很大差别的,你俩并不是一个问题,要解决你的问题,还是得把具体配置贴上来。 最后强调一点,分流部分程序代码层面是不存在问题的,出问题的还是在各个规则列表(包括xray/singbox分流规则)

uingei commented 5 months ago

规则管理 > 分流规则 > Direct > 域名 修改 geosite:cn 为 geosite:geolocation-cn 规则列表 > 直连列表 去掉 cn那行 ip111.cn 看起来就正常了

caoxinyi1993 commented 5 months ago

每个人的配置都不同,而且你和3216的明显是有很大差别的,你俩并不是一个问题,要解决你的问题,还是得把具体配置贴上来。 最后强调一点,分流部分程序代码层面是不存在问题的,出问题的还是在各个规则列表(包括xray/singbox分流规则)

感谢回复。issue中我已更新具体配置内容,劳驾查看。基本就是仅tcp常用代理,默认带的直连规则规则“cn”也删除了,使用中国列表以外方式,但依旧是三连墙内ip。使用的最新版本passwall。如果方便,能告知下在用的passwall版本号吗,多谢。

caoxinyi1993 commented 5 months ago

规则管理 > 分流规则 > Direct > 域名 修改 geosite:cn 为 geosite:geolocation-cn 规则列表 > 直连列表 去掉 cn那行 ip111.cn 看起来就正常了

感谢回复。我尝试过了,还是不行。

wtfr-dot commented 5 months ago

其实软件本身是没问题的,主要在于配置项比较多,某些网站直连还是代理受到多个地方配置影响。 3216提的问题是在分流模式。分流规则里最不可控的就是使用了geosite: 和geoip: 规则集。我一直用的分流,但是没有直连规则,更没有用到 geosite 和 geoip,代理模式是gfw列表代理。

  • 直接访问ip111.cn 结果正常(国内和国外均为直连IP,谷歌为代理IP)。
  • 代理模式改为非中国列表,结果也符合预期(国内为直连IP,国外和谷歌均为代理IP)
  • 开启分流规则China,规则只有一条geosite:cn,访问ip111.cn,结果跟你一样(三个全部为直连IP)
  • 3216 里有说把 23.80.5.9(国外测试域名us.ip111.cn 的IP)添加到代理列表没用,还是直连,我也测试了一下。代理模式改为gfw列表代理,关闭China规则,把 23.80.5.9 添加到代理IP列表。结果国外测试成功走了代理,显示为代理IP,并没有问题。

但是从你贴的日志来看,你是用的socks自动切换节点,貌似并不是使用的分流。所以问题只能出在几个规则列表。因为不清楚你的代理模式,以及其他配置情况,也不好给出排查建议。

每个人的配置都不同,而且你和3216的明显是有很大差别的,你俩并不是一个问题,要解决你的问题,还是得把具体配置贴上来。 最后强调一点,分流部分程序代码层面是不存在问题的,出问题的还是在各个规则列表(包括xray/singbox分流规则)

我刚才看了一下访问控制配置的源码,发现缺少了luci模式设置里的一些选项,切换模式在配置文件源码里没有相应的选项,也就是说这个界面实际上跟源码对不上的,所以实际分流流程跟我原来不一样,原来我是在模式这里选择中国列表以外。按现在的源码配置,只有通过是否选那几个列表来确定分流路径,但规则列表里自定义规则优先级失效了,同时因为有geosite和geoip这两个数据库的存在,在分流设置上是有区别的,总之,我觉得在这一块还是有改进的地方

uingei commented 5 months ago

规则管理 > 分流规则 > Direct > 域名 修改 geosite:cn 为 geosite:geolocation-cn 规则列表 > 直连列表 去掉 cn那行 ip111.cn 看起来就正常了

感谢回复,我尝试过了,还是不行。

重开浏览器看应该没问题,而且切换 gfw 列表 或 中国列表以外 也正常

caoxinyi1993 commented 5 months ago

规则管理 > 分流规则 > Direct > 域名 修改 geosite:cn 为 geosite:geolocation-cn 规则列表 > 直连列表 去掉 cn那行 ip111.cn 看起来就正常了

感谢回复,我尝试过了,还是不行。

重开浏览器看应该没问题,而且切换 gfw 列表 或 中国列表以外 也正常

那大概是版本bug了。楼上review源码也发现了问题,大概这两条issues能飞一会儿了。 方便的话麻烦告知下在用版本,多谢。 我在用:passwall 4.77-5-smartdns-dev。

uingei commented 5 months ago

规则管理 > 分流规则 > Direct > 域名 修改 geosite:cn 为 geosite:geolocation-cn 规则列表 > 直连列表 去掉 cn那行 ip111.cn 看起来就正常了

感谢回复,我尝试过了,还是不行。

重开浏览器看应该没问题,而且切换 gfw 列表 或 中国列表以外 也正常

那大概是版本bug了。楼上review源码也发现了问题,大概这两条issues能飞一会儿了。 方便的话麻烦告知下在用版本,多谢。 我在用:passwall 4.77-5-smartdns-dev。

主分支 57d10df

caoxinyi1993 commented 5 months ago

在删除“cn”直连规则的基础上,反复尝试了多次gfw列表,中国以外列表等上网方式,均告全墙内地址。科学上网不受影响。 dns使用chinadnsng+dns2socks(本地节点的socks) 其他均未改动。 我在用:passwall 4.77-5-smartdns-dev,该版本下"规则管理 > 分流规则 > Direct > 域名 "下无法设置geosite,只能写顶域,其他的一概不生效。。如有小选项需告知请下方留言,感恩。

jackiezhang29 commented 5 months ago

我想问下,选择了中国列表以外,然后把direct这个默认的分流删除,是否可以?

wtfr-dot commented 5 months ago

在删除“cn”直连规则的基础上,反复尝试了多次gfw列表,中国以外列表等上网方式,均告全墙内地址。科学上网不受影响。 dns使用chinadnsng+dns2socks(本地节点的socks) 其他均未改动。 我在用:passwall 4.77-5-smartdns-dev,该版本下"规则管理 > 分流规则 > Direct > 域名 "下无法设置geosite,只能写顶域,其他的一概不生效。。如有小选项需告知请下方留言,感恩。

规则列表里的cn删掉,再把direct里面的geosite:cn删掉就可以了,原因是IP111.cn的美国ip地址对应的us.ip111.cn,从域名分类来说还是属于cn,但是它被包含进geosite了,没有包含在中国域名列表里