윈도우10 에서 NFS 클라이언트 사용하기
로컬에 설치된 Typora 로 원격 서버의 블로그 글을 작성하기 위해 삽질한 내용.
VSCode Remote-SSH 로 원격 서버의 마크다운 파일을 수정하는 것은 글 쓰는 기분이 안 난다.. 그렇다고 로컬 파일을 매번 원격 서버로 동기화 시켜주는 것도 귀찮아서 시작한 일.
System Configuration
- NFS Server: Ubuntu 20.04
- NFS Client: Windows 10 desktop.
NFS 서버 설정
NFS 서버 설치
$ apt install nfs-kernel-server
$ vim /etc/exports
...
/mounttest *(rw,sync,no_subtree_check,insecure)
$ service nfs-kernel-server restart
NFS 서버 설정 확인
$ exportfs -rav
$ netstat -a | grep nfs
NFS 서비스 포트 확인
$ rpcinfo -p
다른 리눅스 클라이언트에서 마운트 되는지 먼저 확인
$ mount -t nfs <server IP>:/mounttest mdir -vvv
Cloudflare
도메인 관리로 cloudflare 를 사용하는 경우만 해당.
Cloudflare 관리창의 DNS > 레코드 > DNS 관리
에서 원하는 subnet 을 DNS 전용으로 설정.
AWS
IPv4 방화벽에서 111 (portmapper), 2049 (nfs) 포트 열기. 2049 만 열면 윈도우에선 마운트가 안된다.
Windows 10 클라이언트 설정
NFS 클라이언트 활성화
cmd 에서 OptionalFeatures.exe 실행.
NFS 마운트
cmd 에서 mount 명령으로 원격 디렉토리 마운트.
> mount -o anon \\<server ip>\<mount dir> Z:
cmd 를 관리자 권한으로 실행하면 일반 유저에겐 안 보이니 주의.
NFS 마운트 확인
cmd 에서 옵션 없이 mount 명령 실행.
> mount
NFS 접속 UID/GID 설정
클라이언트에서 anononymus 로 연결할 때 사용할 서버측 UID/GID 설정.
Windows Powershell 을 관리자 권한으로 실행하고 다음 명령을 실행. 1001 값을 을 각자 사용할 서버측 UID/GID 값으로 적절히 설정.
> New-ItemProperty HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default -Name AnonymousUID -Value 1001 -PropertyType "DWord"
> New-ItemProperty HKLM:\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default -Name AnonymousGID -Value 1001 -PropertyType "DWord"
명령 실행 이후 윈도우 클라이언트 재부팅 필요.