🚀 Oracle Cloud (OCI) 甲骨文云VPS启用 IPv6:超详细图文指南

随着 IPv6 的普及,IPv6的优秀特性能为你的 OCI 云服务器提升网络性能和路由效率,并提升兼容性。本指南将引导你在 Oracle Cloud Infrastructure (OCI) 上为计算实例(VPS)配置 IPv6 的完整过程。

:bullseye: 指南概要:
如果已经配置了其信息,可以在右侧时间线点击目录快速跳转到:

  • 在 OCI 的 VCN(虚拟云网络)和子网上启用 IPv6。
  • 在云控制台给VPS分配 IPv6 地址。
  • 配置路由表允许IPv6访问互联网。
  • 配置安全规则以允许 IPv6 流量。
  • 给实例VNIC分配IPv6地址。
  • 在实例的操作系统内部配置并启用 IPv6。
  • 最后验证 IPv6 连接性,并附上常见的错误 :double_exclamation_mark:与排查提示。

:white_check_mark: 开始之前,检查以下条件:
本次演示使用的控制台为Redwood 预览控制台,如果你是旧控制台在控制台右下角开启即可。

  • 一个Oracle Cloud 账户,本次演示的为我自己的付费账户。
  • 创建计算实例,如果已经创建了 (Compute Instance / VPS)则默认创建下方选项。
    • 已创建虚拟云网络 (VCN)。
    • 已在 VCN 中创建子网 (Subnet)。

一、为 VCN 启用 IPv6 支持 :globe_with_meridians:

首先,需要为实例所在的 VCN 分配一个 IPv6 CIDR 块。OCI 通常会分配一个 /56 的块。

  1. 登录 OCI 控制台。
  2. 左上角导航至 网络 (Networking)虚拟云网络 (Virtual Cloud Networks)
  3. 选择目标 VCN。如图所示,这里我已经有两个VCN,其中一个已经添加了IPv6。
  4. 在 VCN 详情页面,导航到IP管理–>找到 CIDR 块 /前缀 部分。
  5. 点击 编辑 (Edit)添加 IPv6 CIDR 块 (Add IPv6 CIDR Block)
  6. 勾选 分配 Oracle 分配的IPv6 /56 前缀 (Assign an Oracle allocated /56 prefix) 的选项。这是最常见的方式。最后点击 添加 CIDR块

:sparkles: Tips: OCI 会自动为你的 VCN 指派一个全局单播地址 (GUA) /56 前缀。


二、为子网 (Subnet) 分配 IPv6 CIDR :rocket:

接下来,为实例所在的子网分配一个来自 VCN 的 IPv6 CIDR 块,通常是 /64

  1. 还是刚才的 VCN 详情页面,点击菜单中的 子网 (Subnets)
  2. 选择目标子网。
  3. 在子网详情页面,点击 IP管理
  4. 下滑找到IPv6 前缀,点击 添加 IPv6 前缀,勾选分配 Oracle 分配的 IPv6 /64 前缀
  5. IPv6 CIDR 块 (IPv6 CIDR Block) 字段:
    • 输入两个十六进制字符 (00-FF) ,比如说我这里是BB
  6. 点击 添加IPv6前缀

三、配置路由表以允许 IPv6 互联网访问 :motorway:

需要为子网关联的路由表添加一条规则,将所有目标为外部 IPv6 地址的流量(::/0)指向互联网网关。

  1. 在 VCN 详情页面,点击菜单中的 路由
  2. 选择子网默认关联的那个路由表。
  3. 接着选择路由规则添加路由规则 (Add Route Rules)
  4. 如图填写规则信息,内容解释如下:
    • 目标类型 (Target Type): 选择 互联网网关 (Internet Gateway)
    • 目标 CIDR 块 (Destination CIDR Block): 输入 ::/0 (这代表互联网上的所有 IPv6 地址)。
    • 目标互联网网关 (Target Internet Gateway): 从下拉列表中选择附加到你 VCN 的那个互联网网关。
    • (可选) 添加描述,例如 “Allow IPv6 Internet Access”。
  5. 点击 添加路由规则 (Add Route Rules)

四、配置安全规则允许 IPv6 流量 :police_car_light:

需要更新与实例 VNIC 关联的安全列表 (Security List) 或添加了网络安全组 (Network Security Group, NSG)。默认使用的防火墙类型是安全列表,如果你添加了网络安全组也要添加对应的规则。

  1. 在 VCN 详情页面,点击菜单中的 安全,如图选择默认的安全列表。

  2. 切换到安全规则,这里可以添加入站 (Ingress) 和出站 (Egress) 规则,只需要添加必要的 IPv6 流量即可,通常默认允许所有出站协议。下滑点击添加出战规则

    • 放行所有出站 IPv6 流量(服务器才能使用IPv6上网)

    • 允许 ICMPv6 (用于 Ping 测试等):

      • 源类型: CIDR, 源CIDR::/0, IP协议IPv6-ICMP,最后添加出站规则
      • 当然,默认情况VPS是没有开启IPv6ping的,还需要配置系统开启IPv6ping,参考:

