记录一次通过tunnelbroker申请到的ipv6网段,建立6in4中转服务器,转发/48网段的过程。

未成功,本次主要记录一种理论上可行的方案,我在实施过程中出现了一些问题,最终放弃了这种方案。经过后期总结可能可行的方案,但是没有尝试过。

前言

坐标上海,电信宽带,SDN网关改了桥接。(吐槽一下上海电信,到现在还没有公网ipv6)
一开始的目的是给家里内部接入公网ipv6,分配公网ipv6地址。因为没有端口限制方便在外网直接访问一些服务不用vpn接入家庭内网后才能通信。也想顺便解决一下某些仅ipv6网站的访问问题。但是直接使用6in4隧道接入tunnelbroker在国内有很大的干扰,基本无法正常使用。所以通过外网端口转发ipv6网段,成了最佳选择。当然在如何连到外网端口的问题上就仁者见仁智者见智了(我当前采用的是私有的技术进行链接,从而将外网机器加入家庭内网,分配独立网段,十分稳定)。


第二次尝试

未成功,成功案例请查看第一次尝试或48段在第三次尝试

打算用iptables的nat功能转发6in4协议流量,从而实现6in4流量中转。

缺点

因为6in4流量被转发,所以导致外网端口这台机器就无法分配到ipv6地址了。

实施

因为6in4协议的protoid是41这里我们只对41号协议进行nat操作

iptables -t nat -A PREROUTING -p 41 -d <服务器端点地址> -j DNAT --to-destination <tunnelbroker服务器地址>
iptables -t nat -A POSTROUTING -p 41 -d <tunnelbroker服务器地址> -j SNAT --to <服务器端点地址>

问题总结

先说一下我设置的服务器端点地址是通过内网ip的tun0地址:10.254.0.1
理论上做完这个步骤应该就成功了,但是网络不通。通过分析发现数据包仅能发出而回程数据包因为tunnelbroker发往的是外网端口的公网ip所以并没有被这条转发规则转发。
所以想尝试这样转发6in4的需要将服务器端点地址设置为服务器公网ip。

但由于我并不想通过公网转发6in4协议所以放弃了这个步骤。
PS: 没有尝试路由 外网端口公网-》tun0 因为这条隧道本身就是通过公网ip链接的,如果这样转发会导致隧道无法链接的环。