NFS 공유에 액세스하려고 합니다. NFS 공유는 집에 있는 서버에 있고 로컬 네트워크 외부에서 액세스하려고 합니다.
이를 달성하기 위해 로컬 네트워크에서 OpenVPN 서버를 시작했습니다. 이것은 잘 작동하며 로컬 네트워크 외부에서 VPN에 연결할 수 있으며 서버에 핑을 보내고 로컬 전용 다른 서비스에 액세스할 수도 있습니다. 내 OpenVPN IP 주소는 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은 일반적으로 라우팅된 네트워크를 사용하여 클라이언트를 서버에 연결합니다. 예를 들어 LAN이 192.168.73.0/24이더라도 연결된 클라이언트에 VPN 주소 10.0.0.2가 할당될 수 있습니다. 라우팅을 사용하면 클라이언트가 LAN의 장치에 연결할 수 있습니다.
ip addr
VPN이 연결된 동안 클라이언트에서 ( )를 실행하면 OpenVPN에 사용되는 서브넷이 표시됩니다. 또는 OpenVPN 서버 구성 파일(일반적 으로 서버의 ip a
아래)을 확인할 수 있습니다 ./etc/openvpn
보면 showmount
NFS 내보내기가 LAN(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를 사용해 본 적이 없습니다. 너무 복잡해서 뚜렷한 이득이 없습니다).