Я пытаюсь получить доступ к ресурсу NFS. Этот ресурс NFS находится на сервере у меня дома, и я пытаюсь получить к нему доступ из-за пределов моей локальной сети.
Чтобы добиться этого, я запустил сервер OpenVPN в своей локальной сети. Он отлично работает, и я могу подключиться к VPN извне локальной сети, и я даже могу пинговать сервер и получать доступ к некоторым другим службам, которые являются только локальными. Мой IP-адрес OpenVPN — 172.27.232.5.
Проблема в том, что я не могу смонтировать свой NFS-ресурс. Когда я подключаюсь к VPN, я вижу ресурсы с помощью команды showmount
showmount -e 192.168.73.2
Export list for 192.168.73.2:
/media/share/kdab 192.168.73.0/24
/media/share/jjcasmar 192.168.73.0/24
но если я попытаюсь подключиться к любому из них, ничего не получится.
sudo mount -t nfs4 192.168.73.2:/media/share/jjcasmar /home/jjcasmar/mnt
mount.nfs4: access denied by server while mounting 192.168.73.2:/media/share/jjcasmar
Я не понимаю, что не так с моей настройкой, и я не очень хорош в сетях. Есть идеи, что может происходить?
Результат ip addr show
для VPN-подключения:
13: tun1: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UNKNOWN group default qlen 100
link/none
inet 172.27.232.5/23 brd 172.27.233.255 scope global tun1
valid_lft forever preferred_lft forever
inet6` fe80::b6a9:fff6:dd69:6f7f/64 scope link stable-privacy
valid_lft forever preferred_lft forever
Если я правильно понимаю, сервер NFS отклоняет соединение, потому что, хотя я вижу сервер по адресу 192.168.73.2, я не нахожусь в этой подсети, верно?
Я пытался изменить экспорт, чтобы добавить 172.27.232.0/23
, но это все еще не удается. Я также пытался экспортировать напрямую на мой OpenVPN IP, но 172.27.232.5
безуспешно.
решение1
OpenVPN обычно использует маршрутизируемую сеть для подключения клиентов к серверу. Так, например, хотя ваша локальная сеть 192.168.73.0/24, вашему подключенному клиенту может быть назначен адрес VPN 10.0.0.2. Маршрутизация позволяет вашему клиенту достигать устройств в вашей локальной сети.
Запуск ip addr
( ip a
) на вашем клиенте при подключенном VPN покажет подсеть, используемую для OpenVPN, или вы можете посмотреть ее в файле конфигурации сервера OpenVPN (обычно на /etc/openvpn
сервере).
Глядя на это, showmount
вы видите, что экспорт NFS предлагается только хостам в вашей локальной сети, 192.168.73.0/24.
Ваш клиент не находится на 192.168.73.0/24, поэтому ему отказано в разрешении. Решение заключается в том, чтобы изменить /etc/exports
сервер, включив доступ к подсети OpenVPN.
С NFS v3 я бы сделал что-то вроде этого, но не знаю, сколько еще потребуется для NFS v4:
/media/share/kdab 192.168.73.0/24 172.27.232.0/23
/media/share/jjcasmar 192.168.73.0/24 172.27.232.0/23
Опять же, для NFS v3 я бы запустил, exportfs -var
но не знаю, требуется ли это еще (у меня никогда не получалось работать с NFS v4 — слишком много сложности при отсутствии очевидного выигрыша).