我在 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-networked 像这样:
/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。此配置也不起作用。
OVHcloud VPS 的正确 IPv6 前缀是 /64,而不是 /128 或 /0。
不幸的是,我实际上通过更改我在问题中未列出的内容来解决此问题。
在遵循使用 netplan 设置 IPv6 的指南时,我编辑了我的 netplan 配置,将 IPv4 地址配置也包含在一个单独的现有文件
50-cloud-init.yaml
中。尽管地址与我的实例提供的 IP 匹配,但它们一定与其他地方的其他配置冲突,这是我问题的根源(我相信/0
在输出中看到ip addr
确实表明存在问题)。从我的 netplan 配置中删除 IPv4 地址和网关值,以便我设置的唯一内容是 IPv6 地址和网关,并应用新配置,解决了这个问题。
对于任何最终陷入这种情况的人,我发现的这篇博客文章准确地描述了需要改变的地方。