旁路由 ipv6 怎么解决?

331 天前
 paranoiagu

一直是用 op 作主路由,然后跑了个 pcdn ,虽然规则里排除了 pcdn 机器不走梯子,但是发现如果梯子抽风,还是会影响 pcdn 。所以把主路由的梯子关掉了,加了个旁路由跑梯子。

op 中添加规则,白名单的机器用旁路由作 ipv4 网关和 dns 服务器。 那么请这个规则支持 ipv6 吗?

因为现在遇到了 ipv6 问题,ipv6 流量还是走的主路由的,导致某些启用了 ipv6 的网站(如 v2 )打不开。

搜了几个帖子,那些帖子打开了旁路由的 ipv6 RA ,但是这样会导致 pcdn 也走旁路由。感觉并没有解决问题。

7003 次点击
所在节点    宽带症候群
90 条回复
neroxps
331 天前
用真正的旁路由来解决,而不是将所有流量跑到旁路由。

通过 DNS 分流,让爬墙的域名获得 fake-ip 。主路由将 fake-ip 转发给旁路由,旁路由把流量封装成梯子流量。然后发回给主路由,主路由发送给梯子。

ipv6 的话,例如 bilibi.com 拿到 AAAA 记录,直接发起 ipv6 访问,就没有旁路由什么事了。

这种做法好处就是
1 、控制好 DNS 查询则控制了哪些域名直接出去,还是走梯子,比传统的使用 DHCP 根据不同 mac 分配不同网关和 DNS 来的更容易维护,获得更好的体验。因为你是根据目的域名分流。
2 、排查方便,非规则内的域名获得的都是真实的 IP 。不会导致排查时拿到了 fake-ip 影响网络排查。
3 、减轻路由压力。支持硬路由转发特性,软路由只负责爬墙流量,不会导致 PT PCDN 等业务错误的跑到梯子那边去。

这才算真正的网络上 [旁路由!!!]

旁路由:并非所有流量都从这个路由走,才叫旁路由~!
jdjingdian
331 天前
我是这样做的,dhcp 还是设置主路由,ipv6 也是主路由下发的,旁路由开启 OSPF 宣告路由,然后用 passwall 代理。这样上网的时候,如果目的 ip 在旁路由宣告的路由段里,主路由就会把数据转发给旁路由,否则直接出口
neroxps
331 天前
@jdjingdian 也行,但这样就需要一张准确的国内国外路由表。我更喜欢订阅网上的域名规则,根据域名规则直接分流,手机,路由,PC 用同一套规则。
x66
331 天前
@neroxps

```
通过 DNS 分流,让爬墙的域名获得 fake-ip 。主路由将 fake-ip 转发给旁路由,旁路由把流量封装成梯子流量。然后发回给主路由,主路由发送给梯子。
```

这部分在主路由上通过什么插件实现呢?
BrightMars
331 天前
@neroxps 小白问一下,这套方案 adguard 怎么弄
neroxps
331 天前
@x66 github 上好多插件啊,smartdns 甚至用 dnsmasq 也行。

我是用大佬写的 coredns 插件,插件支持订阅网上的 clash yaml 规则。

https://github.com/charleyzhu/coredns_wormhole_plugin

但大佬没有写文档,也没有写 config 范例。得自己看代码咯~
SenLief
331 天前
@neroxps 主要是主路由不支持 dns 分流的就麻烦了,无法区分流量啊。
neroxps
331 天前
@BrightMars https://github.com/AdguardTeam/AdGuardHome/wiki/Configuration#specifying-upstreams-for-domains

应该是这里指定你的 上游 DNS 服务器是 shellclash 即可。然后 shellclash 使用 fake-ip 方案。shellclash 的 mark 文件里添加
dns_redir=已禁用
dns_no=已禁用
这两个标记。让 shellclash 在 iptables 里挟持 DNS 这样如果 AG 装在同一台 openwrt 上就不影响了。
SenLief
331 天前
等一个答案,我现在也是 ipv6 无法解决,所以现在没办法 nas 我就没走梯子,直连的。
neroxps
331 天前
@SenLief 主路由不支持无所谓啊,你把主路由的上游 dns 改成你的 openwrt 即可啊。
ilovecn
331 天前
remote dns 用 smartdns ,smartdns 设置 IPV6 SOA
adoal
331 天前
ipv6 太复杂,当前阶段建议简单一点,对被墙域名只解析 v4
deorth
331 天前
我有一样的问题。不过我发现其实不影响,反正浏览器会 fallback 到 v4 的
SenLief
331 天前
@neroxps 哎呀我去,对啊,不过上游 dns 指定,只能指定到网关 ip ,这个能接管的吗?
neroxps
331 天前
@SenLief #14 没看懂,你什么路由啊,上游 DNS 基本都能设置的吧?不行你 DHCP 分配的 DNS 是 openwrt 呗。不过这样会存在单点故障。
我的主路由是 Mikrotik ,我写了脚本一直检查 openwrt 的 dns 查询是否正常,如果查询失败,会微信推送给我,并把当前的 DNS 换成运营商的 DNS 。

主路由的 DNS 充当缓存作用。即使 openwrt 炸了也不至于立刻炸。
hcwhan
331 天前
可以参考下这个
ipv4 是 旁路由 优化带宽模式
ipv6 是 二级路由模式
hcwhan
331 天前
“双网线”旁路由之“完美”解决 IPv6 和千兆瓶颈问题
hcwhan
331 天前
mohumohu
331 天前
很简单,跑个 docker 就行了: https://github.com/kkkgo/PaoPaoDNS
hcwhan
331 天前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/947864

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX