IPv6 国内外分流,只能 nat 吗

2025 年 8 月 3 日
 shenyuzhi
我这边的 ipv4 ,配置了一个很简单的国内外分流,已经运行得相当完美了。

IPv4 内网(192.168.10.0/24)
Mikrotik 路由表分流
如果目标是国内 IP ,出口是 pppoe ,启用 nat
如果目标是国外 IP ,出口是 wireguard ,启用 nat ,连接某 iplc vps 。

但是 ipv6 就不太好办了了。
电信分配了 ipv6 地址,iplc vps 也有一个很大的 ipv6 地址段,而且是静态的,可以在我的内网分配。
我想实现:访问国内的 ipv6 地址,用电信分配的 ipv6 地址。访问国外的 ipv6 地址,用 vps 的地址。
除了配置 nat ,有别的办法吗?
实在是不想 nat
4105 次点击
所在节点    宽带症候群
45 条回复
mooyo
2025 年 8 月 3 日
写路由表?
dsx826
2025 年 8 月 3 日
试试前缀转换
rulagiti
2025 年 8 月 3 日
iptables mark 策略路由
bclerdx
2025 年 8 月 3 日
我就很好奇,在中国大陆使用个网络,还需要 网民们做“CN”单独分流。这难道不是莫大的讽刺?怎么没见过港澳台地区的人们使用网络还需要单独做“香港”单独分流、“澳门”单独分流 和 “台湾”单独分流呢?
anonymity
2025 年 8 月 3 日
@bclerdx #4 第一次来中国吗😂
cyp0633
2025 年 8 月 3 日
我在 Linux 的路由器上用 xray ,国内地址走 freedom ,境外地址走代理(也支持 wireguard ),用 nftables 把路由器流量导入 xray 做透明代理,v4 和 v6 都可以很好地处理
crysislinux
2025 年 8 月 3 日
@bclerdx 竟然还有人给你点赞也是绝了,你是觉得楼主为了这事应该去上访?
shenyuzhi
2025 年 8 月 3 日
@dsx826
这是个不错的主意。虽然 1 对 1nat 也是 nat ,但是看着比共用一个 ipv6 地址出口舒服一些。
ranaanna
2025 年 8 月 3 日
这是一个局域网内 multiple ipv6 gateways 的问题。

如果要避免这个问题,
1. nat 不失为不错的解决方案,当然,会有 nat 带来的问题
2. 如果 vps 的速度不错,那么单选 vps 的 ipv6 也不错。会有连通性、延迟和速率的问题,但是反正有 ipv4 保底,一般不会对实际体验有很大的影响

如果要利用这个问题,
3. 理论上 ipv6 应该是要支持 multiple gateways 的,系统应可以根据源地址的不同选择正确以及更快的地址、网关组合保持通讯。但是实际上当前的各种系统对此的支持都非常不好,所以往往会出现系统选择错误的地址和网关导致通讯中断的情况
4. 解决的办法是有的,比如 source based routing ,建立一个或多个路由表,指定路由表的地址规则和缺省网关。但这件事是在每个终端上都要做,对于某些终端做起来可能并不容易

做起来较简单但终端上没有公网 ip ,2 做起来最简单但只有 vps 给的公网 ip ,3 做起来最佛系但肯定会碰到连接问题,4 做起来最复杂但终端上同时有电信和 vps 给的公网 ip
zhu327
2025 年 8 月 3 日
我的做法对 ipv6 地址下发通告的 dns 服务器不要直接用上游下发的营运商 ipv6 dns, 而是路由本身的链路 ipv6 地址, 比如 fe80::cabf:4cff:fe87:ee68 这样, 然后这样在路由器上通过 dnsmasq 分流需要到国外的域名只返回 ipv4
wuruxu
2025 年 8 月 3 日
我使用了 policy route, 把 ipset 中的 ipv6 地址 通过 wg0
bclerdx
2025 年 8 月 3 日
@anonymity 显然不是。
thevita
2025 年 8 月 3 日
@bclerdx 当然也是需要的,比如国外 VPN 服务商目标客群主要是用来绕过内容商的版权限制,太普遍了.
bclerdx
2025 年 8 月 3 日
@crysislinux 你难道看不出来我是在说谁呢吗?当然,如果 OP 去运营商或国家信访办上访,也是可以的。OP 也可以不上访。跪久了就不容易起身了。
MYDB
2025 年 8 月 3 日
全分流到国外 ipv6 就好了,国内完全支持 ipv6 的软件/应用/网页几乎没有,用 ipv6 反而被限制体验
dream0689
2025 年 8 月 3 日
可以找个国内带 v6 地址的服务器搭 wireguard 中转一下,本地客户端配好海外允许路由的 v6 段。
heiher
2025 年 8 月 3 日
还是和 IPv4 的内外分流一样就可以。我是用类似这样的: https://github.com/heiher/hev-socks5-tproxy?tab=readme-ov-file#netfilter byp4 和 byp6 地址表分别还增加了内地的 IPv4 和 IPv6 地址段。
wy315700
2025 年 8 月 3 日
@MYDB 2025 年了。。
kujou
2025 年 8 月 3 日
https://github.com/zfl9/chinadns-ng
这个内外分流如何,基于域名列表和 ip 列表,先判断域名是否在国内域名列表,如果不是,在从 dns 返回的 ip 判断
zro
2025 年 8 月 3 日
感觉 Fake-IP 会简单些。。😀

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

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

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

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

© 2021 V2EX