CentOS下搭建IPv6环境

1
2
3
作者 : daodaoliang@yeah.net
日期 : 2017-06-22
版本 : 0.0.1

[TOC]

1. 背景简介

  1. 阿里云的centos默认是没有开启IPv6的,可以通过 lsmod | grep ipv6 或者 ifconfig -a | grep inet6 进行对应的查看;
  2. 由于某些应用在上线某个平台时需要进行Ipv6的适配;
  3. Ipv6 确实在某些场景下时必须的;

基于以上种种原因,因此才有此文章,此文章所有的部分内容为查阅的其他工程师的探究结果。

2. 开启系统的Ipv6

2.1 检查系统是否已经开启Ipv6

在终端执行进行查看

1
ifconfig -a | inet6

2.2 配置开启Ipv6

  • 修改/etc/sysctl.conf, 存在则修改,不存在则增加如下内容:

img

  • 修改 /etc/modprobe.d/disable_ipv6.conf, 存在则修改,不存在则增加如下内容:
1
2
3
4
5
6
7
8
9
修改前
alias net-pf-10 off
alias ipv6 off
options ipv6 disable=1
修改后
alias net-pf-10 off
#alias ipv6 off
options ipv6 disable=0
  • 修改/etc/sysconfig/network, 存在则修改,不存在则增加如下内容:
1
2
3
4
5
6
7
8
9
10
11
12
13
修改前
NETWORKING=yes
HOSTNAME=coolnull
NETWORKING_IPV6=no
PEERNTP=no
GATEWAY=*.*.*.*
修改后
NETWORKING=yes
HOSTNAME=coolnull
NETWORKING_IPV6=yes
PEERNTP=no
GATEWAY=*.*.*.*
  • 至此ipv6的服务器端支持已经完成,重启服务器测试是否支持ipv6

3. 注册免费的Ipv6隧道

3.1 注册账号

https://www.tunnelbroker.net/,不再赘述,注意邮箱不要使用腾讯家的就好,不然收不到激活邮件;

3.2 创建通道

  • 填写云服务器ip以及选择默认的隧道节点,点击Create Tunnel创建。填写ip都,如果出现“IP is a potential tunnel endpoint.”则证明可以添加ipv6隧道,一般隧道节点系统已经默认分配,可以手动选择,大家可以在自己的云服务器上分别ping一下这些ip,选时延低的。

ipv61

  • 到下一页面切换到Example configurations选项卡,如果你的VPS是centOS/Debian这些常见Linux的话,下拉菜单选择Linux-route2,出现了设置的命令,复制到自己的云服务器上运行。

ipv62

  • 如果执行失败请用下面的命令执行,替换掉里面对应的IP信息
1
2
3
4
5
6
# modprobe ipv6
# ip tunnel add he-ipv6 mode sit remote <Server IPv4 Address> local <Client IPv4 Address> ttl 255
# ip link set he-ipv6 up
# ip addr add <Server IPv6 Address> dev he-ipv6
# ip -6 route add ::/0 dev he-ipv6
# ip -f inet6 addr

3.3 测试Ipv6

  • 终端执行如下指令查看对应结果
1
ifconfig he-ipv6
  • ping6 googleipv6DNS服务器
1
ping6 -c 5 2001:4860:4860::8888

小技巧:

  • 增加GoogleIpv6DNS服务器
1
2
3
# vim /eyc/resolv.conf
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844

接下来就能直接 ping6 支持ipv6的地址了;

1
ping6 ipv6.google.com

4. 配置阿里云域名

在增加A记录的同时,增加AAAA记录即可,AAAA记录里面的值为server里面的值 注意不要带后面/64

daodaoliang wechat
点击上面图片后用微信扫描,你就能认识一个有趣的灵魂了呀。
Fork me on GitHub