Я не могу заставить IPV6 NFS работать.

Вопрос или проблема

У меня есть машины с 24.04.1 LTS, полностью обновленные. Я использую Avahi/mdns для разрешения имен/обнаружения и DHCP от маршрутизатора моего провайдера как по IPV4, так и по IPV6. NFS-сервер и клиент настроены на использование NFS V4. Все работает хорошо, кроме ™ для монтирования NFS с использованием IPV6.

Когда я пытаюсь смонтировать общий ресурс nfs на своем клиенте, используя IPV6-адреса, я получаю:

# mount -t nfs -vvvv server.local:/home/user /mnt
mount.nfs: тайм-аут установлен на Вс Дек  1 17:47:27 2024
mount.nfs: пробую текстовые параметры 'vers=4.2,addr=ivp6serveraddress%3,clientaddr=<IPV6-client-addr>:6070'
mount.nfs: mount(2): Неверный аргумент
mount.nfs: пробую текстовые параметры 'vers=4,minorversion=1,addr=ivp6serveraddress%3,clientaddr=<IPV6-client-addr>:6070'
mount.nfs: mount(2): Неверный аргумент
mount.nfs: пробую текстовые параметры 'vers=4,addr=ivp6serveraddress%3,clientaddr=<IPV6-client-addr>:6070'
mount.nfs: mount(2): Неверный аргумент
mount.nfs: пробую текстовые параметры 'addr=ivp6serveraddress%3'
mount.nfs: prog 100003, пробую vers=3, prot=6
mount.nfs: пробую ivp6serveraddress%3 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, пробую vers=3, prot=17
mount.nfs: portmap query retrying: RPC: Время ожидания истекло
mount.nfs: prog 100005, пробую vers=3, prot=6
mount.nfs: пробую ivp6serveraddress%3 prog 100005 vers 3 prot TCP port 60349
mount.nfs: portmap query failed: RPC: Ошибка удаленной системы - Время ожидания истекло
mount.nfs: пробую текстовые параметры 'addr=serveurIPV4Addr'
mount.nfs: prog 100003, пробую vers=3, prot=6
mount.nfs: пробую serveurIPV4Addr prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, пробую vers=3, prot=17
mount.nfs: portmap query retrying: RPC: Время ожидания истекло
mount.nfs: prog 100005, пробую vers=3, prot=6
mount.nfs: пробую serveurIPV4Addr prog 100005 vers 3 prot TCP port 36855
mount.nfs: portmap query failed: RPC: Ошибка удаленной системы - Время ожидания истекло
mount.nfs: был указан неверный параметр монтирования для /mnt

Когда я пытаюсь использовать IPV4, монтирование происходит мгновенно под /mnt. Сначала я думал, что это проблема UFW на стороне сервера, но поведение такое же, даже при отключенном UFW.

Мой файл exports на сервере дает:

# exportfs
/home/user      2xxx:xxxx:xxxx:xxxx::/64
/home/user      192.168.0.0/24

Я потратил много времени, пытаясь отладить это, но так как меня не обучали IPV6 перед выходом на пенсию (я слишком стар), я не могу найти, что неправильно/что делать, чтобы это работало. Поэтому любая помощь будет оценена. Хорошего и светлого дня!

Я не很熟悉 NTS или что-то подобное, но вы указываете адрес в квадратных скобках? например, [2606:4700:4700::1111]:53?

Ответ или решение

Проблема с монтированием NFS через IPv6 может быть вызвана несколькими факторами. В данном случае, мы имеем систему, работающую на Ubuntu 24.04.1 LTS, где вы используете Avahi/mdns для разрешения имен и DHCP от маршрутизатора вашего интернет-провайдера. Это создает некоторые нюансы, которые необходимо учитывать при настройке NFS с поддержкой IPv6.

1. Проверка конфигурации NFS

Для начала убедитесь, что на сервере правильно настроен NFS. Файл экспорта /etc/exports выглядит следующим образом:

/home/user      2xxx:xxxx:xxxx:xxxx::/64
/home/user      192.168.0.0/24

Важно убедиться, что формат адреса IPv6 корректен. Для монтирования через IPv6 убедитесь, что адрес указан без ошибок и соответствует формату. Если ваш адрес включает двоеточия, рекомендуется использовать квадратные скобки:

mount -t nfs [2xxx:xxxx:xxxx:xxxx::]:/home/user /mnt

2. Проверка Dнфвсшшн

Проверьте настройки сети на обоих системах. Выполните команду ip a на обеих машинах для проверки настройки IPv6. Убедитесь, что ваши адреса правильно настроены и что обе машины могут "видеть" друг друга по IPv6. Если вам нужно протестировать соединение, вы можете использовать команду ping6:

ping6 2xxx:xxxx:xxxx:xxxx::

3. Проверка службы NFS и portmap

Убедитесь, что службы nfs-server и rpcbind (или portmap) работают на сервере:

systemctl status nfs-server
systemctl status rpcbind

Если они не запущены, выполните команду для их запуска:

sudo systemctl start rpcbind
sudo systemctl start nfs-server

4. Проверка брандмауэра

Поскольку вы уже проверили настройки UFW (Uncomplicated Firewall) на сервере, убедитесь, что необходимые порты для NFS открыты. По умолчанию NFS использует следующие порты:

  • TCP 2049 для NFS
  • TCP/UDP 111 для rpcbind

Вы можете временно отключить UFW для тестирования, но помните о безопасности. Чтобы проверить, что порты открыты, используйте команду:

sudo ufw status

Если у вас есть другой брандмауэр или маршрутизатор, убедитесь, что он не блокирует необходимые порты.

5. Логи системы

Если после всех вышеперечисленных шагов проблема сохраняется, проверьте системные логи для получения дополнительной информации:

journalctl -xe

Здесь вы можете найти записи, которые могут указать на причины, по которым монтирование через IPv6 не работает.

Заключение

Работа NFS через IPv6 может иметь свои специфические нюансы, и важно убедиться, что все настройки выполнены правильно. Последовательно пройдите через вышеуказанные шаги, обращая внимание на детали, и, вероятно, вы сможете решить возникшую проблему. Если у вас возникнут дополнительные вопросы или потребуется дополнительная помощь, пожалуйста, не стесняйтесь обращаться за поддержкой. Желаю вам удачи в настройке вашей системы!

Оцените материал
Добавить комментарий

Капча загружается...