By accessing the website and accepting the Cookie Policy, you agree to use the cookies provided by the Site in accordance with to analyze traffic, remember your preferences, and optimize your experience.
Oracle甲骨文VPS添加IPv6并配置系统自动获取v6地址详细图文教程 (Ubuntu/Debian 11)
2022-04-22 17:19:07    2571    0    0
emengweb

给甲骨文小鸡增加IPv6地址,首先需要在甲骨文实例管理页分配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格式,不指定会随机分配一个。

 

 

⑩ 至此面板上的操作基本上完成了

 


机器配置

Debian/Ubuntu/CentOS
目前甲骨文有两种框架的机型AMDARM
两种框架的网卡名称是不一样的,注意分辨即可
输入以下命令重新获取IP地址:

# AMD 框架
dhclient -6 ens3

# ARM 框架
dhclient -6 enp0s3

使用以下命令测试IPv6通信是否正常;

ping6 ipv6.google.com

注意:机器重启后IPv6会失效,再次输入以上命令即可重新获取。

如果是Ubuntu/Debian系统,想要开机自启动可以编辑interfaces文件,手动开启Dhcp。

配置开机自动获取IPv6地址

编辑interfaces文件:

nano /etc/network/interfaces

在文本最后面添加:

iface xxx inet6 dhcp

上面的xxx看一下文本里小框框里面是啥(如下图),就更换成啥。我这里是enp0s3,所以我在最后面添加的就是iface enp0s3 inet6 dhcp,enp0s3是我服务器的网络接口。每个服务器的接口名字都有所不同。看着自己文本上面那个接口输入就行了。


最后ctrl+x保存,y确认。最后reboot重启。

开机后的系统就可以自动获取到ipv6地址了

查看ipv6地址:

ip -6 route show

ping测试ipv6是否通畅:

ping ipv6.google.com

可以ping通就说明一切就绪!

修改系统dns,实现v4v6双栈dns解析

虽然只设置ipv4 dns也可以解析网络,但是我们ipv6地址都有了,设置一下ipv6 dns更加完美

nano /etc/resolv.conf

在最后添加一行,如下图

nameserver 2001:4860:4860::8888

最后ctrl+x保存,y确认

 

-------------------------


处理错误

添加IPv6的时候 提示:NotAuthorizedOrNotFound

确认已开通实例没勾选启用 IPv6,并且已经过了 30 天试用期的账号会出现这个错误。可以重新创建子网并勾选 IPv6(IPv4 会变),也可以通过辅助手段直接添加 IPv6。

下面说一下解决方案!首选打开 Cloud Shell 执行命令!

 

① 获取 compartment_id

 

② 查询子网(subnet)列表,获取到子网ID(红框内) subnet_id

PS:下面命令中的 [compartment_id] 替换为 上面的 compartment_id,不保留[]符号哦~

如果你的子网是多个的话,这里会获取多个id,自己创建时间辨别一下到底你操作的是哪个?不知道咋辨别,那就2个ID都试一试!

 

③ 获取 cidr,如图获取CIDR块地址!

 

④ 更新子网(subnet)信息

将[subnet_id] 和 [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

然后再执行一下就成功啦!


本文部分内容参考自 @v2ex 和 @Luminous 以及 @MOE

上一篇: docker版Gost套用多CF节点实现负载均衡,通过将流量通过CF转发至源站,加速站点访问速度

下一篇: Oracle/甲骨文机器DD Ubuntu系统失败解决方法

2571 人读过
文档导航