Skip to content

网络连接异常时排查原因

vernesong edited this page Jan 30, 2020 · 12 revisions

一、DNS设置错误

  1. 切换模式到Fake-IP
  2. 在客户端使用nslookupdig等命令查询DNS

正确的响应结果

Microsoft Windows [版本 10.0.17763.652]
(c) 2018 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>nslookup www.baidu.com
服务器:  UnKnown
Address:  192.168.188.139

非权威应答:
名称:    www.baidu.com
Addresses:  198.18.0.59
          198.18.0.59



C:\Users\Administrator>

可能出现的响应结果

Microsoft Windows [版本 10.0.17763.652]
(c) 2018 Microsoft Corporation。保留所有权利。

C:\Users\Administrator>nslookup www.baidu.com
服务器:  UnKnown
Address:  fd3c:2241:ad9a::1

非权威应答:
名称:    www.baidu.com
Addresses:  198.18.0.59
          198.18.0.59



C:\Users\Administrator>

解决方案一

此时DNS查询被IPV6抢答,但您并未在DNS设置中启用IPV6类型DNS解析或没有配置好内网IPV6的NAT

  1. 设置路由器lan口,关闭IPV6的DHCP服务(推荐)
  2. 检查IPV6的连通性,路由器安装kmod-ipt-nat6并配置正确,在DNS设置中启用IPV6类型DNS解析,切换到Redir兼容模式

解决方案二

如未返回以198.18开头的查询结果,请确保OpenClash能拿到客户端DNS请求!

  1. 按照DNS配置检查可能存在的冲突

二、DNS正常时仍无法进行代理(非游戏模式)

使用iptables -t nat -nL --line-number命令查询当前防火墙规则

PREROUTING链正常的返回结果

Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    cloud_music  tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 match-set music dst
2    prerouting_rule  all  --  0.0.0.0/0            0.0.0.0/0            /* !fw3: Custom prerouting rule chain */
3    zone_lan_prerouting  all  --  0.0.0.0/0            0.0.0.0/0            /* !fw3 */
4    REDIRECT   udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:53 redir ports 53
5    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:53 redir ports 53

zone_lan_prerouting链正常的返回结果

Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    prerouting_lan_rule  all  --  0.0.0.0/0            0.0.0.0/0            /* !fw3: Custom lan prerouting rule chain */
2    openclash  tcp  --  0.0.0.0/0            0.0.0.0/0    

解决方案

  1. 请确保zone_lan_prerouting链中存在以上示例中的第2条规则,否则请尝试排查防火墙规则添加出现错误的原因或重新安装本插件
  2. 请确保PREROUTING链中在zone_lan_prerouting前不存在其他类似的tcp流量劫持规则,否则会导致流量无法转发到OpenClash,请您关闭冲突插件后重试
  3. 由于Wan单臂路由不存在在lan口,仅需检查PREROUTING链正常的返回结果,确保以下示例中的第6条规则存在。
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    cloud_music  tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 match-set music dst
2    prerouting_rule  all  --  0.0.0.0/0            0.0.0.0/0            /* !fw3: Custom prerouting rule chain */
3    zone_lan_prerouting  all  --  0.0.0.0/0            0.0.0.0/0            /* !fw3 */
4    REDIRECT   udp  --  0.0.0.0/0            0.0.0.0/0            udp dpt:53 redir ports 53
5    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:53 redir ports 53
6    openclash  tcp  --  0.0.0.0/0            0.0.0.0/0    

三、DNS正常时仍无法进行代理(TUN模式、游戏模式)

使用route命令查询当前路由规则 检查是否正常生成了名为utun(Fake-IP(TUN)模式)或者clash0(游戏模式)的路由表规则

解决方案

  1. 检查依赖kmod-tun是否已经安装
  2. 检查配置文件内是否正常添加了以下配置
tun:
  enable: true
  1. 尝试更新您的固件

使用手册

项目构建

界面介绍

FAQ

Clone this wiki locally