Экспорт NFS для клиента IPv6

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

Мои NFS экспорты доступны через IPv4 для нескольких хостов в моей локальной сети.

Я хочу сделать эти экспорты доступными через IPv6, чтобы я мог подключаться к ним со своего ноутбука, когда я в away. Когда я отсутствую, я могу получить доступ к этим хостам локальной сети через их IPv6-адрес и оттуда выйти на свой ноутбук через его IPv6-адрес.

Я предполагаю, что проблема заключается в конфигурации NFS где-то.

Вот строка из /etc/exports сервера:

/export/test 2001:123:a:b:c:d:e:f(rw,nohide,insecure,no_subtree_check,async)

где этот IPv6 адрес – это сетевое устройство ноутбука, через которое я могу пинговать с NFS сервера, открыть SSH-сессию…

А вот соответствующая строка из /etc/fstab клиента:

[2604:123:c:d:e:f]:/export/test /mnt/test nfs nofail,x-systemd.automount,x-systemd.requires=network-online.target,x-systemd.device-ut=10 0 0

Для IPv6-адреса я пробовал [address], '[address]' и просто address.

Но в любом случае, попытка монтирования возвращает ошибку:

mount.nfs: доступ запрещен сервером при монтировании `address`:/export/test

Один из ответов: используйте “псевдонимы”.

Вместо того чтобы вводить адрес (вся эта возня с синтаксисом), вы определяете его в /etc/hosts. Правильный старомодный способ.

В /etc/hosts вы определяете пару (IPv6) адрес – имя.домен.
Или пару адрес(IPv6) – имя.
Используйте одно и то же имя.домен (или просто имя) для IPv4 и “постоянных” IPv6 адресов в /etc/hosts. IPv6 дружелюбен: в /etc/hosts просто дайте несколько адресов одному (псевдониму) имени.

Ноутбук имеет Wi-Fi и Ethernet? Дайте ВСЕМ “постоянным” адресам одно имя в /etc/hosts! Это решает проблему разных интерфейсов – адресов!

Пример:

/etc/hosts
fdc5:d54e:dca5:0:8db6:d5f5:86d0:6bd9   lause lause.simulacron lause6  lause6wlan
fdc5:d54e:dca5:0:f051:d54e:dca5:cc43   lause lause.simulacron lause6  lause6ether
192.168.71.234   lause lause.simulacron lause4wlan
192.168.72.234   lause lause.simulacron lause4ether

Псевдоним – это не лучшее слово, но оно может отразить суть:
В /etc/hosts у вас не возникает проблем с синтаксисом / обозначением.
Более того, вы можете определить несколько адресов, которые будут проверяться последовательно, например, mount.nfs.

Далее, вы не используете нотацию [fd….] в вашем монтировании. Вы просто используете имя.домен (или просто имя) вместо этого.

Поместите конфигурацию монтирования в /etc/fstab, если она будет использоваться снова позже. Есть еще больше опций на выбор.


Слово о “постоянных” IPv6 адресах:
Статический IP великолепен для IPv4.
Статический IPv6 глупо, в большинстве случаев. Умное решение – НЕ использовать статический IPv6.

Используйте делегирование префиксов
и / или
используйте просто адреса ULA (просто обе вещи параллельно и для обоих интерфейсов!).

Наиболее универсальным решением является сочетание EUI64 + “расширения конфиденциальности”.
Вы можете просто рассчитать ULA (как фиксированный IP!), но другие люди снаружи видят случайные адреса (случайность лучше, чем NAT).
Наличие PD + ULA решает все потребности в конфиденциальности и постоянных, надежных, предсказуемых адресах – в IPv6.

Это сокращенное описание, основанное на моей существующей сети. Оно может содержать ошибки. Или быть специфичным для моего дистрибутива Linux (Ubuntu 20.04). Пожалуйста, дайте мне знать, если что-то не так.

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

Экспорт NFS для клиента IPv6: полное руководство

Ваша задача — обеспечить доступ к экспортам NFS через IPv6 для клиентов, чтобы иметь возможность монтировать их на вашем ноутбуке, находясь вдали от локальной сети. Если вы уже настроили доступ по IPv4 и хотите сделать то же самое для IPv6, вам необходимо внести некоторые изменения в конфигурацию.

Шаг 1: Настройка файла /etc/exports на сервере

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

/export/test 2001:123:a:b:c:d:e:f(rw,nohide,insecure,no_subtree_check,async)

Проверьте, что адрес 2001:123:a:b:c:d:e:f действительно соответствует вашему ноутбуку и что он доступен. Для этого выполните команду ping6 2001:123:a:b:c:d:e:f на сервере NFS. Убедитесь, что ваш ноутбук настроен на использование статического или предсказуемого IPv6-адреса, чтобы обеспечить постоянный доступ.

После внесения изменений в файл убедитесь, что вы обновили экспорты NFS командой:

sudo exportfs -ra

Шаг 2: Настройка клиента для монтирования через /etc/fstab

Для монтирования экспортируемого каталога на клиенте обновите файл /etc/fstab следующим образом:

[2604:123:c:d:e:f]:/export/test /mnt/test nfs nofail,x-systemd.automount,x-systemd.requires=network-online.target,x-systemd.device-timeout=10 0 0

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

Шаг 3: Настройка файла /etc/hosts

Чтобы упростить процесс и избежать проблем с синтаксисом при использовании IPv6-адресов, вы можете определить адреса в файле /etc/hosts. Например, добавьте следующие строки:

2001:123:a:b:c:d:e:f   mylaptop mylaptop.local

После этого, в файле /etc/fstab вы можете использовать имя, а не полный адрес:

mylaptop:/export/test /mnt/test nfs nofail,x-systemd.automount,x-systemd.requires=network-online.target,x-systemd.device-timeout=10 0 0

Шаг 4: Проверка конфигураций Firewall

Убедитесь, что ваш брандмауэр не блокирует доступ по протоколу NFS. На большинстве Linux-систем с использованием iptables или ufw вам нужно убедиться, что порты NFS (обычно 2049 для NFSv4 и другие динамические порты) открыты. Чтобы проверить и при необходимости разрешить доступ, выполните следующие команды:

Для ufw:

sudo ufw allow from 2001:123:a:b:c:d:e:f to any port nfs

Для iptables:

sudo iptables -A INPUT -s 2001:123:a:b:c:d:e:f -p tcp --dport 2049 -j ACCEPT

Шаг 5: Проверка и отладка

После настройки рекомендуется проверить функциональность монтирования:

sudo mount -a

Если вы продолжаете получать ошибку "access denied by server while mounting", перепроверьте конфигурации на сервере и клиенте, а также настройки брандмауэра. Также убедитесь в корректности всех адресов.

Заключение

Экспорт NFS для клиентов IPv6 требует корректной настройки как на сервере, так и на клиенте. Убедитесь в наличии необходимых разрешений, правильно задавайте адреса и настраивайте файрволл. Следуя данным рекомендациям, вы сможете получить доступ к своим данным с любого места, используя мощь технологии IPv6.

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

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