使用6to4的IPv6家庭网络

今天, 我们去找了李老师了解了一下校园无线网络的情况。

我们主要讨论了一下无线网的分布情况, 想要进一步了解无线网的质量并帮助提升无线网用户体验。

校园网有两个SSID, Tsinghua、Tsinghua_5G分别是2.4GHz和5GHz的(不过据说有的Tsinghua也有5GHz信号), 来回切换的话会被系统认为是坏蛋而屏蔽, 所以正确的切换方式是断开几秒后重新连接。这里建议连接2.4GHz无线网的用户, 感觉不好用的时候可以断开几秒之后, 尝试使用5GHz的网络。

我问, 为什么无线网不支持IPv6, 有学长说是”只是没开”。确实, 是只是没开而已, 不过没开也是有原因的, 比如有地址管理、漫游、计费不好处理等问题。这里顺便指出, 校园网IPv6免流量费只是因为计费系统实现困难, 不过老师也说, 免流量费来推广IPv6挺好的, 就不说破了。(原来IPv6和IPv4相差好多

然后, 话题渐渐偏向了IPv6。

以上是背景。

经过深思熟虑, 我想在家里部署IPv6, 然而运营商似乎不提供原生IPv6接入, 所以我使用了6to4技术。正好, 家里有两路基于PPPoE的宽带, 目前只有效利用了其中之一, 这下可以把另外一个利用起来了。

为了使用一个Raspberry Pi(rpi)作为路由器(之前在这个rpi上部署的是一个DNS缓存和一个ss, 用于提升访问国外网站的质量), 我还购买了一个USB网卡, 使得这个rpi能够有两个网络接口, 一个接入局域网交换机, 另外一个接调制解调器(ADSL的猫)。

rpi软件方面的配置, 我主要进行了如下操作:

  1. 配置好pppoe拨号。
    主要就是使用pppoeconf命令进行傻瓜式配置。
  2. 配置好6to4的tunnel设备。
    tunnel的IPv4地址为192.88.99.1, 这是一个固定的任播地址。
  3. 设置sysctl.conf的net.ipv6.conf.all.forwarding = 1。
  4. 配置好radvd, 用于向网内广播IPv6的前缀等信息。
    配置文件如下, 这样配置可以很好的支持6to4的随IPv4地址变化的地址。

    interface eth0 {
    AdvSendAdvert on;
    MinRtrAdvInterval 3;
    MaxRtrAdvInterval 10;
    prefix 0:0:0:cafe::/64 {
    AdvOnLink on;
    AdvAutonomous on;
    AdvRouterAddr off;
    Base6to4Interface ppp0;
    AdvPreferredLifetime 20;
    AdvValidLifetime 30;
    };
    };
    

    其中, eth0是接入局域网交换机的网络设备, ppp0是PPPoE的网络设备, “cafe”似乎可以随意取, 我只是觉得cafe比较有趣:) 。主要参考了这里

  5. 设置一下路由表, 因为我还是希望在rpi上普通的IPv4流量(apt-get之类的流量)走主宽带(eth0所连接), 与tunnel的连接走另外一个宽带(ppp0所连接)。
    route del default
    route add default dev eth0 gw 192.168.1.1 metric 1
    route add 192.88.99.1 dev ppp0 metric 1
    

    其中, 192.168.1.1是连接主宽带的路由器的IPv4地址。
    还需要设置IPv6的路由信息, 使得公网发来的数据能够被转发到局域网的机器上。

    ip -6 route add $IPv6/48 dev eth0 metric 1
    

    其中, eth0是接入交换机的网络设备, $IPv6是6to4的地址前缀, 由PPPoE获得的IPv4地址计算得到。

  6. 另外, 还需要设置iptables以及ip6tables来确保安全性。
  7. 最后, 还可以设置一下crontab, 使得这些操作能够自动定时完成, 在网络情况发生变化的时候及时更新。

经过上面的配置, 客户端可以无痛的使用IPv6了, 不过每个客户端有至少一个全球可路由的IPv6地址, 所以还是需要注意一下客户端的网络安全配置的。

特别指出, 6to4这个方法有个缺点, 就是服务质量取决于192.88.99.1到底是谁, 以及它的心情。不过这是实验性的IPv6家庭网, 就暂时凑活用吧。

最后, 总结一下, 随手画了个目前的网络路由图。图中省略了一些网络连接。

20160320022803

不知道什么时候运营商能够提供原生IPv6服务:( 应该是要等GFWv6建好吧。

发表评论

注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

本文链接:https://twd2.me/archives/8259QrCode