利用 OpenWrt 实现 THU IPv6 + 宽带叠加完美双 WAN

经常玩 PT 的同学很可能也遇到过下面这个令人头疼的问题:目前大多数路由器并不支持 IPv6 的局域网转发,虽然可以利用 Lan 口互相是桥接的原理强行把路由器接成交换机模式实现校园网的 AP 接入,但是这样也同时失去了同一路由器下多设备的局域网互联,这给平时多设备的数据传输带来了很大的不便。为此,我们需要一台 OpenWrt 的路由器解决这个问题。

1. 前期准备与思考

我的网络环境为:

  • 一根教育网有线网(IPv4 和 IPv6 均为公网 IP)
  • 一根移动宽带光纤(IPv4 和 IPv6 均无公网 IP)注[1]

设备环境为:

  • 华为光猫一台,办理移动宽带租用的,固件锁了路由功能,只能单 WAN 输出。
  • 一台刷了 OpenWrt 的网件路由器 WNDR3800
  • 两台 Win10PC,其中一台作为 NAS
  • 众多需要 WLAN 的移动设备

理想实现的效果:

  • 尽量少的折腾,最好能在一台路由器上搞定所有需求,即连接到这台路由器的所有设备可以自动获取到IPv4IPv6IP 地址并能顺利联网。
  • 进一步的要求,由于 PT 需要,每台设备的 IPv6 地址最好是公网的。

2. IPv6 的三种模式

路由器配置的最难点在于对 IPv6 的支持上,尽管 OpenWrt 三四年前的版本就已经可以转发 IPv6 流量了,但是依旧不完善,尤其是图形化界面的操作大不如 IPv4。

我通过整理一些大神的技术博客流传下来的资料,了解到现在 IPv6 转发有以下三种方式:

(1) Relay 中继模式

这是最早用的一种模式,即用路由器作为中继,路由器获得 IPv6 公网地址,获得数据后,转发给后面所有连接到路由器的局域网设备。

实现中继模式有以下两种方法:

  • 6relay,现在搜索‘教育网 IPv6 OpenWrt’关键词,出来的大多数教程都还是用这种方式,实际上 OpenWrt BB 版本后就已经不再用这种方式。故忽略。

  • odhcpd,似乎 CC 版本后的 OpenWrt 已经支持从 luci 配置这种方式,可见它还是较为稳定,不过经实际测试,虽然后面的设备能够获得路由器局域网 IPv6 地址并成功联网,但 10 分钟左后后会断流,需要重启路由器。我似乎没有找到比较完美的解决办法,故而放弃。注[2]

(2) NAT6 模式

众所周知,在 IPv4 网络下路由器是用 NAT 进公网到局域网地址转换的,NAT6 即为 IPv6 编写的 NAT 服务。网上也能搜到很多有关 NAT6 配置的方法,事实上,这种模式现在非常稳定,使用过程中完全察觉不到,和普通的 IPv4 路由没有什么区别。

不过 NAT6 模式下还是有个小问题,就是由于后面的设备都是局域网 IPv6 地址,加上 OpenWrt 可能对端口转发之类的支持不太好,所以挂 PT 时,utorrent 的连接性很差。

(3) 桥接穿透模式

目前来看,对于教育网 IPv6 环境,这可能是最适合的一种转发方式。事实上,它和我们平时用到的反插网线强行交换机模式的原理很相似,通过设置将 IPv6 网线接口与 LAN 口桥接,这样 LAN 口相当于 AP 接入校园网 IPv6 环境;与此同时我们再叠加一个 IPv4 的宽带即可。这样的方式下,路由器本身没有 IPv6 地址,但是后端所有设备都有公网 IPv6,非常适合拿来刷 PT。不过由于路由器没有公网 IP,所以想用路由器挂 PT 的可能要考虑上述两种方式了。

总结

路由器 IP 设备 IP 连接性
Relay 公网 内网 较差
NAT6 公网 内网 一般
桥接 公网 非常好

对于用路由器做主力 NAS 的情况
: 首选 NAT6

对于每个设备都需要公网 IP 的情况
: 首选桥接

3. 路由器配置

(1) 双 WAN 口设置

WNDR3800 上只有一个原生 WAN 口,我们首先要先通过 luci 界面的交换机设置 VLAN,把一个 LAN 口用作WAN6

设置方式为:

CPU 接口: 所有 VLAN 均需与之已标记(Tagged)

VLAN 连接的接口: 设置为未标记(Untagged)

未与 VLAN 连接的接口: 设置为关闭(Closed)

设置完后的 VLAN 如下

VLAN ID CPU LAN 1 LAN 2 LAN 3 LAN 4
1 已标记 未标记 未标记 未标记
2 已标记 未标记

这样,连接在 LAN 1 的网口 VLAN 2 就可以用作一个新的 WAN 口。

(2)配置两个 WAN 口

在 luci 中找到接口,比较新的 OpenWrt 中应该都自带添加了WANWAN6两个接口,如果没有的话,手动添加一个接口并命名为WAN6

对于WAN口,正常设置即可,比较重要的一点是,因为我不想用移动宽带的 IPv6,要在接口-高级设置-获取 IPv6 地址设置为已禁用

对于WAN6口,找到物理设置,选择接口为VLAN 'eth0.2'(默认 IPv6 插在了刚刚设置的 LAN 1,宽带插在 WAN)。

之后就是重头戏,我们要设置 IPv6 的桥接。网上教程中提到需要安装ebtables去转发即将设置桥接的 WAN 口的 IPv4 数据,但是显然在我们这个双 WAN 的操作中是用不到的,因为校园网 IPv4 计流量而宽带不限量,故忽略这一步。

直接在接口-LAN-物理设置,会看到已经有了一个桥接,这个是把 2 个 WLAN 接口及 LAN(eth0.1 即交换机设置中原有的 VLAN1)桥接在一起,使得 LAN 下的设备彼此互联。我们在这个已有的桥接中添加勾选VLAN 'eth0.2'即把 WAN6 和全部 LAN 桥接在一起。

虽然原理讲起来非常复杂,但实际操作我们只需这样简单的一个操作,就完成了 IPv6 的桥接穿透。

当然,根据网上教程最后还需要在启动项中禁用 odhcp,以免它反复报错。

后续思考

桥接模式下的一个小 BUG

由于开机过程比较缓慢,在路由器刚启动时,DHCP 还没有来得及给设备分 IP,这时由于桥接,设备已经获取到了校园网的 IPv4 地址,这显然是我们不希望的。这个现象目前我的解决办法就是开机先让路由器缓一会儿再连网,还没有找到更好的办法。

NAT6 模式下的端口转发

理论上来说,通过ip6tables可以设置 IPv6 的端口转发,不过囧于 luci 没有很好地适配 ip6tables,所以需要在命令行操作,加之我自己没有需要,就懒得研究了,以后有空了没准会研究一下。


参考链接

OpenWRT IPv6 三种配置方式

http://blog.kompaz.win/2017/02/22/OpenWRT%20IPv6%20%E9%85%8D%E7%BD%AE/

Lede、PandoraBox IPv6 NAT66 的实战操作

http://www.right.com.cn/forum/thread-253712-1-1.html


  1. 移动在 2018 年前后陆续开通了 IPv6,速度和 IPv4 一致(也就是依旧上下不对等),但是考虑到 IPv6 PT 站点多为教育站,屏蔽了公网 IPv6 流量,所以我在这里并不准备用移动的 IPv6。

  2. 最近的发现,这种模式对于移动宽带这种原生 IPv6 支持还是很好的,但是和教育网的配置始终有点小 bug,我没有深入研究。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容