甲骨文云(Oracle Cloud)免费服务器开启 IPv6
主要分为2部分操作!第一部分:控制台面板设置IPv6相关模块。第二部分:在Linux服务器上启动IPv6。
面板操作
下面进入正题!登陆甲骨文后台!
① 前往 网络 -> 虚拟云网络 -> 选择查看网络详情
② 其实在控制台面板上主要下面4个步骤。
③ 打开 CIDR块 -> 点击 【添加 IPv6 CIDR块】
添加成功后如图!
④ 打开子网,编辑子网信息
勾选 启用IPV6 CIDR块
输入框随便输入一个值,例如:ee
点击保存!
这里如果出现下面的错误:NotAuthorizedOrNotFound,请移步到 处理错误 部分内容解决!成功后再继续这里的步骤!!
⑤ IPv6 CIDR块添加成功!如图!
⑥ 路由表 -> 路由表详情 -> 添加路由规则,如图设置即可!
目的地 CIDR 块:::/0 (注意2个冒号)
目标类型:Internet网关
⑦ 安全列表 -> 查看详情 -> 添加出站规则 和 添加 入站规则
目的地类型:CIDR
目的地 CIDR:::/0 (注意2个冒号)
IP协议:所有协议
⑧ 查看服务器实例详情 -> 附加的 VNIC -> 点击VNIC详情
右侧可见多了一个IPv6地址 的选项!点击 【分配 IPv6 地址】
⑨ 可以指定一个你想要的IPv6格式,不指定会随机分配一个。
⑩ 至此面板上的操作基本上完成了
系统操作
主要以CentOS7 举例。其他Linux版本请自行测试!
特别提醒一下,甲骨文的CentOS系统重启网卡会报错~ 所以通过重启网卡获取IP是行不通的。
① 获取IPv6(甲骨文网卡名称默认为ens3)
dhclient -6 ens3
②查看IPv6是否生效
ip add
③测试一下IPv6网络情况!
ping6 google.com
④添加开机启动
服务器重启后,IPv6不会动态获取!那么执行下面的脚本。把获取IPv6的命令写到开机启动!
chmod +x /etc/rc.d/rc.local echo "dhclient -6 ens3" >> /etc/rc.d/rc.local
处理错误
添加IPv6的时候 提示:NotAuthorizedOrNotFound
据好多童鞋反馈发生这个错误!
有大佬说,是因为没有将免费升级?或者由于试用期已过?这个我也不知道了!
下面说一下解决方案!首选打开 Cloud Shell 执行命令!
① 获取 compartment_id
oci iam compartment list
② 查询子网(subnet)列表,获取到子网ID(红框内) subnet_id
PS:下面命令中的 [compartment_id] 替换为 上面的 compartment_id,不保留[]符号哦~
oci network subnet list --compartment-id [compartment_id]
③ 获取 cidr,如图获取CIDR块地址!
④ 更新子网(subnet)信息
将[subnet_id] 和 [cidr] 替换一下!
oci network subnet update --subnet-id [subnet_id] --ipv6-cidr-block [cidr]
如果执行提示错误:The requested ipv6CidrBlock 2603:c1:3:b500::/56 is invalid: Subnet can have only 64 bit IPv6 CIDRs.
需要修改一下cidr,2603:c1:3:b500::/56 -> 2603:c1:3:b500::/64
然后再执行一下就成功啦!!!