━━━━ ◇ ━━━━
정보보안실무/서버, 클라우드

S-Part. 09 NFS 서버와 클라이언트 구축하기 - [인스테도뷰]

728x90
반응형

구축환경

CentOS 7.6 Minimal - (www.centos.org)

VirtualBox 7.0 - (www.virtualbox.org)

 

알고가기

NFS(Network File Server) - Linux : Linux 공유
Samba Server - Linux : Windows 공유

 

NFS(Network File System)는 네트워크를 통해서 원격지의 여러 자원(Disk, DVD-ROM등)을 로컬에서 사용할 수 있도록 제공해주는 것으로 다양한 부분에서 사용되고 있다. Version 3까지는 UDP포트를 사용했고 Version 4부터는 TCP 2049번 포트만 사용해서 보안성과 신뢰도를 높인 바 있다. 


 

NFS 서버 설정

mkdir /nfss 최상위 디렉토리 밑에 nfss 디렉토리 생성 

chmod 756 /nfss 접근권한 읽기7 쓰기5 실행6 으로 설정

리스트를 확인해보면 접근권한이 변경된 것을 확인할 수 있다. 

 

yum install -y nfs nfs-utils → NFS 서버 설치

 

systemctl start nfs && systemctl enable nfs NFS 시작

firewall-cmd --permanent --add-port=2049/tcp  2049/tcp 포트 허용

firewall-cmd --reload  재시작

 

vi /etc/exports  파일생성

/nfss 클라이언트IP주소(rw,sync,no_root_squash)  파일 생성 후 입력

rw: 읽기, 쓰기 허용

sync: 요청 시 쓰기 작업 동기화

no_root_squach: 원격 루트 사용자를 root로 취급

wq!  저장 후 나오기


NFS 클라이언트 설정

yum install -y nfs-utils → 클라이언트 머신에 nfs-utils 설치

 

systemctl start rpcbind && systemctl enable rpcbind  rpcbind 시작

 

mkdir /nfstest최상위 디렉토리 밑에 nfstest 디렉토리 생성 

firewall-cmd --permanent --add-port=2049/tcp  2049/tcp 포트 허용

firewall-cmd --reload  재시작

systemctl restart rpcbind  rpcbind 재시작

mount -t nfs 서버IP주소:/nfss /nfstest  마운트

-t nfs: 파일 시스템을 nfs타입으로 설정

/nfss: 서버에서 생성한 공유 디렉토리

/nfstest: 클라이언트에서 생성한 디렉토리

 

df마운트/언마운트 확인

df명령어를 실행하면 밑줄 친 부분과 같이 마운트 상태를 확인 해볼 수 있다. 

★ 마운트 시에 no route to host 라고 뜨면서 실패하는 경우가 있는데, 이때는 서버 측에서 systemctl restart nfs 즉 nfs를 재시작하면 된다. 


확인하기

[NFS서버]

nfss 디렉토리로 이동해서 리스트를 조회해보면 현재는 아무 파일이 없다. 

 

[NFS클라이언트]

nfstest 디렉토리로 이동하여 touch test.txt 명령어로 임의의 테스트 파일을 만들어본다.

[NFS서버]

짜잔~ 서버에서 다시 리스트를 조회해보면 방금 클라이언트 측에서 생성한 test.txt 파일이 서버에서도 동기화가 된 것을 확인할 수 있다. 


마운트해제

마운트해제는 클라이언트에서 진행한다. 

먼저 아까 파일을 생성하느라 nfstest 경로에 가있었는데, 여기서 바로 umount(언마운트:마운트해제) 명령어를 실행하면, 'device is busy'라는 문구가 뜨며 사용중이어서 해제가 되지 않는 모습을 볼 수 있다. 

 

따라서 다른 폴더로 이동하여 umount /nfstest 명령어를 실행하면 마운트 해제가 된다. 

아까 마운트를 확인한 것과 같이 df명령어로 언마운트 상태도 확인 가능하다. 


728x90
반응형
COMMENT