Назад | Перейти на главную страницу

Невозможно правильно настроить IPv6 в Ubuntu 18.04

У меня есть экземпляр облака на OVH, который доступен через IPv4, но не через IPv6. Он работает под управлением Ubuntu 18.04. Я нашел противоречивые советы об использовании netplan и непосредственной настройке systemd-networkd, но все, что я пробовал, похоже, не имеет никакого эффекта.

В веб-интерфейсе OVH для меня определены следующие адреса:

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

Я могу пропинговать шлюз и получить ответ. Однако я не могу получить ответ от сервера из любого другого места через 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. Эта конфигурация также не работает.

На самом деле я исправил эту проблему, изменив то, что, к сожалению, не указал в своем вопросе.

Следуя руководству по настройке IPv6 с помощью netplan, я отредактировал свою конфигурацию netplan, чтобы также включить конфигурацию адреса IPv4 в отдельный существующий файл. 50-cloud-init.yaml. Хотя адреса совпадали с предоставленными IP-адресами для моего экземпляра, они должны были конфликтовать с какой-то другой конфигурацией в другом месте, и это было корнем моей проблемы (где я считаю, что /0 на выходе ip addr действительно указал на проблему).

Удаление IPv4-адреса и значений шлюза из моей конфигурации netplan, так что единственное, что я устанавливал, были IPv6-адрес и шлюз, и применение новой конфигурации устранило проблему.

Для всех, кто попадает в такую ​​ситуацию, это сообщение в блоге Я нашел, точно описывает, что нужно изменить.

Правильный префикс IPv6 для OVHcloud VPS - / 64, а не / 128 или / 0.