IPv6 国内外分流,只能 nat 吗

30 天前
 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
2984 次点击
所在节点    宽带症候群
45 条回复
starryloki
29 天前
我的架构和楼主非常相似,也是用 RouterOS 做了双栈的国内外分流,国内 ISP 提供/60 的 IPv6 静态 Prefix ,国外提供/56 的 IPv6 静态 Prefix ,且海外端也是 RouterOS
如果海外端也是 RouterOS 的话,没有特别好的办法,因为不支持前缀转换。如果是 Linux 或 OpenWRT 的话,可以尝试用基于前缀负掩码的前缀转换尝试
wm5d8b
29 天前
@starryloki RouterOS 也可以前缀转换
https://ntzyz.space/zh-cn/post/use-netmap-to-get-persistent-ipv6-address-and-control-source-address/
everfly
29 天前
IPv6 为啥要 NAT 呢?你给 Mikrotik 配置 iplc vps 静态 IPv6 地址段分配出来的一段/64 地址不好了吗?
maybeonly
29 天前
用运营商 ip 段的话,只能 nat ,或者其等效手段(包括但不限于,nat66 ,snpt ,netmap ,七层代理)
根本原因是,你的局域网 ip 段是运营商分给你的,而这些 ip 不可能(通常也不被允许)从其他地方发出去,发往这些 ip 段的数据包更是只会通过运营商还给你。

配置多段 ip 多路由+策略可行吗?理论上可行,但是带来的问题可能远远比收益要多。例如,配置困难,无法处理复杂规则,梯子故障时难以处理等等。

最后,不要恐惧 nat 。那东西挺好用的,真的。特别是没条件 bgp 的时候。
keyfunc
29 天前
Fake IP 最简单,我更极端点,所有非 CN 白名单的域名一律不返回 ipv6 的解析,CN2 的 v6 地址很烂
szdosar
29 天前
你的需求无非就是代理和分流 ipv6 ,这事有专门的插件能实现,比如 passwall2 。比你自己瞎琢磨靠谱,别浪费时间,专业的事情,让专业的人做。
terrancesiu
29 天前
前缀转换落地的 vps 再 nat 一次即可。这样国内是 240x 的 ip ,境外就是你的 vps 的 v6.
itiao
29 天前

可以考虑一下 V 友 yyysuo 的 Mosdns Fakeip 分流
https://github.com/yyysuo
https://t.me/+bzSRf6dtG3lhYWVl
scegg
29 天前
用两个 VLAN ,推送两套 V6 的 IP 到终端机,让其中一个是默认网关,另一个做类似无类路由的策略只走 CN ?
scegg
29 天前
这个模式缺点是需要电脑,但好像手机的话也不用纠结是否 NAT 了。
guiys
29 天前
为啥要一定硬要访问国外 v6 呢?所有国外站的 v6 解析全扔掉,靠 v4 即可。
除非你的需求是大量 v6-only 的站
JoeSmith
29 天前
ip rule ,配合 nft set, xmark , 加路由表
完全可以实现,我就这么干的,用了很久了

细节懒得写了,lz 自己研究吧。

大致的思路如下:
1. 搞一个 IP 地址列表(网上有的是),可以是中国 IP ,可以是国外 IP ,都可以。区别就是一个当黑名单用,另一个就是当白名单用,看你爱好。
2. 把这个列表写到一个 nft set 里
3. 写 nft 规则,匹配 set 的,打 xmark
4. ip rule ,匹配某 xmark 的,查特定路由表
5. 在这个特定路由表里,随便写你的路由配置

这一套下来就实现了分流,v4 v6 通用。
JoeSmith
29 天前
我这个用的是 tailscale ,没用 NAT 。
不过实际上 tailscale exit node 是用 NAT 实现的。
goofysun
29 天前
@bclerdx 这就好比 TK 服务器放在中国会被美国制裁,后面放在中国之外了,还是要被制裁。所有的政权都会对自己控制不了的媒体类限制。只是互联网西方独大了很久而已,YT 、TWITTER 这些上面反中内容,真的假的,谣言什么的泛滥,而中文社区的审核貌似给的是不怎么友好大陆的地区,你以为换成你当权,你能放开?或者按照你的意思,模仿老美立法禁止访问这些就好了。难道法禁和技术禁有很大的道德差异?
red3a
29 天前
说说我的现状和历史经验
现状:
- IPv4 私有 IP 地址, slaac 分配动态 IPv6 公网地址标配
- DNS 解析 IPv4/IPv6, 特殊地址只解析 IPv4 走路由表 或者 直接 Fake IP 走 mihimo
- IPv4 路由表处理, IPv6 全国内

过去折腾过的(需要 VPS 有两个 prefix routing 的国外 IPv6 地址段, 比如 tunnelbroker 那种, 但是其他的找不到或不划算后来就不弄了)
- IPv4 私有 IP 地址, slaac 分配动态 IPv6 公网地址标配
- DNS 解析 IPv4/IPv6
- IPv4/IPv6 按地址路由, 需要走特殊出口出去的, 做前缀映射, 换 IPv6 prefix
使用很正常, 但是也有很多不属于架构的问题, 比如境外 BT 流量会消耗比较大(因为无法控制别人怎么检测你的 IP 的), IPv6 的速度可能不行等等
bclerdx
29 天前
@goofysun 比如 YT 、Twitter 等这列就显示公众互联网,而不控制通过专线能直接访问这些服务的政权部门?一刀切只对公众互联网,而不对特殊政权部门,是这意思吧?这不就是看人下彩蝶吗?恶心!
sanquan
29 天前
ospf 啊
ankikong
29 天前
#4 该评论涉及引战 无意义 @Livid
hxdyxd
29 天前
如果是南方,直接全部 HK 出口,不分流。
延迟没差多少。绕香港还能解决跨网 Q 的问题
anonymity
29 天前
wg 翻 gfw 不会被切吗 我也想搭一个,
现在用的 zerotier

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

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

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

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

© 2021 V2EX