Вопрос или проблема
Я использую Ubuntu Server 18.04, и по какой-то причине он не получает глобальный IPv6-адрес при запуске. У него есть адрес link-local (fe80
) на ens18
(ethernet интерфейс), но глобального адреса нет. Чтобы получить глобальный, мне нужно запустить sudo dhclient -6 ens18
, но добавление этого в crontab с @reboot
тоже, кажется, не работает.
DHCPv6 сервер — это OPNSense (отслеживает интерфейс WAN до LAN для префикса, использует собственный DHCPv6 вместо отслеживания интерфейса)
Как мне сделать так, чтобы он получал глобальный IPv6-адрес при запуске?
мои /etc/network/interfaces изначально содержали:
iface <interface> inet auto
я изменил их на следующее:
iface <interface> inet6 dhcp
теперь моя виртуальная машина загружается каждый раз с глобальным адресом ipv6
Ответ или решение
Когда вы сталкиваетесь с проблемой получения глобального IPv6-адреса на Ubuntu Server 18.04, это может быть вызвано различными причинами, включая конфигурацию сетевого интерфейса или настройки DHCPv6-сервера. Рассмотрим шаги, которые помогут вам решить эту проблему.
1. Проверка настроек сетевого интерфейса
Одной из основных причин, по которой ваш сервер не получает глобальный IPv6-адрес, может быть неправильная конфигурация файла /etc/network/interfaces
. Убедитесь, что настройки интерфейса определены правильно. Если у вас изначально была строка:
iface <interface> inet auto
то ее следует заменить на:
iface <interface> inet6 dhcp
Таким образом, ваш интерфейс будет настроен для использования DHCPv6, что позволяет автоматически получать глобальный IPv6-адрес при запуске сервера.
2. Обновление конфигурации сети
После внесения изменений в файл конфигурации необходимо перезагрузить сетевой интерфейс, чтобы изменения вступили в силу. Это можно сделать с помощью команды:
sudo ifdown <interface> && sudo ifup <interface>
Где <interface>
— это название вашего интерфейса, например, ens18
.
3. Проверка DHCPv6-сервера
Так как вы используете OPNSense в качестве DHCPv6-сервера, убедитесь, что он правильно настроен и способен выдавать IPv6-адреса. Проверьте следующие моменты:
- Убедитесь, что OPNSense настроен для раздачи глобальных адресов.
- Проверьте, правильно ли указан интерфейс WAN на OPNSense и активирована ли передача префикса.
- Убедитесь, что в настройках OPNSense включен DHCPv6 для вашей локальной сети.
4. Логи и диагностика
Если после настройки все еще возникают проблемы, рекомендуется проверить системные логи на наличие сообщений, связанных с DHCPv6:
journalctl -u systemd-networkd
Или для более старых версий систем:
cat /var/log/syslog | grep dhclient
Эти логи могут предоставить подсказки о том, почему ваш сервер не получает IPv6-адреса.
5. Альтернативный способ и cron
Вы упомянули, что попытка добавить sudo dhclient -6 ens18
в crontab с использованием @reboot
не сработала. Это может происходить из-за того, что сетевой интерфейс может не быть готов в момент выполнения задания cron. Обратите внимание, что вы можете попробовать использовать более поздний момент после загрузки системы, например:
@reboot sleep 30 && sudo dhclient -6 ens18
Заключение
После выполнения данных шагов ваш Ubuntu Server 18.04 должен автоматически получать глобальный IPv6-адрес при запуске. Надеюсь, эти рекомендации были полезны, и ваша проблема с получением IPv6-адреса будет успешно решена. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью.