单臂IPv6路由

联通宽带开启IPv6》中曾想用tplink硬路由负责ipv4拨号,ipv6设为桥模式,然后用软路由进行ipv6拨号负责ipv6路由。然而那里用的软路由是虚拟机中的,在物理上它们处于tplink之后且无法改变,这或许是它们无法拨号成功的原因,因为ipv6不能单独拨号必须与v4同时,或者说v4先拨通然后借用v4的通道再获取ipv6连接。然而虚拟机的ipv4在tplink之下已经联网,无法再拨通。

之前用下载宝刷了 openwrt 做单臂软路由,那时是把软路由当做主路由,负责 ipv4/v6 同时拨号,tplink 在软路由之后做二级路由。这个方案上网没有任何问题,问题出在稳定性上。软路由修改配置或做各种尝试时,很有可能被整断网或重启,那么此时家里就会临时断网,需等软路由重启之后才会恢复。究其原因就在于软路由是网络的唯一入口,它断了网就断了。于是回想起之前ipv4和ipv6分开拨号的方案,如果能实现,即使软路由断掉或重启并不会影响 tplink 的 Ipv4 网络,至少不会断网,增加了可靠性;此时,即使软路由坏掉了,也只是 ipv6 不能用了,但 ipv4 一切正常。问题就在于这个方案可行吗?

答案是可行的!因为软路由、tplink、光猫(桥接)接到同一交换机上,软路由直接与运营商网络相连,这是与之前虚拟机方案的最本质的区别。此时把 tplink 改成拨号模式上网,但只对 ipv4 拨号, ipv6 要设为桥模式。然后再在软路由上拨号,注意依然是 ipv4/v6 同时拨号而不是只拨 ipv6。有人问了,这不是多拨吗?是的没错,这就是多拨,所以需要运行商支持多拨才行!不过,也不要指望着用多拨提高带宽,我试了虽然可以多拨成功,但是下行带宽不会叠加,两路总带宽还是你买的的那个数。不过无所谓,本来我多拨为的也不是提高带宽,为的仅是把 ipv4 和 ipv6 分开。

既然软路由只负责 ipv6 部分,那么它拨到的 ipv4 IP 对我也就没什么用,其下面也不接局域网,所以最好把 lan 的 DHCP(v4)服务器关掉,但 DHCPv6 必须要开启。原则上之前的配置基本不怎么用动就可以用。但是,由于网络拓扑变了,tplink下的ipv4局域内的设备无法再通过 ipv4 连接软路由了,我就突发奇想给软路由再增加一个虚拟网卡,设成tplink局域的192.168.0.x网段,然后用一根网线把tplink的lan口连到交换机上,心想这样软路由不就也加入了192.168.0.x网段了吗?可事实确实,加了这个线后网络就不稳定了,各种掉线,看来是形成了回路网络抽风了,因为这相当于我把tplink的lan口和wan口连了起来!看来这么干是不行的。那在局域网内如何访问软路由呢?答案是,ipv4不行那就用ipv6!ipv4不行是因为不在一个子网,但ipv6却是在一个子网,而且这是必须的,因为我们就是用这个软路由负责局域网的ipv6上网,所以ipv6必然得是通的才行。保留自定义的全局前缀 fd00::/64 则软路由的局域网ipv6地址就是 fd00::1,那么便可在浏览器中输入 [fd00::1] 来访问!此时光猫lan口ipv6本地地址也可访问,可以通过 [fe80::1] 来访问光猫控制页面。总之,这么整以后,软路由和局域网内设备互相访问只能通过ipv6了。唯一能通过ipv4访问的办法就是那跟网线一头接交换机上,另一头接电脑,自动获取ip,这时光猫的DHCP服务器会分配一个192.168.1.x的IP,然后尝试 192.168.1.y 来访问软路由, y 可能是 2、3、4 等,试个几次就出来了。

弃用 nat6 改用直连模式

1、性能问题

经测试,发现 nat6 性能不行,严重影响带宽。当然也可以说是我的设备(下载宝)硬件性能不行,以致 nat6 模式影响了带宽。用 iperf3 测速,单位=>经wrt(nat6)=> nas 最高带宽也就 150Mbps左右,而如果去掉 nat6 改为直连,则带宽能达到 500+Mbps,几乎是跑慢了我的下行带宽!看来不用 nat6 的情况下,下载宝做软路由还是可以的。如果 iperf3 -s 直接运行在软路由上,前后测速结果没什么区别,都在200Mbps左右,很显然即使之前nat6模式时对于软路由本身也是直连并没有做nat。这说明是软路由的cpu以及软件本身的性能不行导致速度上不去。鉴于此,当然要取消 nat6 模式换回直连模式。

设成直连模式以后,发现只要不是到软路由本身的流量都是根本不进入软路由的。比如外网到 nas 的流量,假设有 500Mbps,软路由上的【状态=>实时信息=>流量】中除了 eth0 处能看到进出都是 500Mbps 以外, 其他接口都没有这 500Mbps 的流量。这说明网络数据根本没进 wrt 没用 cpu 处理,完全在网卡处就被网卡处理转发走了,所以这样速度很快,cpu 的性能根本无法影响速度。但如果是外网直接到软路由的流量,则可以看出除了 eth0v1 和 eth0v2 没有流量外,其他设备都有流量,数据切切实实的进入了 wrt,被 cpu 处理,自然受 cpu 性能影响而降低了速度。

2、相关设置


最主要的几点如下:

  • 之前 nat6 模式时各个接口设置中都取消了【委托IPv6前缀】,此时 lan 和 wan_6 中的要选上(wan的可以保持不变),而且把前缀过滤取消(之前设置只允许fd00::/64的本地前缀),否则局域网设备就无法获取公网ip。IPv6分配长度还是都是选的64没改也能用,虽然分配下来的长度是60。

  • wan 中的【获取IPv6地址】方式最初是手动,发现重启 wan_6 接口总是无法获取到 ip,但重启软路由后会获取到。于是尝试改成自动,改成自动后确实不论是修改配置还是重启 wan_6 接口或 wan 接口都能很快获取到 ipv6 地址,一开始以为这样挺完美的,谁知道重启软路由后 wan_6 反而不会自动获取到地址,还得手动启动一下才行。权衡之后,最终还是决定设成手动,这样至少重启软路由不会有问题。

  • lan 的 DHCPv6 设置没怎么变,RA 和 DHCPv6 选的服务器模式,RA中默认路由器选强制的,启用 SLAAC。不过不知为何 lan 中的 ipv6 地址中出现了两次 fd00::1。

  • 上面的设置也有不完美的地方,那就是如果软路由重启,局域网设备的 ipv6 好像不会自动更新,至少不会很快,比如电脑上就得重新禁用再打开网卡才能连上 ipv6,否则 ipv6 不通。不知是哪里没设好。还有一处不明白,就是记得之前 DHCPv6 会给电脑分配 ipv6 地址,后缀除了 eui64 的还有一个很短的,此时那个短的没有了,只剩下 eui64 的了。

  • 取消 nat6 除了上面的设置之外,一个很关键的地方就是防火墙中 wan 区域的设置要【取消】IPv6 的动态伪装,这才是 nat6 最直接的控制地方。否则即使能上网但性能并没有提升。

  • 既然都选择直连了,那之前防火墙中的端口映射的设置都要取消。原则上虽然不取消也行,但是会导致一些问题。加上软路由 IPv6 地址是 xx, 而 nas 的是 yy。比如 6666 端口,之前 nat6 模式时是把 xx 的 6666 端口映射到 yy,也就是通过访问 xx:6666 达到访问 yy:6666 的效果。但是现在 yy 可以直连了,所以可以直接访问 yy:6666 (前提是防火墙放行6666端口)。那么,此时如果相关端口映射设置还在,那么访问 xx:6666 是否依然通呢?经测试发现,如果6666的端口映射设置中的目标IP是正确且可以连通的,那么不论是直连的 yy:6666 还是端口映射的 xx:6666 都通;但如果端口映射设置中的 IP 不对不通,那么不论是 xx:6666 还是 yy:6666 都是不通的,现象是卡着没反应。所以,最好不取消所有端口映射。

  • 端口映射取消了,取而代之的是端口放行,需在【防火墙=>通信规则】中设置,不手动放行的端口,即使在外面能 ping 通 ip 也是无法访问的。设置中源区域选择 wan,目标区域选择 lan,目标端口选择要放行的端口,可以空格隔开写多个。最关键的来了,目标地址可以使用掩码,而且还是掩后面!因为 ecui64 格式的后缀是不变的,变的只是前缀,比如目标设备之前的 ip 是 2408:xxx::1234:5678:9abc:def0, 而重启软路由后前缀会变但后缀不变,比如 ip 变成了 2408:yyy::1234:5678:9abc:def0,那么这时便可(通过手动输入)如下设目标 IP

::1234:5678:9abc:def0/::ffff:ffff:ffff:ffff

这样不论前缀怎么变,只要后缀不变就总能匹配到目标设备。/etc/config/firewall 中相应配置部分如下:

config rule
        option name '名字自取'
        option family 'ipv6'
        option src 'wan'
        option dest 'lan'
        list dest_ip '::1234:5678:9abc:def0/::ffff:ffff:ffff:ffff'
        option dest_port '6666 7777'  # 放行 6666 和 7777 两个端口
        option target 'ACCEPT'
  • 在只能通过 ipv6 访问软路由管理界面后,随之出现了其他问题,一是 ssh root@fd00::1 尝试登录软路由被拒绝,二是基于 ttyd 的控制页面上的终端也无法打开。进不了终端,这可怎么进行命令行操作?网上搜索,有网友指出,只需要将【系统=>管理权=>ssh访问】和【服务=>终端=>配置】中的默认接口 lan 去掉,都改成【未指定】并保存应用,之后 ssh 和 ttyd 就都可以用了。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容