抛开路由为局域网内机器启用IPv6

支持IPv6这事情不一定非得要路由上配,局域网内只要有Linux机器能用IPv6就行。
这种事情做之前,对于完全不会的人和会的人都很简单,但对我这种稍微懂一点的,还没做可能就先想多了。

测试环境

公司
路由:TP-Link某老旧企业路由,不支持IPv6
Linux:Debian Jessie, 服务主机,兼顾dns,dhcp等等服务,LAN接口eth0
网络:北京联通家庭光纤 PPPoE
IPv6 服务:Tunnel Broker
其他软件:dnsmasq, dhcpd

申请Tunnel

点击 https://tunnelbroker.net/,注册账号,加个tunnel。

HE的tunnel有HK的节点,但是tunnel的endpoint里没有HK的,所以我测试用了列表里给东京的endpoint,只是因为ping略低一点点。

东京的endpoint分配的节点貌似都是 2001:470:23:xxx::/64,而路由的网络是 2001:470:24:xxx::/64 的,两个xxx相同,配置的时候需要注意。

配置网络接口

莫名其妙的网络问题一定得看network-manager是不是开了

By sskaje

没什么好解释的,关掉就完了。各种诡异错误日志懒得找了。

增加网络配置
/etc/network/interfaces

如果PPPoE动态IP环境,还得自己配一下DDNS,例如

hostname字段填写的是tunnel ID。
可以参考 EdgeRouter同时更新TunnelBroker和HE.NET DDNS

配置radvd

Radvd, Linux IPv6 Router Advertisement Daemon, 不知道的人第一次见没准还以为是个DVD刻录工具。

配置是从我的UBNT抄过来的,其实可以最简化配置,我就偷懒了
/etc/radvd.conf

因为我的内网有自定义解析的需求,所以我装了dnsmasq,然后把 RDNSS 指向了我的Linux Box。

其他配置

Sysctl少不了

改完了

起服务

建议先起radvd,看看局域网内其他机器能否获取到IP。
然后重启服务器的networking,看看v6路由是否正常。

# EOF

抛开路由为局域网内机器启用IPv6 by @sskaje: https://sskaje.me/2016/01/linux-ipv6-tunnel-and-advertise/

Incoming search terms: