У меня чертовски много времени на настройку подключения к IPv6-адресу на моем новом VPS. Я думал, что знаю, что делаю, но, видимо, networkd не согласен, у меня все еще возникают проблемы при попытке добавить маршрут по умолчанию.
Вот информация о сети, предоставленная мне моим интернет-провайдером:
Subnet 2001:19f0:6:2::/64
Gateway 2001:19f0:6::1
Nameserver 2001:4860:4860::8888
Nameserver 2001:4860:4860::8844
Interface: ens3
OS: Ubuntu 18.04.02
Systemd version: 237
Текущая настройка
Я могу легко настроить свой IP-адрес и добавить маршрут к шлюзу с помощью следующего файла systemd:
[Match]
Name=ens3
[Network]
Address=209.222.17.197/26
Gateway=209.222.17.193
DNS=8.8.8.8
[Network]
Address=2001:19f0:6:2::1337/64
[Route]
Destination=2001:19f0:6::1
У меня нет ошибок в journalctl, я могу успешно пинговать 2001:19f0:6::1
, но, конечно, у меня нет шлюза по умолчанию или доступа в Интернет. Я могу легко использовать 2001:19f0:6::1
в качестве шлюза по умолчанию с помощью следующей команды: sudo ip -6 route add default via 2001:19f0:6::1
Это дает мне полную маршрутизацию ipv6, я могу пинговать ipv6.google.com
.
Эта проблема
Кажется, я не могу настроить шлюз по умолчанию в networkd, я потратил так много часов, пробуя разные комбинации параметров, я думаю, что это может быть ошибкой. Например, если я изменю свою конфигурацию, чтобы она выглядела так:
[Match]
Name=ens3
[Network]
Address=209.222.17.197/26
Gateway=209.222.17.193
DNS=8.8.8.8
[Network]
Address=2001:19f0:6:2::1337/64
[Route]
Destination=2001:19f0:6::1
[Route]
Gateway=2001:19f0:6::1
GatewayOnlink=true
В журнале journalctl появляется следующая ошибка:
May 27 19:31:46 public-NY systemd-networkd[2452]: ens3: Could not set route: No route to host
Я всегда вижу эту чертову ошибку "нет маршрута к хосту", если нет пути к 2001:19f0:6::1
тогда какого черта я могу это пинговать ?!
Мне надоела эта проблема, но я бы хотел использовать netplan и, следовательно, systemd-networkd для своей сети. Я просто делаю что-то глупое или что-то настолько важное, как networkd, действительно сломано?
Это наверное GatewayOnLink
это вызывает проблему, потому что, насколько я могу судить, этот шлюз не подключен. Ваша подключенная подсеть 2001:19f0:6:2::/64
, пока адрес шлюза не находится в этой подсети - /64
что это в 2001:19f0:6:0::/64 (extra
: 0` добавлено для наглядности).
Я не могу вам сказать, как вы можете проверить связь с этим адресом шлюза - скорее всего, он получен через RA, что странно, но не неизвестно в среде хостинга - но в любом случае это не on-link route, и поэтому networkd совершенно справедливо сообщает вам, что нет маршрута к этому хосту с использованием заданных вами параметров.