서버 운영/Linux

리눅스 NFS 서버, 클라이언트 설치 및 확인

meong_j 2021. 10. 18. 18:13
728x90
반응형

NFS (Network File System)

NFS는 네트워크로 연결된 다른 컴퓨터의 파일 시스템을 내 컴퓨터로 마운트하고 공유하여 상대방의 파일 시스템 일부를 마치 자기 자신의 디렉터리처럼 사용하는 프로토콜이다.

즉, 저장 공간을 공유할 수 있도록 해주는 서비스를 말한다.

아무래도 다른 컴퓨터의 저장 공간을 공유하다보니 보안성에 취약하기 때문에 보안 이슈가 크다면 권장하진 않는다.

 

NFS 서버 설정하기(export)

1. NFS 패키지 설치

# yum install nfs-utils

 

2. NFS 서버 서비스 기동 및 재부팅 시 자동 활성화

# systemctl start nfs-server
# systemctl enable nfs-server

 

3. exports 할 파일 설정

# mkdir [공유할_디렉터리]
# vi /etc/exports
  [공유할_디렉터리]  [허가할_호스트][디렉터리 권한]

 

디렉터리 권한

권한 설명
rw 읽기, 쓰기 가능 (read, write)
ro 읽기만 가능 (read only)
secure 포트번호 1024 이하의 요청만 허가
root_squash 클라이언트의 root권한 무시
no_root_squash 클라이언트의 root권한 인정
all_squash 모든 권한 무시하고 nobody 권한 부여

 

예시 ]

# mkdir /test
# vi /etc/exports
# /test  *(rw)  // /test 디렉터리에 접근 할 수 있는 호스트는 모두 가능하고, 읽기 및 쓰기를 허가한다.
# /etc/exports  
/ihd  192.168.5.9/255.255.255.0(rw,no_root_squash) // /ihd 디렉터리에 접근 할 수 있는 호스트는  192.168.5.9대역에 속한 호스트만 허가하고, root 사용자 권한으로 읽기 및 쓰기를 허가한다. (192.168.5.9/24 도 가능)
/kait  192.168.12.22(rw,root_squash) // /kait 디렉터리에 접근할 수 있는 호스트는 ip주소가 192.168.12.22인 호스트만 가능하고,  root사용자 권한은 인정하지 않는다.

 

4. 수정된 내용 반영

# exportfs -r

 

5. 방화벽 허가

# firewall-cmd --permanent --add-service=nfs
# firewall-cmd --reload
# firewall-cmd --list-all
  • firewalld 실행 중일 시 nfs 서비스 허가로 방화벽 설정

 

6. 확인 (showmount, exportfs)

# showmount -e
# exportfs -v
  • showmount 명령어로 NFS 서버의 마운트 관련 정보 출력
  • exportfs 명령어로 NFS 서버에 외부에 공유된 내용을(익스포트된) 디렉터리 및 공유 정보 확인

 

사용 예시]

# exportfs -v

-> NFS 서버에서 외부에 공유된 내용을 세부적인 설정 정보를 포함해서 자세히 출력한다. 

# showmount -e 192.168.12.22

-> NFS 클라이언트에서 NFS 서버인 192.168.12.22의 공유된 정보를 확인한다.

 

 

NFS 클라이언트 설정하기(import)

1. NFS 패키지 설치

# yum -y install nfs-utils

 

2. NFS 서버 공유 디렉터리 확인

# showmount -e [서버_IP]

 

3. 마운트할 디렉터리 생성

# mkdir [마운트할_디렉터리]

 

4. 마운트

# mount -t nfs [서버_IP]:/[서버_공유_디렉터리]  /[클라이언트_마운트할_경로]

 

5. fstab 등록

ex) 192.111.1.1:/nfsdir /mnt/server  nfs   defaults  0  0
[디바이스명] [마운트포인트] [파일시스템 종류] [옵션] [덤프여부] [fsck체크여부]
  • 재부팅 시에도 자동 마운트 되도록 /etc/fstab 파일에 등록

 

# vi /etc/fstab   //NFS 클라이언트에서 부팅할 때 NFS 서버의 파일 시스템을 이용할 수 있도록 /etc/fstab 파일을 설정한다.
192.168.5.13:/nfsdata  /ndata  timeo=15,soft,retrans=3 0 0  // NFS서버 주소는 192.168.5.13이고, 공유 디렉터리는 /nfsdata이다. NFS클라이언트에서 마운트할 디렉터리명은 /ndata로 설정한다.

 

6. 마운트 확인

# df
  • df 명령어로 마운트된 파일 시스템 확인

 

NFS 관련 명령어

RPC 관련 정보 확인 (rpcinfo)

# rpcinfo
# rpcinfo -e [IP_주소]
  • RPC 관련 정보 확인

* RPC : 네트워크 상의 다른 컴퓨터에 위치하고 있는 프로그램에 서비스를 요청하는데 사용되는 프로토콜, 원격 프로시저 절차 호출

사용 예시]

# rpcinfo

-> RPC 관련 정보 출력한다.

 

NPC 관련 상태 정보확인 (nfsstat)

# nfsstat
-r : RPC 관련 정보 확인
-s : NFS 서버 버전 체크
-c : NFS 클라이언트 버전 체크

사용 예시]

# nfsstat -r
-> RPC 관련 정보 출력한다.
# nfsstat
-> NFS 서버 또는 클라이언트에서 NFS 관련 상태 정보 출력한다.

 

 

*NFS 서버 및 클라이언트에서 명령어를 사용해서 정보를 확인하는 과정*

가. NFS 서버에서 외부에 공유된 내용을 세부적인 설정 정보를 포함해서 자세히 출력한다.
# exportfs -v

나. NFS 클라이언트에서 NFS 서버인 192.168.12.22의 공유된 정보를 확인한다.
# showmount -e 192.168.12.22

다. RPC 관련 정보를 확인한다.
# rpcinfo
또는
# nfsstat -r

라. NFS 서버 또는 NFS 클라이언트에서 NFS 관련 상태 정보를 출력한다.
# nfsstat

 

반응형