Closed SilenceEagle closed 2 years ago
下面设备的IPv6 DNS要删掉或者设置为旁路由lan口的IPV6地址,插件开启IPV6DNS解析和DNS劫持
同样的问题,这几天翻了很多issue,是因为主路由下发的ipv6网关和dns并没有指向旁路由,导致v6流量没有经过旁路由。我自己用的是小米路由器,ipv6支持很糟糕,所以只能缝缝补补勉强跑起来,想要良好v6体验还是换主路由吧。
windows:
1.在网口TCP/IPv6里手动将网关和dns指向旁路由本地v6地址。
2.或者修改注册表,[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters]"DisabledComponents"=dword:00000020,提高ipv4优先级。
android:
1.echo 1> /proc/sys/net/ipv6/conf/wlan0/disable_ipv6禁用ipv6解析(需root)。
2.第三方软件指定v6dns网关
@vernesong @YYiiEt 感谢两位大神的回复,建议确实有效,我将下面设备的IPv6
DNS设置为旁路由的本地IPv6
地址后,可以访问PT站的同时也科学上网了,但有一点不足就是 test-ipv6 测试没有 IPv6
地址。
我具体的操作是这样的:
网络
-->接口
下修改IPv6 ULA 前缀
为同主路由子网LAN IPv6前缀
一样;网络
-->接口
-->lan
-->基本设置
将 IPv6分配长度
修改为和主路由LAN IPv6
分配长度一样,并将IPv6 后缀
指定为::6
;网络
-->接口
-->lan
-->IPv6 设置
下 路由通告模式
选为服务器模式
,通告的 DNS 服务器
设置为旁路由自己的本地IPv6地址(后缀为6);lan6
口 https://www.right.com.cn/forum/thread-4046582-1-1.html
网络
-->DHCP/DNS
-->高级设置
下取消勾选禁止解析 IPv6 DNS 记录
;服务
-->OpenClash
-->全局设置
-->模式设置
下勾选IPv6流量代理
和实验性:绕过中国大陆IPv6
;服务
-->OpenClash
-->全局设置
-->DNS设置
下勾选允许IPv6类型DNS解析
。这是最终旁路由的一个状态:
所以有没有可能在此基础上再通过 test-ipv6 测试。
万分感谢!!!
用redirhost,fakeip没有ipv6
用redirhost,fakeip没有ipv6
切换到redirhost模式后还是通不过 test-ipv6 测试。
不要走代理了,代理支持ipv6才能过
我理解是这样,ipv6独立于ipv4运行,但是dns解析又是另一个独立的过程。
配置ipv6的目的是为了上PT(这个需求我也有),但是实际上没有上外网ipv6的需求,并且目前大多数机场也不支持ipv6。所以最终需求是:
- 能上国内ipv6,能够获得ipv6地址(但不要求ipv6的dns);
- ipv4要能够上国内和国外,这就要求设备能够配置有效的ipv4网关,并且把dns指向网关。
但是问题是,自动配置的ipv6除了会下发地址,还会下发一个dns服务器,默认是路由器本身;加上ipv4的设置,设备应该至少获得了两个dns(ipv4是可以配置好的,不论ios、android或者windows都可以配置,但ipv6在android下只能自动获得,并且还不能手动删除),同时考虑到多数设备会优先使用ipv6的dns,所以就出现了这个情况,即android设备无论如何配置,都不能使用旁路由的科学上网,这是因为Android的dns无法完全配置的缘故,相当于android设备配置了旁路由为ipv4网关,但dns配置成了路由器,自然不能科学上网
最好的解决方法是禁止路由器下发ipv6的dns选项,这个功能应该只在企业级路由器里面有设置,或者像openwrt或老毛子这类固件可以部分实现。比如我们学校的wifi,能获取ipv6地址,但是学校的路由器不会下发ipv6 dns 退而求其次的方法是在路由器上手动配置ipv6 dns选项,配置为旁路由的dns并且要相对固定(尽量避免用全局ipv6地址),关键词:dnsmasq option6:23(ipv6 的dns选项) 以上是我个人的理解
对于网络这方面我也是一知半解,感觉v6除了除了dns还有网关影响。既然有人提了我也借楼求教一下,虽说可能和本repo关联可能不大。我是clash core跑在debian上,这是我自己修改后nftables规则:
table inet proxy {
chain output {
type route hook output priority mangle; policy accept;
ip daddr $RESERVED_IP return
ip6 daddr $RESERVED_IP6 return
meta skgid 23333 return
tcp sport 8124 return
meta l4proto {tcp, udp} mark set 1 accept
}
chain prerouting {
type filter hook prerouting priority mangle; policy accept;
ip daddr $RESERVED_IP return
ip6 daddr $RESERVED_IP6 return
fib saddr type != local udp dport 53 return
fib daddr type local return
goto transparentProxy
}
chain transparentProxy {
meta l4proto { tcp, udp } meta mark set 1 tproxy ip to 127.0.0.1:7893 accept
meta l4proto { tcp, udp } meta mark set 1 tproxy ip6 to [::1]:7893 accept
}
chain dns {
type nat hook prerouting priority 0 ;
fib saddr type != local udp dport 53 redirect to :1053
}
}
已经用inet将局域网访问53端口的udp流量都转发到clash运行的1053端口了,fake-ip模式貌似v6解析依然有问题,clash拿不到请求的域名,只能看到ip。目前能想到的方案是跑一个dhcpv6 server通告网关,不知道可不可行。
同样的问题,这几天翻了很多issue,是因为主路由下发的ipv6网关和dns并没有指向旁路由,导致v6流量没有经过旁路由。我自己用的是小米路由器,ipv6支持很糟糕,所以只能缝缝补补勉强跑起来,想要良好v6体验还是换主路由吧。
windows: 1.在网口TCP/IPv6里手动将网关和dns指向旁路由本地v6地址。 2.或者修改注册表,[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters]"DisabledComponents"=dword:00000020,提高ipv4优先级。 android: 1.echo 1> /proc/sys/net/ipv6/conf/wlan0/disable_ipv6禁用ipv6解析(需root)。 2.第三方软件指定v6dns网关
试了一下windows下修改注册表提高ipv4优先级
这个不太好用:joy::joy::joy:
我现在采用的方案是这样的:
红米AX6
,官方固件,开启ipv4
DHCP
,ipv6
Native
。R2S
,系统是openwrt
,插件是openclash
,lan
口与主路由lan
口通过网线连接,启用lan
和lan6
,关闭DHCP,其余的与ipv6
的设置都开启。ipv4
和ipv6
的网关
和DNS
均指向旁路由lan
口IP。openclash
混合代理端口。YouTube
,安装 smart youtube tv
或SmartTubeNext
,在设置中启动代理,使用socks5代理,指向openclash
混合代理端口。这样设置后,电脑端及移动端都可访问PT
,ipv6 test
的结果和当前使用节点有关,我目前使用的部分节点是支持IPV6
的,可通过ipv6 test
和ipv6 test google
,而使用其他节点时测试都不通过。
DHCP必须关闭吗。我把AX6的DHCP关了交给旁路有托管
DHCP必须关闭吗。我把AX6的DHCP关了交给旁路有托管
我没这样试过,我是想用ax6来负责分配IP,有部分设备不希望走旁路由。你用旁路由的dhcp的话能正常访问就成,感觉没啥必需不必需的。
DHCP必须关闭吗。我把AX6的DHCP关了交给旁路有托管
我没这样试过,我是想用ax6来负责分配IP,有部分设备不希望走旁路由。你用旁路由的dhcp的话能正常访问就成,感觉没啥必需不必需的。
我这样做之后开启Clash结果电脑必须关闭IPV6才行,手机却没影响。很费解
DHCP必须关闭吗。我把AX6的DHCP关了交给旁路有托管
我没这样试过,我是想用ax6来负责分配IP,有部分设备不希望走旁路由。你用旁路由的dhcp的话能正常访问就成,感觉没啥必需不必需的。
我这样做之后开启Clash结果电脑必须关闭IPV6才行,手机却没影响。很费解
你查看一下电脑端分配的ipv6 DNS是否是旁路由,如果不是的话估计就访问不了,得手动设置一哈;如果是,我也就不清楚了:fearful:。 手机的话我也闹不清,我这边测试是android手机没法自定义ipv6的设置,但它就是能一直访问。苹果手机必须得把DNS中主路由的ipv6地址删除才能访问。
DHCP必须关闭吗。我把AX6的DHCP关了交给旁路有托管
我没这样试过,我是想用ax6来负责分配IP,有部分设备不希望走旁路由。你用旁路由的dhcp的话能正常访问就成,感觉没啥必需不必需的。
我这样做之后开启Clash结果电脑必须关闭IPV6才行,手机却没影响。很费解
你查看一下电脑端分配的ipv6 DNS是否是旁路由,如果不是的话估计就访问不了,得手动设置一哈;如果是,我也就不清楚了😨。 手机的话我也闹不清,我这边测试是android手机没法自定义ipv6的设置,但它就是能一直访问。苹果手机必须得把DNS中主路由的ipv6地址删除才能访问。
折腾一通后暂时可以用,随后就不行了。还是滚回去用passWall了。。
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
配置:
IPv4
DHCP 和IPv6
DHCP,其中IPv6
的上网方式为Native
,局域网IP为192.168.31.1, 网关为192.168.31.1。openwrt
固件使用的是为骷颅头的,插件只开启了openclash
,旁路由lan
口通过网线与主路由lan
口连接,旁路由局域网IP地址为192.168.31.6。旁路由网关指向主路由192.168.31.1,DNS中也通过勾选OpenClash
-->全局设置
-->DNS设置
-->追加上游DNS
加入了主路由IP。IPv6流量代理
、IPv6 DNS解析
(尝试过开启,但下述问题会仍存在)。也勾选了Dnsmasq
中的禁止解析 IPv6 DNS 记录
(尝试过不开启,但下述问题会仍存在)。Fack-IP
模式(也尝试过REDIR-HOST
模式,但下述问题仍存在)。问题:
192.168.31.6
后,打不开谷歌,youtube可打开,但视频无法播放。但禁掉Ipv6后回复正常访问谷歌,可播放youtube视频。192.168.31.6
,并删除主路由分配的IPv6
DNS后,可正常访问谷歌,播放youtube视频。不删IPv6
DNS时,无法访问谷歌,无法播放youtube视频。192.168.31.6
后便可正常访问谷歌,播放youtube视频。192.168.31.6
后无法播放youtube视频。期望结果
在开启IPv6的同时(需访问PT站)也可访问谷歌,播放youtube视频。
调试日志
万分感谢!!!