APICloud平台即将全面升级至用友开发者中心,请广大用户查看公告,及时进行账户迁移
APP开发平台 > Blog > 如何把服务器免费接入IPv6?

如何把服务器免费接入IPv6?

  如何接入IPv6?对于一些前端的工程师来说网络层可能真的是天方夜谭,但是看了今天的分享后,以后就不用再苦恼了。

  如今IPv6已经在一些地区进行了试点,不过各大IDC可能是因为政策问题迟迟没有用到。今天分享给大家:如何在国内服务器上免费接入HE tunnel IPv6隧道,服务器用的是某里云的(windows和linux都会做详细的讲解),建议大家不要去用某讯的即使用某讯的也要自己自定义镜像,分享者尝试过某讯的所有官方提供的linux镜像除了dibian其余的都无法开启IPv6(成功过的大神可以分享一下经验)。

  一、HE tunnel IPv6隧道

  ❶ (敲黑板,知识点来了)首先打开HE官方网站https://tunnelbroker.net/,点击左上角的register注册一个帐号记住你的帐号和密码,然后登录帐号(如下图)

  ❷ 每个帐户可以申请5个IPv6 Tunnel,如果ISP支持BGP协议还可以申请BGP Tunnel,不过大部分人都不支持,所以还是老老实实地申请一般的Regular Tunnel吧。在左边点击

  User Functions

  下的Create Regular Tunnel (https://tunnelbroker.net/new_tunnel.php),输入你服务器的IPV4地址,建议大家在选择HE服务器之前先用自己的服务器ping一下HE提供的服务器地址,选择延迟最低的(香港的就不要考虑了一般都是满的状态,即使有货延迟也是高的一B,全程绕lax,一般延迟低的是Fremont, CA, US毕竟有海底光缆,这个也要视情况而定还是自己测试一下)(如下图)

  ❸ 创建成功之后点击左上角的

  Account Menu

  下的[size=13.3333px]Main Page (https://tunnelbroker.net/)确认一下Client IPv4 Address是不是你服务器的IPV4地址不是的话删除了然后再重新创建一个,点击上边tab的Example Configurations (https://tunnelbroker.net/tunnel_detail.php?tid=394665#tabs-2)在select your os的下拉菜单中选择你用的操作系统(如下图)

  ① 先讲windows 的使用方法

  Ⅰ、先把自己的服务器上网卡的IPV6协议打开,方法就不在这赘述了,可以百度。

  Ⅱ、先把自己服务器上默认分配的隧道全部删掉,留着也没什么卵用,直接在CMD中输入这三条命令,一路回车

netsh interface teredo set state disable 
  netsh interface 6to4 set state disabled 
  netsh interface isatap set state disabled

  Ⅲ、再说一下某里云的网络分为经典网络和专有网络,经典网络网卡是绑定公网IP地址的(客服说的),分享者用的是专有网络所以只有NAT出来的内网地址,所以在HE提供的脚本当中就要把上边的localaddress换成你第一个网卡的内网地址(建议先打开个notepad把脚本复制一下在里边改,避免新手翻车)

  netsh interface teredo set state disablednetsh interface ipv6 add v6v4tunnel interface=IP6Tunnel localaddress=(换成你的内网地址) remoteaddress=(这里不需要改动是HE的服务器地址)netsh interface ipv6 add address interface=IP6Tunnel address=(这里不需要动)netsh interface ipv6 add route prefix=::/0 interface=IP6Tunnel nexthop=(这里不需要动)

  Ⅳ、在服务器中打开CMD将脚本复制粘贴上一路回车,最后输入ipconfig,查看自己是不是已经有了一个名字为IP6Tunnel的隧道,如果有的话就说明成功一半了,然后输入

  ping bt.byr.cn

  如果能ping通就说明你的服务器已经支持IPV6了,记住自己的IPV6地址,然后在自己的Apache或者nagix监听ipv6的端口,最后到dns服务商中做一下AAAA解析,然后就万事大吉了,补充一个关于隧道维护的命令

  netsh interface ipv6 delete interface ['隧道名称"]

  ② linux系统

  Ⅰ、先检查自己有没有fe80开头的本地ipv6地址,如果没有可百度如何在你的linux镜像中开启IPv6,方法大同小异就不赘述了。

  Ⅱ、在Example Configurations (https://tunnelbroker.net/tunnel_detail.php?tid=394665#tabs-2)在select your os的下拉菜单中选择你用的操作系统

  Ⅲ、脚本修改同windows

  Ⅳ、配置完成之后输入ifconfig查看是否配置成功,然后ping6 bt.byr.cn如果ping通说明配置成功 剩下的步骤同windows,在这分享一下自己研究的nagix配置监听ipv6

  支持ipv6
自动查找错误:/usr/local/nginx/sbin/nginx -t 
关闭nginx:killall nginx
启动nginx:/usr/local/nginx/sbin/nginx
①首先解析域名
②修改/usr/local/nginx/conf/nginx.conf
       listen 80;下面添加一行:listen [::]:80 ipv6only=on;
③其他虚拟主机将所有server {}里面的listen 80;下面添加上:

listen [::]:80;

如果要指定IP的话,所有虚拟主机的所有listen都需要添加上IP,效果如下:
server
{
listen 你的ipv4地址:80;
listen       [你的ipv6地址]:80;
....省略部分配置
}

  二、各高校ISATAP 接入IPV6(这个需要网卡直接绑定公网IP)

  1、清华大学

  IPV4:59.66.4.50

  2、厦门大学

  IPV4:201.34.219.13

  配置方法:

  Windows 环境(Windows 7及以上系统适用)以管理员身份运行cmd命令,进入命令行模式,输入如下命令

  netsh int ipv6 isatap set router [替换成上方提到的IPV4地址]netsh int ipv6 isatap set state enable

  以上两条命令分别为设定ISATAP路由器和启用ISATAP隧道。

  以下操作为非必须

  如果按照上述提示操作以后仍无法正常访问IPv6站点,可以尝试:

  ● 右键点击桌面“计算机”图标,选择“管理”,展开“服务和应用程序”,选择“服务”,确认“IP Helper”服务已开启;

  ● 确认Teredo隧道已经关闭(管理员模式在命令行运行netsh int teredo set state disable);

  ● 确认原生IPv6已经关闭(Internet 协议版本 6 (TCP/IPv6)前的对勾取消,位置在控制面板→网络和Internet→网络和共享中心→更改适配器设置→双击本地连接→属性);

  ● 尝试重启系统。

  三、openvpn 接入IPV6(这个无任何使用限制!省去一切麻烦的配置步骤)

  只需要一个openvpn的客户端就可以使用IPV6,客户端下载地址http://www.openvpn.net

更多APP教程,请关注www.apicloud.com

2018-02-26 来源:APICloud

服务器

高效的App定制平台,标准化、便宜、快!

提交APP定制开发需求