:warning: 检查安全规则的源/目标 CIDR (::/0 代表所有 IPv6 地址)、协议和端口设置。


五、为实例 VNIC 分配 IPv6 地址 :house:

现在进行关键一步:为实例的网络接口 (VNIC) 分配具体的 IPv6 地址。

  1. 导航至 计算 (Compute)实例 (Instances)
  2. 选择目标实例,在实例详情页面,菜单栏切换到网络,向下滚动到 附加的 VNIC (Attached VNICs) 部分,点击实例的主 VNIC
  3. 在 VNIC 详情页面,点击菜单栏中的IP管理,点击分配IPv6 地址
  4. 点击 分配 IPv6 地址 (Assign IPv6 Address) 按钮后,

:memo: 至此在OCI控制台的操作就完成了,可以记下分配到的 IPv6 地址


六、配置实例的操作系统识别 IPv6 :laptop:

完成控制台的操作或,需要登录实例内部,让操作系统识别并使用这个 IPv6 地址。

方法一:使用 DHCPv6 (推荐)

许多 Linux 发行版可以通过 DHCPv6 自动获取 OCI 分配的 IPv6 地址。

  • Debian / Ubuntu:

    # 查看网卡名称
    ip add show
    # 临时获取 (替换 eth0 为实际网卡名)
    sudo dhclient -6 eth0
    # 验证
    ip -6 addr show eth0
    

    一般到这里就可用了,要使其永久生效,需修改网络配置文件(可选):

    • Netplan (Ubuntu 18.04+): 编辑 /etc/netplan/*.yaml,在对应网卡配置下添加或确保 dhcp6: true。然后运行 sudo netplan apply
    • /etc/network/interfaces: 在对应接口配置中添加 iface eth0 inet6 autoiface eth0 inet6 dhcp
  • Oracle Linux / CentOS / RHEL:

    # 临时获取 (替换 ensX 为实际网卡名)
    sudo dhclient -6 ensX
    # 验证
    ip -6 addr show ensX
    

    要使其永久生效:

    • NetworkManager: 使用 nmcli connection modify <连接名> ipv6.method auto,然后 nmcli con down <连接名> && nmcli con up <连接名>
    • network-scripts: 编辑 /etc/sysconfig/network-scripts/ifcfg-ensX,确保 IPV6INIT=yesIPV6_AUTOCONF=yes (或 DHCPV6C=yes)。然后 sudo systemctl restart network
  • 这里我的网卡是enp0s6,如图可以看见网卡的IPv6地址和刚才手动配置的是相同的。

:thinking: Tips: 修改网络配置后,可能需要重启网络服务 (如 sudo systemctl restart networkingnetwork) 或重启实例才能生效。


七、验证 IPv6 连接 :white_check_mark:

完成以上步骤后,进行验证:

  1. 在实例内部检查 IP 地址:

    ip -6 addr show
    

    确认看到刚才分配的全局 IPv6 地址。

  2. 测试出站 IPv6 连接 (Ping):

    ping6 bing.com
    # 或 ping -6 google.com
    

    成功收到回复表示可访问外部 IPv6 网络。

  3. 测试出站 IPv6 连接 (Curl/Wget):

    curl -6 ifconfig.co
    # 或 curl -6 ip.sb
    

    确认显示的出口 IP 是你分配的 IPv6 地址。


:light_bulb: 常见错误与排错提示

  • 防火墙检查: 检查 OCI 的安全规则 (安全列表/NSG) 和实例操作系统内部的防火墙设置。
  • 配置持久化: 是否有需要配置操作系统级别的网络配置在重启后依然有效。
  • 网络接口名称: 使用 ip link 命令确认实例上的正确网络接口名称。
  • 路由检查: 确认操作系统内有正确的 IPv6 默认路由。DHCPv6 通常会自动配置,手动配置时需注意添加。
  • 官方文档: OCI 界面和具体选项可能更新,但是其实步骤都相同,只是位置不同而已。

结语

操作完成,希望这篇超详细的图文教程能够帮助你在 OCI 服务器上成功启用 IPv6,并会配置安全规则放行流量。别忘了收藏本页面以防走丢哦 :eyes:(加入论坛也不会哈哈)如果你有任何问题欢迎评论区、 常规 讨论。原创不易,文章对你有所帮助的话,麻烦点亮免费的 :heart_decoration: :heart:支持一下,谢谢!

版权声明:原创文章,引用请注明原文链接,不允许全文复制粘贴。

1 个赞

感谢您的贡献。我能够做其他一切。但是我没有看到我必须分配一个IPv6地址。到VNC。阅读您的博客后,我理解了这一点。谢谢哥们。

1 个赞

很高兴能够帮助到你,欢迎来到我的论坛,你是外国人吗?

1 个赞

是啊,兄弟……所以才把我的中文搞砸了!

1 个赞

感谢,已经按照指引配置好了

1 个赞