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의 장치에 액세스할 수 있습니다.
VPN에 연결된 동안 클라이언트에서 ( )를 실행하면 ip addr
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를 사용한 적이 없습니다. 너무 복잡하고 뚜렷한 이점이 없습니다).