最近有不少朋友在折腾甲骨文(Oracle Cloud)的免费机,尤其是喜欢“开箱即用”或者为了纯净系统直接 DD 重装的同学。操作是爽了,但重启完 VPS 一看,傻眼了——原本好好的 IPv6 地址不见了,只剩下 IPv4。这可不行,现在的网络环境 IPv6 越来越重要,而且有些特色服务还非得用 IPv6 才能获得最佳体验。

今天就来详细聊聊,为什么 DD 后 IPv6 会“蒸发”,以及怎么把它给弄回来。不讲虚的,直接上干货。

为什么 DD 后会丢 IPv6?

简单来说,甲骨文官方自带的镜像里,已经预置好了适配其 VPC 网络的 IPv6 配置脚本和规则。而当你使用 DD 命令或者上传第三方 VPS 镜像重装系统时,新系统是一个“纯净版”,它并不知道自己是跑在甲骨文的 VPC 里,更不知道 IPv6 的网关和地址段是什么。

所以,系统虽然起来了,但 IPv6 相关的配置(如 /etc/network/interfaces 或 Netplan 配置)是空的,自然连不上 IPv6 网络。

第一步:获取必要信息

在登录 VPS 之前,你需要先去甲骨文的后台控制台搞到两个关键信息。不拿这两个数据,后面配置全是瞎蒙。

  1. IPv6 地址:在控制台的“实例详情”页面,找到“主要 VNIC”那一栏,往下拉能看到“IPv6 地址”。你会看到一个类似 2603:xxxx:xxxx:xxxx::xxxx/64 的地址。
  2. IPv6 网关:这个在控制台通常不会直接明文写给你,需要简单的计算。根据甲骨文的规则,网关通常是你的 IPv6 地址的最后一段变成 1。比如你的 IP 是 ::100,那网关大概率就是 ::1。如果不确定,可以用 ip -6 route show 在其他有 IPv6 的机器上对照参考一下。

第二步:配置系统(以 Debian/Ubuntu 为例)

登录你的机器,我们就开始动手改配置。这里分两种情况,看你用的是老牌的 ifupdown 还是新派的 Netplan(Ubuntu 18.04+ 默认)。

情况 A:使用 Netplan(Ubuntu 默认)

  1. 编辑配置文件,一般是 /etc/netplan/00-installer-config.yaml 或者 /etc/netplan/50-cloud-init.yaml。用 vi 或者 nano 打开它:
    sudo nano /etc/netplan/00-installer-config.yaml
    
  2. ethernetens3 网卡配置下,添加 ipv6 相关字段。注意 YAML 的缩进非常严格,必须用空格,不能用 Tab。示例如下:
    network:
      version: 2
      ethernets:
        ens3:
          dhcp4: true
          dhcp6: false
          addresses:
            - 你的IPv6地址/64  # 例如:2603:c0xx:xxxx:xxxx::xxxx/64
          routes:
            - to: default
              via: 网关地址  # 通常是 ::1
    
  3. 保存退出后,应用配置:
    sudo netplan apply
    

情况 B:使用 /etc/network/interfaces(Debian 老版本)

  1. 编辑网络配置文件:
    sudo nano /etc/network/interfaces
    
  2. iface ens3 inet static 后面追加 IPv6 的配置:
    iface ens3 inet6 static
        address 你的IPv6地址/64
        gateway 网关地址
        accept_ra 0
        autoconf 0
        privext 0
    
  3. 重启网络服务让配置生效:
    sudo systemctl restart networking
    

第三步:验证与疑难杂症

配置完之后,先 Ping 一下 Google 的 IPv6 DNS 看看通不通:

ping6 2001:4860:4860::8888

如果能 ping 通,恭喜你,成功了!这时候你可以去测试站(比如 test-ipv6.com)测一下你的公网 IPv6 分数。

如果还是不通怎么办?

  1. 检查网卡名称:上面代码里写了 ens3,但你的网卡可能是 enp0s3 或者 eth0。用 ip a 命令查一下真实的网卡名,替换掉配置文件里的名字。
  2. 放行防火墙:很多同学配置对了但还是连不上,最后发现是防火墙挡住了。记住,甲骨文控制台的安全组不仅要放行 TCP/UDP,还要放行 ICMPv6 协议(也就是允许 IPv6 的 ping)。否则,邻居发现(NDP)协议没法工作,IPv6 根本跑不起来。

结语

甲骨文机器虽然性价比无敌,但折腾起来确实有些门槛。遇到 IPv6 丢失别着急,把网关和地址填对,再把防火墙开口子,基本都能迎刃而解。希望这篇教程能帮你救活那台“半残”的小鸡,继续享受羊毛的快乐!

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