{dotted startColor="#ff6c6c" endColor="#1989fa"/}
首先登入 AWS 控制台,打开希望启用 IPv6 的实例,转到实例绑定的 VPC
展开 VPC 的 Actions (操作) 菜单,点击 Edit CIDRs (编辑CIDR)
点击 IPv6 CIDRs 中的 Add new IPv6 CIDR (添加新的IPv6 CIDR),在弹出的选项卡中选择 Amazon-provided IPv6 CIDR block (由Amazon提供的IPv6 CIDR块),然后点击 Select CIDR (选择CIDR)
这样,VPC 就有了一个由 Amazon 提供的 IPv6 CIDR 块,如图
{dotted startColor="#ff6c6c" endColor="#1989fa"/}
VPC 有了 IPv6 CIDR 块后,我们还要给 Subnet (子网) 分配 CIDR。回到希望启用 IPv6 的实例的控制台,转到实例绑定的 Subnet (子网)
展开 Subnet 的 Actions (操作) 菜单,点击 Edit IPv6 CIDRs (编辑IPv6 CIDR)
在 Subnet CIDR block (子网CIDR块) 中,点击 Add IPv6 CIDR (添加IPv6 CIDR)
点击Save (保存),这样 Subnet 就有了 CIDR 块
随后,需要给实例分配 IPv6 地址。再次回到希望启用 IPv6 的实例的控制台,展开实例的 Actions (操作) 菜单,展开 Networking (网络),点击 Manage IP addresses (管理IP地址)
展开网络适配器,如图
点击 IPv6 addresses (IPv6 地址) 中的 Assign new IP address (分配新IP地址)。可以选择自己指定一个 IPv6 地址,指定的地址需要在 Subnet 分配到的 IPv6 CIDR 中,也可以让 AWS 来 Auto-assign (自动分配)。随后点击页面底部的 Save (保存)
弹出选项卡二次确认,提示将会分配一个新的 IP 地址,这正是我们想要的。点击 Confirm (确认)
随后就会自动跳转回到实例的控制台,我们已经可以在这里看到实例已经被分配到了一个 IPv6 地址
最后一步是在路由表中新增一条规则,允许 EC2 正常通过 IPv6 与广域网通讯。转到 VPC 控制台,打开左侧的 Route tables (路由表),选中与之前的 VPC 关联的 Route tables,展开 Actions (操作) 菜单,点击 Edit routes (编辑路由)
点击 Add route (添加路由),Destination (目的地) 中键入 ::/0
(全部IPv6),Target (目标) 选择 Internet Gateway (互联网网关),在 Target 的输入框中输入互联网网关的 ID (以 igw-
开头,一般点击输入框,列出的列表中的就是),然后点击网页右下方的 Save changes (确认更改)
{dotted startColor="#ff6c6c" endColor="#1989fa"/}
至此,我们就已经成功为 EC2 服务器分配了一个可用的 IPv6 地址。值得注意的是,分配IPv6 地址后可能需要更新一下安全组策略,确保需要的 IPv6 入站流量被允许通过。现在可以试试连接至 EC2,测试 IPv6 的连通性。
执行 curl -6 my.ip-addr.is
后,返回如下结果
CONGRATULATIONS! 现在这台 EC2 就已经能使用 IPv6 网络了,这篇教程至此圆满结束。
之前提到的 my.ip-addr.is 是我的好朋友 zkn 提供的一个服务,可以通过 curl 请求这个地址来获取自己机器当前的公网 IP 地址,具体用法如下:
curl my.ip-addr.is # 获取默认的 IP 协议版本的信息
curl -4 my.ip-addr.is # 仅获取 IPv4 信息
curl -6 my.ip-addr.is # 仅获取 IPv6 信息
ip-addr.is 是一个非常实用的工具站,可以查询自己的 IP 地址、IP 地址信息、域名与 ASN 的 WHOIS 信息、查询 rDNS 解析,国家顶级域名列表。网站界面干净简洁无广告,域名简单直接,便于记忆,使用方便,现在在我心里已经取代 DNSCHECKER,成为了我的首选工具。
<!DOCTYPE html>
<html>
<head>
<title>maao.cc</title>
<script>
var userLang = navigator.language || navigator.userLanguage;
if (userLang === 'zh-CN') {
window.location.href = '/cn';
} else {
window.location.href = '/global';
}
</script>
</head>
</html>
这样,访问首页就会自动判断,将用户引导至合适的语言。当用户的语言是 zh-CN
(简体中文)时,就自动跳转到https://maao.cc/cn 是其他语言时,就跳转到https://maao.cc/global
当然,如果识别出错或者只是想看看另一种语言的页面的话,我也做了一个区域选择器(Region Selector 有点模仿任天堂官网那意思): https://maao.cc/regionselector 因为一般来说大部分简体中文访问者不会打开这个页面,所以在这里我是把英文放在第一个。
同时,我也将常联系站(maao.cc)的境外流量接入了上一篇文章提到的Amazon CloudFront(详见 本站的境外网络访问优化记录 - 毛毛的梦 ),现在全球连接速度都嘎嘎快