V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sherlock1122
V2EX  ›  宽带症候群

ipv6 结合旁路由的问题

  •  
  •   sherlock1122 · 2021-11-29 10:30:41 +08:00 · 13646 次点击
    这是一个创建于 1126 天前的主题,其中的信息可能已经有所发展或是发生改变。

    当前,ipv6 是运营商通告 v6 DNS 和网关。路由器是小米,旁路由 openwrt ,fq 使用 ssr+。路由器推送的 v4 网关和 dns 均为 openwrt 地址。 当开启 ipv6 后,youtube 视频播放不出来,原因估计是 youtube 视频走的 ipv6 流量。 v6 流量并没有通过 openwrt 。 在继续使用旁路由模式下,有比较好的解决办法吗?

    77 条回复    2023-07-02 16:54:12 +08:00
    heiher
        1
    heiher  
       2021-11-29 10:41:01 +08:00
    test0x01
        2
    test0x01  
       2021-11-29 14:18:58 +08:00 via Android
    我的方法是通过 iptables 只让必要的机器拿到 ipv6
    Cheons
        3
    Cheons  
       2021-11-29 14:39:11 +08:00
    ipv6 禁用不就解决了 doge
    sherlock1122
        4
    sherlock1122  
    OP
       2021-11-29 14:48:07 +08:00
    @Cheons 想用 ipv6 ,也想要旁路由……
    ihipop
        5
    ihipop  
       2021-11-29 15:01:48 +08:00 via Android
    @sherlock1122
    radvd 支持路由单播和优先级的,你看下文档,可以给指定设备单播一个高优先级路由,v6 流量就被牵引到旁路上去了
    Donahue
        6
    Donahue  
       2021-11-29 15:03:04 +08:00
    http://www.360doc.com/content/20/1015/21/7603857_940659270.shtml
    百度一下你就知道,网络、旁路由相关的可以到恩山看看,恩山很多相关内容
    ericww
        7
    ericww  
       2021-11-29 16:15:15 +08:00
    把 openwrt 放到小米前面不就完事了?反正你现在也是这么个情况。
    lizenghui
        8
    lizenghui  
       2021-11-29 16:24:21 +08:00
    同问,暂时是把 ipv6 关了。
    @ihipop 这个应该是正解 只是基础差 坐等高手出现
    Archeb
        9
    Archeb  
       2021-11-29 16:37:40 +08:00
    主路由不获取 IPv6 DNS 服务器(不影响 AAAA 解析),然后在 OpenWRT 上的 DNS 对黑名单域名不返回 IPv6 应该是比较好的方案。
    sherlock1122
        10
    sherlock1122  
    OP
       2021-11-29 16:48:52 +08:00
    @ericww N1 的 openwrt ,比较弱。

    @Archeb 小米主路由可以自定义 v6 的 DNS ,但是不仅仅是 DNS 的问题。当然,配置一个错误的 v6 DNS 可能也可以。但是 v4 DNS 也可以返回 AAAA 地址,所以让 v4 DNS 不返回 AAAA 地址,这样客户端就拿不到任何 AAAA ip 了,应该是可以的。这样做需要确保主路由推送给客户端的 DNS 都是自己的,不能用公共的,因为公共 DNS 可以响应正确的 AAAA 地址。缺点是让 DNS 不返回 AAAA ,可能对上网性能产生影响。

    有没有更好的方案。
    sherlock1122
        11
    sherlock1122  
    OP
       2021-11-29 16:57:43 +08:00
    @Donahue 这个教程读了一遍,本质上跟我的唯一差别是我还缺一个步骤:让主路由的 DNS v6 指向 n1 ,但是 v6 的流量是怎么走到的 n1 ,没有理解。
    sherlock1122
        12
    sherlock1122  
    OP
       2021-11-29 17:00:28 +08:00
    @ihipop 兼容大部分的客户端吗?
    如 Win 11 ,Android ,iOS 。
    ihipop
        13
    ihipop  
       2021-11-29 17:23:53 +08:00
    @sherlock1122

    https://www.v2ex.com/t/791295#r_10730163 具体看我这里的回复,我手里的设备都表现正常(安桌机顶盒,COREELEC 播放器,ANDROID 手机等),除非你定制过 linux 内核的行为,否则应该也是都一样的
    Archeb
        14
    Archeb  
       2021-11-29 19:02:31 +08:00
    @sherlock1122 你是想要被墙域名的 IPv6 也经过 OpenWRT 吗?但是这样就算能过,也没有办法通过透明网关上网,因为你 IPv6 本身就是公网 IP ,透明网关能够把你流量走代理出去的前提是做了 NAT ,客户端是公网 IP 的情况下,是不可能能达到这个效果的。

    所以只要你[仅对被墙的域名]禁用 AAAA 返回,应当不会对性能产生影响。
    heiher
        15
    heiher  
       2021-11-29 20:19:19 +08:00
    @Archeb "透明网关能够把你流量走代理出去的前提是做了 NAT" 非也,iptables 透明代理不只有 nat 表,也有 mangle 表,只要流量经过网关就能捕获。 @sherlock1122 遇到的问题恰恰是流量不经过旁路由。所以 @ihipop 的方法显然是正解,通过单播向被代理的设备宣告旁路由是更高优先级的默认网关,实现流量重定向,也能做被代理设备范围的灵活控制。
    ericww
        16
    ericww  
       2021-11-29 20:40:46 +08:00 via iPhone
    @sherlock1122 你目前设置网关为 openwrt ,所有 v4 的流量都转到你的 N1 openwrt ,和将 N1 前置没什么区别。除非你在路由器就对流量进行分流。如果不想改,那就设置 v6 静态路由把 Google 几个段给 unreachable
    MikuM97
        17
    MikuM97  
       2021-11-29 22:49:26 +08:00   ❤️ 3
    我之前玩过 Redmi ac2100 做主路由,N1 刷 openwrt 做旁路由的架构。旁路由的玩法之所以能成立,是建立在使用旁路由的终端,包括安卓手机、电视盒子等,可以自由修改 IPv4 参数,绕过主路由的 DHCP 分配机制,将网关及 DNS 指向旁路由,从而让本机发出的流量都去旁路由上走一遍,再由旁路由转发到主路由,从而旁路由上可以挟持处理经过自身流量,完成 fq 透明代理、去广告等一系列骚操作。

    然而 IPv6 的出现引入了一个难题,那就是当前除 Windows 外,大部分终端对于手动配置 IPv6 参数的支持都不太好,例如小米的 MIUI ,没 root 的情况下只能通过 SLAAC 从主路由自动获取 IPv6 ,获取到的网关和 DNS 当然指向主路由,又没办法手动改,就没法把 IPv6 的流量引导到旁路由了。

    当前大部分操作系统的软件和逻辑,在本地有 IPv6 地址,服务器也支持 IPv6 的情况下,IPv6 优先,IPv6 不通,再回退 IPv4 。所以你主路由打开 IPv6 之后,终端获取了主路由的 IPv6 网关地址,DNS 解析也奔着主路由过去了,这种情况相当于流量和 DNS 解析绕开了旁路由,骚操作当然就实现不了。

    个人分析,可能的解决方案:
    0.完全放弃 IPv6 ,主路由关闭 IPv6 相关功能即可。

    1.对于使用旁路由的终端,放弃 IPv6 。曾经使用过的方案。由于目前操作系统默认都会优先使用 ipv6 的 dns 进行解析,如果仅仅只在旁路由上面的 dnsmasq 禁用 ipv6 的 4A 记录,很有可能使用旁路由的终端,dns 请求走还是通过 IPv6 走到主路由上,造成 dns 污染。因为我都主路由 AC2100 是刷过 padavan 的,因此我的方法是打开 WLAN 的访客网络,然后用 ebtables 禁用访客网络所属接口( ra1,rai1 )收发双向的所有 ipv6 报文转发,然行需要使用旁路由的终端连接访客网络的 ssid ,即可做到使用旁路由的终端完全获取不到 IPv6 地址及 DNS 。这个时候再手动把 ipv4 网关及 dns 全部指向旁路由即可。不使用旁路由的其它终端,连接原有主网络的 SSID ,IPv6 走主路由转发,可以正常使用 IPv6 。

    2.放弃旁路由架构,使用主路由做透明代理。当前使用的方案。主路由改成 J4125 的软路由+openwrt ,AC2100 直接改成 AP 模式做无线接入,fq 软件是 passwall ,passwall 上面启用 IPv6 透明代理( Tproxy )。这种方案适合自建机场并且熟练使用 Linux 的用户,因为对 fq 软件里面配置的节点服务器要求比较高,节点服务器的网络必须支持 IPv6 ,不支持的话就得通过 tunnel broker 或者 cloud flare 的 warp 去弄一个 6In4 隧道,市面上购买的机场一般不具备此条件,只能代理纯 v4 。

    综上,如果当前追求稳定,或者购买机场,建议 0 或者 1 ,如果自建机场,有一定 Linux 能力和网络基础,可以尝试折腾下 2 。
    MikuM97
        18
    MikuM97  
       2021-11-29 22:59:57 +08:00
    补充一点,方案 2 的情况下,无论是否需要 fq 的终端,都能获取 IPv6 地址,需要 fq 的终端,通过 chnroute6 ,访问国内外的 IPv6 地址能做到分流,访问国内不走代理,访问国外透明代理。
    dndx
        19
    dndx  
       2021-11-29 23:04:29 +08:00
    IPv6 分流不困难,https://v2ex.com/t/739809#reply51 就是一种方法。但是配置起来肯定要稍微多一些步骤,使用基本的路由协议比如 OSPF 就可以做到。
    qwvy2g
        20
    qwvy2g  
       2021-11-29 23:14:10 +08:00
    我其实想到一个方法:搭建两个 adguard 服务器,在第一个 adguard 设置一个没有 dns 污染的 dns(dns 最好是在软路由加速服务)。这个 adguard 禁止返回 ipv6 结果。第二个设备像 openwrt 中的 adguard 那样,添加 gfw 网站指定第一个 adguard 的 dns 来解析这些域名,并且添加其他的 dns 来解析其他网站。这样访问 gfw 列表里面的网站时候因为 ipv6 解析结果被屏蔽了,自然不会走 ipv6 通道。而其他网站则是正常通过 dns 来解析。这个方法的前提是路由器要封锁 ipv4 和 ipv6 内网远程 53 端口权限,并且放行特定的 dns 服务器。
    Archeb
        21
    Archeb  
       2021-11-29 23:41:56 +08:00
    @heiher 我的问题,我想明白了(我知道怎么把流量导过去,也知道有 nat 和 mangle 表,我把透明代理和 v4 基于 NAT 的负载均衡搞混了)
    fish3125
        22
    fish3125  
       2021-11-30 00:16:54 +08:00 via Android
    都觉得 n1 性能不好了就不要搭建两个 adguard 了。把搭建两个的想法其中一个换成在 n1 上搭建一个 dnscrypt 也可以设置丢弃翻墙部分域名 v6 的解析。
    06_taro
        23
    06_taro  
       2021-11-30 01:45:24 +08:00
    用 ipset ,建立一个 inet 的 list 和一个 inet6 的 list 。
    对需要科学的域名,DNS 查询时,A 写入 inet 的 list ,AAAA 写入 inet6 的 list ,
    然后 iptables 将 inet list 的地址转发,iptables6 将 inet6 list 的地址直接 DROP ,
    这样不影响直连的 ipv6 ,同时科学地址不会走 ipv6 而是直接 ipv4 转发出去。
    junweivan
        24
    junweivan  
       2021-11-30 02:21:21 +08:00 via Android
    光猫桥接,主路由拨号获取 IPV6 和 IPV4 ,旁路由 OPENWRT 作需要科学的终端的网关和 DNS ,SSR+使用 CN 列表以外模式。

    实测可用,目前正在使用。

    不要用 GFW 模式,GFW 模式不可用,打不开需要科学的网站,猜测终端优先走 IPV6 了
    allenyang89
        25
    allenyang89  
       2021-11-30 03:27:55 +08:00
    好巧哦,也被坑了好久,最后放弃了,还是 openwrt 直接主路由,小米就当个 AP 算了。openclash 一把梭
    sherlock1122
        26
    sherlock1122  
    OP
       2021-11-30 10:40:10 +08:00 via Android
    @junweivan 没太理解,ipv6 的流量直接走了,没过旁路由呢。
    sherlock1122
        27
    sherlock1122  
    OP
       2021-11-30 10:40:53 +08:00 via Android
    @allenyang89 等我的新设备 n5005 到了,估计也要这么搞。
    yyysuo
        28
    yyysuo  
       2021-11-30 10:41:52 +08:00
    @sherlock1122 我昨天刚刚搞了一下 ipv6 的 dns ,我想有可能可以解决你的问题。

    先说方案:局域网内分发的 ipv6dns 填写 ipv4 的 dns ,格式是::ffff:192.168.1.1 ,把 192.168.1.1 改成自己的 ipv4 dns 地址
    缺陷:局域网内 win 机器的 nslookup 不返回结果了,怀疑是 nslookup 本身的问题。其它无影响。

    原理分析:
    不管是旁路由还是主路由,看你应该是启用了科学软件的,一般都自带分流,也能劫持 v4 的 dns 请求,但是对 ipv6 dns 的劫持有些科学软件可能做得不好,所以只需要把 ipv4 的 dns 按 ipv6 的格式下发,就可以让局域网的设备发送 ipv6 的 dns 请求到 ipv4 的 dns ,也可以正常的返回 aaaa 记录。
    域名经过科学软件分流->解析出 ipv4 及 ipv6 地址->机场 如果机场支持 v6 ,则正常访问即可,不支持 v6 就可以自动回落到 v4.
    sherlock1122
        29
    sherlock1122  
    OP
       2021-11-30 11:40:57 +08:00
    @yyysuo 这里只解决了 DNS 的问题,ipv6 下一跳貌似没有解决?也就是如果客户端拿到了 aaaa 地址之后,数据包直接出去了,而不经过旁路由。
    sherlock1122
        30
    sherlock1122  
    OP
       2021-11-30 11:41:47 +08:00
    @dndx 看起来挺不错的,不过小米主路由自由度太低了,没法搞。
    sherlock1122
        31
    sherlock1122  
    OP
       2021-11-30 11:44:22 +08:00
    @MikuM97 看看大家有没有除了 0 ,1 ,2 之外的第三种方法。
    junweivan
        32
    junweivan  
       2021-11-30 12:10:16 +08:00 via Android
    @sherlock1122

    科学上网的时候,临时设置下终端的网关和 DNS 就可以了,还是走的 IPV6
    yyysuo
        33
    yyysuo  
       2021-11-30 12:11:58 +08:00
    @sherlock1122 你试试呢,我是主路由模式。
    junweivan
        34
    junweivan  
       2021-11-30 12:20:42 +08:00 via Android
    @sherlock1122 更正,科学走的还是 Ipv4 ,不小心摁错键了。终端不用科学的时候,取消终端的网关和 Dns 设置,就会正常走运营商下发的 ipv6 或者 ipv4

    如果你是想 ipv6 也走旁路由科学上网,这套操作应该不行。

    但是你问的不是“不关闭 ipv6 的同时还能科学上网”吗?这个就可以。
    jwz426
        35
    jwz426  
       2021-11-30 12:22:00 +08:00
    我按照 https://v2ex.com/t/664819 里面的方法主路由梅林系统打开 ipv6 ,设置 ip6tables 只给旁路由和特定设备分配 ipv6 。可以做到旁路由通过 ipv6 开放服务,qBittorrent 下载机支持 ipv6 下载。但是家里小米盒子很多 app 访问特别慢。后面也放弃了。
    还是主路由下开 ipv6 比较不折腾。
    cwbsw
        36
    cwbsw  
       2021-11-30 12:56:04 +08:00
    简单点,直接主路由防火墙 REJECT 到 Google IPv6 Prefix 的连接即可。
    sherlock1122
        37
    sherlock1122  
    OP
       2021-11-30 14:57:56 +08:00
    @cwbsw 主路由功能很弱,无法控制。
    KKLeon
        38
    KKLeon  
       2021-11-30 20:14:10 +08:00
    好巧,我也是心血来潮,这两天陆续折腾了几次 ipv6 ,最后还是决定关掉(因为发现开启 ipv6 之后,网络质量变差了)。先说环境配置;
    - 主路由:新 3 刷老毛子,开 ipv6.dns v6 和 v4 都指向 N1 旁路由,网关也指向 N1.
    - 旁路由:N1 刷 openwrt ,新建 lan6 口,打开 ipv6 dns 解析。
    最终 ipv6-test 网站测试通过,但是访问油管的话,因为我的机场不支持 v6 ,所以访问油管走的还是 v4.
    贴一下教程链接,照着操作肯定能行: https://www.right.com.cn/forum/thread-4046582-1-1.html
    KKLeon
        39
    KKLeon  
       2021-11-30 20:19:21 +08:00
    @KKLeon 我自己测了一下,上面说的方式下,v6 的流量是走了 openwrt 的,我也是刚才想到一个细节才确定:
    一开始按照上面的设置好之后,ipv6-test 网站测试不通过(因为我的机场不支持 v6 ,但 passwall 默认的规则让 ipv6-test.com 走了机场的流量),然后进 passwall 里面,把 ipv6-test.com 加入到 passwall 的强制直连(也就是不走机场流量),然后 ipv6-test 就通过了。
    sherlock1122
        40
    sherlock1122  
    OP
       2021-11-30 20:26:07 +08:00
    @KKLeon bj 移动给我打电话,送我公网 v4 ip 了……
    我还折腾个啥。虽然我当前的目的达到了如下目的:
    1. 开启 ipv6 ,外网可以访问我的 LAN 各个 ipv6 地址;
    2. 不影响科学上网。

    主路由配置一个错误的 v6 DNS 下发即可。
    KKLeon
        41
    KKLeon  
       2021-11-30 20:29:56 +08:00
    @sherlock1122 是啊,有了公网 ip 还折腾个啥。我是北京联通,也有公网 ip 。折腾几次 v6 之后发现除了能访问 v6 网站,别的卵用没有,关键是还莫名其妙的影响网络质量。
    最后还是选择关掉 IPV6 。
    ihipop
        42
    ihipop  
       2021-12-02 18:56:21 +08:00 via Android
    明明旁路上 radvd 配置一个高优先级路由+几条 mangle 规则就能搞定的事情,一堆高谈阔论猛如虎的操作,总结 0123 各种方法,为什么都不试试说的方案呢?哎.。,随便吧。
    ihipop
        43
    ihipop  
       2021-12-02 18:57:45 +08:00 via Android
    @ihipop 少了一个“我”字,我说的方案。
    lizenghui
        44
    lizenghui  
       2021-12-07 22:20:56 +08:00
    @ihipop 我就说你这个才是正解 可惜不会搞 我的主路由是 openwrt 只做 DHCP 和 PPPOE , 旁路由是个 ubuntu 科学上网, 是需要搞个 radvd 服务?
    lizenghui
        45
    lizenghui  
       2021-12-07 22:23:03 +08:00
    @ihipop 大神 我电报同名 可以交流一下。
    elapsezyh
        46
    elapsezyh  
       2022-04-20 00:28:44 +08:00
    我也遇到了同样的问题,按楼里的我能看懂的试了一圈,但比如 ihipop 大神的我就没看懂,然鹅还是没有解决
    主路由同是小米 按 @Donahue 提供的教程设置了小米 IPV6 的 DNS 到旁路由,但是没有用。。。
    请问楼主解决了吗?
    zhangchimr
        47
    zhangchimr  
       2022-06-17 12:30:57 +08:00   ❤️ 1
    我来挖个坟
    折腾了两天,各种乱尝试后,得到了解决,最终结果:ipv4 fq 没问题,访问国内 ipv6 没问题( https://test-ipv6.comhttp://test6.ustc.edu.cn 都显示正常),访问 https://ipv6test.google.com 显示没有 ipv6 ,但是播放 youtube 视频没问题。

    小白一枚,我也不懂原理...有错勿喷。(应该是 ipv6 设置为非运营商的导致无法解析 q 外的 ipv6 ,然后回落到 ipv4 ,但是国内的 ipv6 为什么访问正常?还是说是假的?)
    我只设置了两项
    1.主路由小米,ppoe 拨号其中 ipv6 自定义 v6dns 为 2001:4860:4860::8888 和 2001:4860:4860::8844
    2.旁路由 openwrt ,新建一个接口名字随意,接口选择自定义,填 @lan ,协议选择 dhcpv6 ,同样设置 dns 服务器步骤 1 的两个。
    adminoroot
        48
    adminoroot  
       2022-09-05 10:47:23 +08:00
    各位大神,请问 ssr+插件如何使用纯 IPv6 节点?电脑上 V2rayN 和 ios 的小火箭,都只能能用纯 IPv6 节点,没有任何毛病,但是旁路由模式下 ssr+插件纯 IPv6 节点用不了。
    connorzone
        49
    connorzone  
       2022-09-06 00:02:21 +08:00
    https://www.v2ex.com/t/871289 ,现在最新的 Chromium 内核浏览器已经开始无视 Windows 的前缀策略(可通过 netsh interface ipv6 show prefixpolicies 查看或进一步修改),强行优先用 IPv6 连接双栈域名啦。可以说如何通过透明(旁路)网关代理转发 IPv6 流量需求更为迫切了☹

    @sherlock1122 若不想搞什么禁用 IPv6 ,丢弃 DNS AAAA 响应之类的“办法”,
    如果主路由器基于 OpenWrt ,可以试试:
    1 、策略路由,配置好旁路由的透明代理之后,在主路由利用策略路由将特定流量转发到旁路由处理。可参考 https://superuser.com/questions/1107837/proper-location-for-transparent-squid-proxy-gateway-with-caching 。优点是不要求旁路由基于 OpenWrt ,任一配置了透明代理的 Linux 主机都可以,比较灵活,缺点是对主路由性能有较高的要求。
    或曲线救国,放弃透明网关方案:
    2 、买一个 USB 网卡给 N1 插上,当主路由用,不过 N1 似乎不支持 USB3.0 ?方案优点是配置简单,缺点是速度慢,不支持千兆。
    3 、单臀路由,小米不知道支不支持 Vlan ?如果支持,那单网口的 N1 也是能当主路由用的,没有默认网关的烦恼。不支持也可以买个几十块的千兆 Vlan 交换机配合使用,小米老老实实当 AP 就好,或者刷个 OpenWrt 强行让它支持,省下交换机的钱。支持千兆,较推荐该方案。

    @ihipop 提到的方法,确实很不错,能否了解下透明网关具体的 radvd 配置和相应的 iptables 规则?以及它是否支持非 OpenWrt 的透明网关?谢谢🙏🏻
    ihipop
        50
    ihipop  
       2022-09-06 10:59:33 +08:00
    @connorzone 其实上次 @ lizenghui 用我的方法都解决问题了,既然你也问 我就专门写文章说明一下吧。

    https://blog.ihipop.com/2022/09/5343.html
    connorzone
        51
    connorzone  
       2022-09-06 13:20:45 +08:00 via Android
    @ihipop 感谢!等下试试,另外请问 Clients 可不可以设置成对所有局域网设备广播默认网关?比如对主路由和旁路由之外的所有设备?
    ihipop
        52
    ihipop  
       2022-09-06 14:08:30 +08:00 via Android
    @connorzone 既然是广播肯定不行。最简单就是枚举,没试过 iptables 的屏蔽是否有效
    connorzone
        53
    connorzone  
       2022-09-11 16:33:03 +08:00
    @ihipop
    今天试了下,教育网 IPv6 没有 PD ,只能通过 nat6 上网,关闭 openwrt 的 ra ,在透明网关设置静态地址(包括网关指向 openwrt ),未过滤 clients ,直接开启 radvd 的广播,实测局域网 IPv6 流量都被牵引到了透明网关。另外,openwrt 的 ra 默认广播路由优先级为较低的 medium ,开启 ra 会让局域网主机获得两个默认路由,其中高优先级的为透明网关,也不影响“旁路牵引”的效果,所以关闭 openwrt 的 ra 非必要。
    另外,如果是通过光猫桥接,ra 是不是应该去光猫关闭?不过似乎关不关影响不大- O -
    ihipop
        54
    ihipop  
       2022-09-11 21:39:52 +08:00
    @connorzone

    文章里面我强调了默认的优先级不是 High 所哟关闭网关 ra 或者调整网关 ra 优先级没有必要

    你这种广播可能会让网关也产生一个被牵引的默认路由

    当然,你可以依然广播,但是把网关 LAN 口的 accept ra 关掉 也许能符合你要求。

    你是 NAT6 所以前缀固定,相对好配置,但是也失去了 V6 直连的作用。

    如果你确实拿不到 PD,可以试试 ndp ra 的 relay 模式 这样应该不需要 NAT6 ,我记得有很多成功的例子
    connorzone
        55
    connorzone  
       2022-09-12 00:58:43 +08:00 via Android
    @ihipop 因为是 nat6 ,路由 br-lan 和透明网关的 wan 都是静态地址,手动指定路由,所以没有网关接收 ra 的问题。
    nat6 确实简单一些,如果是动态 pd ,一时没想好怎么配置。至于 relay ,以前确实可以,只是不稳定,现在学校出了个二逼的双栈 v4/v6 地址绑定物理网卡,没得 relay 了。
    ihipop
        56
    ihipop  
       2022-09-12 22:17:57 +08:00
    @connorzone 文章我更新了一下,添加的明细路由法。利用的是同一个 RFC 特性
    lovelylain
        57
    lovelylain  
       2022-11-29 23:32:57 +08:00 via Android
    挖个坟,最近换了光猫,N1 由主路由改为了旁路由模式,上网控制对 ipv6 失效了,有没有什么办法把 ipv6 pd 分配到旁路由上面,然后由旁路由来给内网设备分配 ipv6 啊?就想 ipv4 dhcp 那样
    ToDyZHu
        58
    ToDyZHu  
       2022-12-02 09:24:39 +08:00
    @jobmailcn https://www.openos.org/threads/openwrt-ipv6-n1.1340/
    我就是跟着这个来做 可以做到你说的
    但是出现的问题是 国内 ipv6 网站很慢 走 openclash 的没有问题 (在 clash 面板没有看到国内网站的日志,应该是没经过 clash 内核)
    PS. openclash 没有配置自定义 DNS 在 LAN 里也没有配置 DNS 因为 openclash 会劫持本地 DNS 所以还是怀疑是 DNS 的问题
    lovelylain
        59
    lovelylain  
       2022-12-02 15:18:49 +08:00 via Android
    @ToDyZHu 改主路由模式了,性能差一点,省心多了
    coorey
        60
    coorey  
       2023-01-12 19:43:17 +08:00
    @ihipop #56 666 ,op 自带的 odhcpd 也可以办到
    coorey
        61
    coorey  
       2023-01-12 19:50:33 +08:00
    @ihipop #56 而且可以把光猫的 RA 关掉,只开 DHCPv6 ,哈哈哈
    bzkmsjy
        62
    bzkmsjy  
       2023-01-14 10:12:44 +08:00
    我来反馈下我的折腾结果,纯小白折腾网络不到一星期,有几个疑问。
    1 、主路由开启 IPV6 ,用 Padavan 上的 clash 翻墙,只开了透明代理和游戏模式 UDP 转发两个开关,电脑和手机都出现了谷歌油管网页能打开,但是油管视频无法播放的问题(油管进度条预览图都可以看),遂找到了这个帖子,猜测就是 IPV6 问题。
    2 ,然后我手动配置电脑的 IPV4 DNS 地址为 114.114.114.114 8.8.4.4 或者 223.5.5.5 8.8.8.8 ,电脑居然就可以正常播放油管视频了,IPV6 一切正常,,比特彗星端口开放。在安卓手机上也用同样的 DNS ,安卓手机也可以播放油管了,这是为什么?
    3 ,但是,我把这俩 DNS 配置填到 PS4 和 Switch 的网络设置里,就无效了,这两台主机上的油管客户端依旧是只能浏览,不能播放视频,这又是为什么?和电脑和安卓用的 Chrome 内核有关系吗?
    4 ,使用油管 up 主不良林《 [全网首发] 闲置安卓手机充当软路由……》的方法,使用三星 S8 做旁路由,v2NG ,设置开启了本地 DNS ,预定义规则绕过局域网和大陆改动了这 2 个设置,测试结果无论是电脑手机还是 PS4 NS 都可以正常翻墙,正常播放油管,IPV6 功能全部正常,在 v2NG 设置中有个 IPV6 优先的开关默认关闭,我测试打开关闭都不影响结果,三星 S8 全功能 C 口,接网线拓展坞可以跑满 300M 带宽。

    我现在怀疑油管视频不能播放这个问题真的只是 IPV6 的锅?难道不是旁路由固件或者翻墙软件的问题,凭什么专业的路由器还不如一台安卓手机?
    nkcfc
        63
    nkcfc  
       2023-01-28 11:23:00 +08:00 via Android
    @bzkmsjy S8 全局和非全局的时候,跑个 https://test-ipv6.com/ ,得到的 ipv6 地址一样吗?电脑获得的 v6 网关是谁的?一个还是两个呢?
    bzkmsjy
        64
    bzkmsjy  
       2023-01-30 17:58:07 +08:00
    @nkcfc 得到的 v6 地址一样,v2rayng 设置里是否开启 ipv6 优先也是一样的,我不知道怎么看 v6 网关是谁的,主路由上是 TP LINK 的,找不到看 v6 网关的地方,但是无论走不走 S8 代理,v6 网关都没有变,所以应该是主路由的?网关只有一个。
    raincrowsp
        65
    raincrowsp  
       2023-02-06 11:48:55 +08:00
    @coorey 我现在也在尝试用 op 自带的 odhcpd 来做到 ra 高优先级广播,是修改 ra_preference 选项吗,我改成'high'后,nas 是收到两条路由,但都是 medium ,而且按收到 ra 的先后顺序排列,也就是主路由先发的 ra ,所以流量从主路由走,旁路由只是备选,旁路由的高优先级没有收到,请问你是怎么做到的?
    coorey
        66
    coorey  
       2023-02-06 12:22:01 +08:00
    @raincrowsp #65 是的,改完要重启下 dhcp
    raincrowsp
        67
    raincrowsp  
       2023-02-06 15:06:35 +08:00
    @coorey 方便贴一下你的 dhcp 配置文件吗,我的配置里有 2 个接口,lan 是静态 ipv4 ,lan6 是 dhcpcv6 ,ra_preference 的选项是应该放在 lan 下吗,luci 上只有 lan 接口才能设置 ra 服务器,另外其他还需要什么设置吗,我已经设置了 ra server ,ra_slaac 1 ,是否有前置选项没有设置造成 ra_preference 无效。
    coorey
        68
    coorey  
       2023-02-06 15:36:31 +08:00
    @raincrowsp #67
    config dhcp 'lan'
    option interface 'lan'
    option dhcpv4 'server'
    option ra_slaac '1'
    list ra_flags 'managed-config'
    list ra_flags 'other-config'
    option start '50'
    option leasetime '48h'
    list dhcp_option '6, 192.168.5.1'
    option limit '200'
    option ra 'server'
    option dhcpv6 'server'
    option ra_management '1'
    option ra_preference 'high'
    不行的话主路由是啥,把它 RA 关了
    raincrowsp
        69
    raincrowsp  
       2023-02-06 20:38:13 +08:00
    晚上逐条测试了一下,发现把 option ra_default '1'设置后就好了,分析可能是我的旁路由设置是不从主路由申请 pd 的,也就是旁路由只申请了 64 的子网 id ,这个选项的意思是即使没有可用的公网前缀,也仍通告自己为默认路由,所以不设置就不通告默认路由?
    coorey
        70
    coorey  
       2023-02-08 08:45:05 +08:00
    @raincrowsp #69 那现在什么设备 v6 都通了吗
    raincrowsp
        71
    raincrowsp  
       2023-02-09 11:37:38 +08:00
    @coorey 是的,现在是全部设备透明代理,想想其实和主路由出海是一个样了,只是增加了保险,旁路由挂了的话自己就改到主路由了,不影响家人正常上网
    coorey
        72
    coorey  
       2023-02-09 15:08:16 +08:00 via Android
    @raincrowsp 有安卓机吗,也行吗
    raincrowsp
        73
    raincrowsp  
       2023-02-10 17:50:13 +08:00
    家里是 ac+ap ,无线在 2 级路由上,目前没有开 ipv6 ,ipv4 是可正常出海的
    HackerTerry
        74
    HackerTerry  
       2023-03-08 23:10:16 +08:00
    这个问题现在解决了吗?我在 openwrt 旁路由的 passwall 插件上打开了 ipv6 ,代理模式设置为 redirect ,外网还是不能走 ipv6 ,设置为 tproxy 模式直接上不了网。
    svengoing
        75
    svengoing  
       2023-03-24 00:30:33 +08:00
    小米路由器作为主路由可以这么设置:上网方式 native ,dns 手动设置为:::ffff:C0A8:1F02(就是 192.168.31.2 ,透明代理地址)

    直接设置会提示“IPv6 地址由 8 组四个十六进制数组成,每组之间用:区隔”,解决这个问题,可以直接浏览器 f12 把设置请求复制成 powershell ,修改一下 ip 后复制到命令行执行就 ok 了。

    实测如此设置,所有流量都被牵引到旁路由透明代理,可以过所有 ipv6test ,不会出现 ipv4 走代理,v6 走直连的问题。

    为什么非得用::ffff:C0A8:1F02 这种写法,是因为 fe80 的地址实测无法访问,而 LAN 前缀由于是 native 模式,自己还总发生变化,且无法控制

    前面大神说使用 RADVD ,是个好办法,可是我没法找到 apple tv 的地址,只能作罢。。。谁能告诉我怎么获得局域网所有设备的 ipv6 地址呢?
    svengoing
        76
    svengoing  
       2023-03-24 00:44:03 +08:00
    我推测这种办法成立是因为透明代理使用了 clash 的 fake ip 模式 dns ,导致 dns 解析后,所有 ipv6 的流量就必须走透明代理了
    JasperHale
        77
    JasperHale  
       2023-07-02 16:54:12 +08:00
    @ihipop @connorzone 回帖感谢, 鄙人终于能把 ipv6 流量定向到旁路由. ipv6 直连的 DNS 泄露问题再不在矣.
    记录以供参考:
    内网 NAT66; OP 主路由 具公网 ipv6; 旁路由 固定 ipv4 ipv6 地址 与 网关.
    旁路由 Clash Tun 模式. RADVD 未过滤客户端,全局广播, OP 主路由 防火墙 配置拒绝 旁路由 RA 广播.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2615 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 03:30 · PVG 11:30 · LAX 19:30 · JFK 22:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.