vernesong / OpenClash

A Clash Client For OpenWrt
MIT License
17.47k stars 3.18k forks source link

TUN内核,UDP使用TProxy和TUN,测出来NAT类型不同 #2342

Closed returnL closed 2 years ago

returnL commented 2 years ago

版本及配置信息

OpenClash:v0.45.12-beta TUN内核:04.17 Premuim DNS配置:

dns:
  enable: true
  listen: 127.0.0.1:8853
  enhanced-mode: fake-ip
  default-nameserver:
    - 119.29.29.29
    - 223.5.5.5
    - 1.0.0.1
  nameserver:
    - https://dns.pub/dns-query
    - https://dns.alidns.com/dns-query
  fallback:
    - tls://1.0.0.1
    - https://public.dns.iij.jp/dns-query
    - tls://8.8.4.4
  fake-ip-filter:
    - "+.lan"
    - "*.localdomain"
    - "*.example"
    - "*.invalid"
    - "*.localhost"
    - "*.test"
    - "*.local"
    - "*.home.arpa"
    - "time.*.com"
    - "time.*.gov"
    - "time.*.edu.cn"
    - "time.*.apple.com"
    - "time1.*.com"
    - "time2.*.com"
    - "time3.*.com"
    - "time4.*.com"
    - "time5.*.com"
    - "time6.*.com"
    - "time7.*.com"
    - ntp.ntsc.ac.cn
    - "ntp.*.com"
    - "ntp1.*.com"
    - "ntp2.*.com"
    - "ntp3.*.com"
    - "ntp4.*.com"
    - "ntp5.*.com"
    - "ntp6.*.com"
    - "ntp7.*.com"
    - "*.time.edu.cn"
    - "*.ntp.org.cn"
    - "+.pool.ntp.org"
    - "time1.cloud.tencent.com"
    - "music.163.com"
    - "*.music.163.com"
    - "*.126.net"
    - "musicapi.taihe.com"
    - "music.taihe.com"
    - "songsearch.kugou.com"
    - "trackercdn.kugou.com"
    - "*.kuwo.cn"
    - "api-jooxtt.sanook.com"
    - "api.joox.com"
    - "joox.com"
    - "y.qq.com"
    - "*.y.qq.com"
    - "streamoc.music.tc.qq.com"
    - "mobileoc.music.tc.qq.com"
    - "isure.stream.qqmusic.qq.com"
    - "dl.stream.qqmusic.qq.com"
    - "aqqmusic.tc.qq.com"
    - "amobile.music.tc.qq.com"
    - "*.xiami.com"
    - "*.music.migu.cn"
    - "music.migu.cn"
    - "*.msftconnecttest.com"
    - "*.msftncsi.com"
    - "msftconnecttest.com"
    - "msftncsi.com"
    - "localhost.ptlogin2.qq.com"
    - "localhost.sec.qq.com"
    - "+.srv.nintendo.net"
    - "+.stun.playstation.net"
    - "xbox.*.microsoft.com"
    - "xnotify.xboxlive.com"
    - "+.battlenet.com.cn"
    - "+.wotgame.cn"
    - "+.wggames.cn"
    - "+.wowsgame.cn"
    - "+.wargaming.net"
    - "proxy.golang.org"
    - "stun.*.*"
    - "stun.*.*.*"
    - "+.stun.*.*"
    - "+.stun.*.*.*"
    - "+.stun.*.*.*.*"
    - "heartbeat.belkin.com"
    - "*.linksys.com"
    - "*.linksyssmartwifi.com"
    - "*.router.asus.com"
    - "mesu.apple.com"
    - "swscan.apple.com"
    - "swquery.apple.com"
    - "swdownload.apple.com"
    - "swcdn.apple.com"
    - "swdist.apple.com"
    - "lens.l.google.com"
    - "stun.l.google.com"
    - "+.nflxvideo.net"
    - "*.square-enix.com"
    - "*.finalfantasyxiv.com"
    - "*.ffxiv.com"

问题描述

由于配置文件中使用了Script,所以使用OpenClash的三种模式调用的都是TUN内核。 运行在Fake-IP模式下,当使用增强模式时,UDP走TProxy,此时测出来的NAT类型是Full cone NAT,如果使用TUN或者混合模式,UDP走TUN,那测出来的NAT类型就变成了Port-Restricted cone NAT。

如果关闭OpenWRT中的OpenClash,打开电脑上的Clash for Windows运行在TUN模式,此时UDP也走TUN,NAT类型测试下来是Full cone,在手机上运行Clash for Android,NAT类型也是Full Cone,所以应该不是TUN内核的问题。

测试截图

这是运行在增强模式下的NAT测试截图: Screenshot_2022-05-01-14-58-55-65_79c948626e09f93eabc8d1dd852bf261_Mosaic_15_1_40

这是运行在TUN或混合模式下的NAT测试截图: Screenshot_2022-05-01-15-00-13-34_79c948626e09f93eabc8d1dd852bf261_Mosaic_15_1_29

vernesong commented 2 years ago

走代理测了没有

returnL commented 2 years ago

走代理测了没有

都是走代理测的,连接信息看截图,就只有TProxy和TUN的区别,节点是Shadowsocks image

MaoSuSu commented 2 years ago

其实这个问题存在很久了,在TUN模式下,就算不走代理也是Port restricted NAT

ace115 commented 2 years ago

请问下android上这个测nat的app是什么

returnL commented 2 years ago

请问下android上这个测nat的app是什么

https://github.com/MatsuriDayo/Matsuri

ace115 commented 2 years ago

请问下android上这个测nat的app是什么

https://github.com/MatsuriDayo/Matsuri

非常感谢

github-actions[bot] commented 2 years 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

nameless3721 commented 1 year ago

应该是防火墙问题 image 把tun在接口添加和lan一个防火墙应该就正常了 image image 暂时不知道会不会有什么副作用

MaoSuSu commented 1 year ago

应该是防火墙问题 image 把tun在接口添加和lan一个防火墙应该就正常了 image image 暂时不知道会不会有什么副作用

哈喽,请问可以贴出你的配置图么?我也想测试一下哈

nameless3721 commented 1 year ago

应该是防火墙问题 image 把tun在接口添加和lan一个防火墙应该就正常了 image image 暂时不知道会不会有什么副作用

哈喽,请问可以贴出你的配置图么?我也想测试一下哈

啥配置 你用tun后 会多一个tun设备吧 接口里面添加这个设备 防火墙选和lan一个就行了 我就勾了强制链路 应用后可能tun会失效 关了oepnclash再开就好了

MaoSuSu commented 1 year ago

应该是防火墙问题 image 把tun在接口添加和lan一个防火墙应该就正常了 image image 暂时不知道会不会有什么副作用

哈喽,请问可以贴出你的配置图么?我也想测试一下哈

啥配置 你用tun后 会多一个tun设备吧 接口里面添加这个设备 防火墙选和lan一个就行了 我就勾了强制链路 应用后可能tun会失效 关了oepnclash再开就好了

感谢,我是勾选了开机启动、强制链路和使用内部ipv6,其余和你一致,到目前为止使用挺稳定的,nat保持开放

congling commented 1 year ago

使用fake-ip+tun模式,没有生成一个utun的网络接口哦,是否要新建一个,并且将openclash绑定到这个接口上?