A-A+

Centos 7配置tunnelbroker隧道支持IPv6访问

2019年07月08日 VPS资讯, 经验杂谈, 网络技巧 暂无评论 阅读 5,380 次

随着Ipv4地址的枯竭,越来越多的地区开始普及IPv6网络,但是国内目前也只有教育网对IPv6支持较好。国内较大的云服务提供商阿里云、腾讯云、百度云都还不支持IPv6网络,目前了解仅有景安网络支持IPv6访问。

如果你的服务器或者站点有IPv6的访问需求,可以通过使用Hurricane Electric(HE)提供的Free IPv6 Tunnel Broker,是你的服务器或者站点支持IPv6访问,本文以阿里云Centos 7为例进行配置HE隧道使服务器支持IPv6访问介绍:

一、注册并创建IPv6隧道

1、访问https://www.tunnelbroker.net/,并注册账号 (需要邮箱验证);

2、点击Create Regular Tunnel,创建IPv6隧道;

3、在IPv4 Endpoint (Your side)处填上阿里云ECS的IPv4 地址(需能ping通);

4、在Available Tunnel Servers中选择隧道服务器,一旦选择再想更改有少许操作(如果你面向海外用户,可以选择更接近目标用户的地区或ping服务器地址,一般选择延时最小的稳定性比较好的)

5、点击Create Tunnel后,通道就创建完成了

二、配置ECS支持IPv6

1、通过SSH登陆ECS Centos 7,并编辑/etc/sysctl.conf文件:

vi /etc/sysctl.conf

将其中三条禁用IPv6的设置做如下更改。

net.ipv6.conf.all.disable_ipv6 = 0

net.ipv6.conf.default.disable_ipv6 = 0

net.ipv6.conf.lo.disable_ipv6 = 0

2、运行sysctl -p命令,启用IPv6

sysctl -p

3、登陆Tunnel Broker,找到上一步创建好的IPv6隧道,进入Example Configurations选项卡,选择Linux-route2的配置方法,复制生成的示例配置。(如果是“专有网络”,需要将HE配置隧道地址命令中的IPv4地址修改为ECS实例的内网地址,如下图所示,如果你阿里云Centos 7使用的是“专用网络”,请将第二行中的121.42.186.135修改为你服务器的内网地址)

4、通过SSH登陆ECS Centos 7,执行上面复制的Linux-route2示例配置。

modprobe ipv6

ip tunnel add he-ipv6 mode sit remote 66.220.7.82 local 121.42.186.134 ttl 255

ip link set he-ipv6 up

ip addr add 2001:470:1f18:583::2/64 dev he-ipv6

ip route add ::/0 dev he-ipv6

ip -f inet6 addr

5、添加IPv6 DNS解析服务器,在/etc/resolv.conf最后添加nameserver 2001:4860:4860::8888,nameserver 2001:4860:4860::8844谷歌的ipv6 dns服务器

# vi /etc/resolv.conf

nameserver x.x.x.x

nameserver x.x.x.x

nameserver 2001:4860:4860::8888

nameserver 2001:4860:4860::8844

6、通过ifconfig查看服务器Ipv6地址

# ifconfig he-ipv6

he-ipv6: flags=209<up,pointopoint,running,noarp> mtu 1480</up,pointopoint,running,noarp>

inet6 2001:470:1f18:583::2 prefixlen 64 scopeid 0x0

inet6 fe80::792a:b982 prefixlen 128 scopeid 0x20

sit txqueuelen 0 (IPv6-in-IPv4)

RX packets 66 bytes 24184 (23.6 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 63 bytes 15769 (15.3 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

三、配置网站支持IPv6

1、配置Nginx站点使其监听 IPv6 端口

server {

listen 80; // 监听 IPv4 的 80 端口

listen [::]:80; // 监听 IPv6 的 80 端口

}

server {

listen 443 ssl http2; // 监听 IPv4 的 443 端口

listen [::]:443 ssl http2; // 监听 IPv6 的 443 端口

}

2、为网站域名添加AAAA解析,值填 HE 里的Client IPv6 Address,,去掉最后的/64 即可。如2001:470:1f18:583::2。

查看站点是否支持IPv6访问,测试网址:测试地址:http://ipv6-test.com/validate.php ,如下图所示即表示站点已支持IPv6访问。

最后一步就是自动挂载你的IPV6

然后我们将命令写入开机自启

vim /etc/init.d/network

在"touch /var/lock/subsys/network"之前添加好上面网页中所给的挂载命令
你的IPv6地址则为Client IPv6 Address,如果你只是想普通使用,那么你去掉后面的/64就可以正常使用啦,如2001:470:18:1278::2
如果你想要在Nginx等服务商启用IPv6支持,你可能需要参阅程序的相关文档进行操作

给我留言