无法在 Ubuntu 18.04 中正确配置 IPv6

无法在 Ubuntu 18.04 中正确配置 IPv6

我在 OVH 上有一个云实例,可以通过 IPv4 访问,但不能通过 IPv6 访问。它运行的是 Ubuntu 18.04。我发现关于使用 netplan 与直接配置 systemd-networkd 的建议相互矛盾,但我尝试过的所有方法似乎都没有任何效果。

在 OVH 的 Web 界面中,我定义了以下地址:

IPv6:2607:5300:201:2100 :: 5d4

网关:2607:5300:201:2100::1

根据我读过的指南,我已将 netplan 配置如下:

/etc/netplan/90-ipv6.yml

network:
    ethernets:
        ens3:
            match:
                macaddress: fa:16:3e:53:64:ce
            set-name: ens3
            addresses:
                - 2607:5300:201:2100::5d4/64
            gateway6: 2607:5300:201:2100::1
            nameservers:
                addresses:
                    - 2001:41d0:3:163::1

    version: 2

systemd-networkd 如下:

/etc/systemd/network/10-ens3.network

[Match]
Name=ens3

[Network]
DHCP=ipv4
Gateway=2607:5300:201:2100::1
DNS=2001:41d0:3:163::1
Destination=2607:5300:201:2100::1

[Address]
Address=2607:5300:201:2100::5d4/64

[Route]
Destination=2607:5300:201:2100::1
Scope=link

我的ip addr输出如下:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether fa:16:3e:53:64:ce brd ff:ff:ff:ff:ff:ff
    inet 54.39.191.97/32 scope global dynamic ens3
       valid_lft 85848sec preferred_lft 85848sec
    inet6 2607:5300:201:2100::5d4/0 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::f816:3eff:fe53:64ce/64 scope link
       valid_lft forever preferred_lft forever

我可以 ping 网关并得到响应。但是我无法通过 IPv6 从任何其他位置获得服务器的响应,并且ping6 google.com来自此服务器的响应导致:

PING google.com(yul02s05-in-x0e.1e100.net (2607:f8b0:4020:805::200e)) 56 data bytes
From [hostname] (2607:5300:201:2100::5d4) icmp_seq=1 Destination unreachable: Address unreachable
...
--- google.com ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4085ms

我还没有尝试的唯一一件事就是重新启动服务器,因为它是实时的,而我真的不想这样做。

我遗漏了什么?我真的不知道自己在做什么,所以这可能是非常明显的事情。

谢谢!

编辑:将前缀更新为 /64。此配置也不起作用。

答案1

OVHcloud VPS 的正确 IPv6 前缀是 /64,而不是 /128 或 /0。

答案2

不幸的是,我实际上通过改变我在问题中没有概述的内容来解决了这个问题。

在遵循使用 netplan 设置 IPv6 的指南时,我编辑了我的 netplan 配置,以便在单独的现有文件中包含 IPv4 地址配置50-cloud-init.yaml。虽然这些地址与我的实例提供的 IP 相匹配,但它们一定与其他地方的其他配置发生冲突,这就是我的问题的根源(我相信在 indeed/0的输出中看到的ip addr情况表明存在问题)。

从我的 netplan 配置中删除 IPv4 地址和网关值,这样我唯一设置的就是 IPv6 地址和网关,然后应用新的配置,就解决了这个问题。

对于其他陷入这种情况的人来说,这篇博文我发现准确描述了需要改变的内容。

相关内容