리눅스 서버 구축

리눅스 핵심 네트워크 서버 - NFS(Network File System) 서버 구축 및 마운트 실습

ahhyun98 2025. 5. 25. 15:15

이번 실습에서는 NFS(Network File System)를 사용하여 Linux 시스템 간 디렉터리 공유를 구성해 보았다. 

Samba와는 달리 NFS는 Unix/Linux 계열에서 사용되는 전용 공유 프로토콜이며, 설정이 간편하고 성능이 뛰어난 장점이 있다. 


1. NFS란? 

  • 네트워크 망을 통해 Unix 또는 Linux 운영체제 컴퓨터 간 저장 공간을 공유하는 기술
  • Windows에서는 기본적으로 지원하지 않으며, Samba와는 사용 방식이 다르다. 

2. NFS의 특징 및 장단점

1) 특징 

  • NFS로 공유한 파일은 일반적인 소유권과 접근 권한이 그대로 적용된다.
  • 원격 사용자도 UID가 동일하면 자신의 파일처럼 접근 가능. 
  • 루트 권한 사용자도 공유 디렉터리에서는 제한받을 수 있다. 

2) 장점

  • 설정이 간단하고 파일 공유가 매우 쉽다. 

3) 단점

  • 보안에 취약함 (IP 기반 접근 제어 외 추가 인증 없음)

3. NFS 서버 설치 및 공유 폴더 설정하기

apt update
apt install nfs-kernel-server

 

공유할 디렉터리 생성 및 권한 설정

mkdir /xxx
chmod 777 /xxx

 

공유 디렉터리 등록 (exports 설정)

 

/etc/exports 파일에 다음 내용을 추가:

/xxx *(rw,sync,no_subtree_check)
  • * : 모든 클라이언트 허용 (실무에서는 IP 지정 권장)
  • rw : 읽기/ 쓰기 허용
  • sync : 요청 시 동기화
  • no_subtree_check : 서브 디렉터리 검사 생략

변경 적용 :

exportfs -a

 


4. 방화벽 설정 (서버 측)

ufw allow from any to any port nfs
ufw allow from any to any port 111

 


5. 서버 자동화 스크립트 

#!/bin/bash

apt update
apt install -y nfs-kernel-server

mkdir /xxx
chmod 777 /xxx

echo "/xxx *(rw,sync,no_subtree_check)" >> /etc/exports
exportfs -a

ufw allow from any to any port nfs
ufw allow from any to any port 111

systemctl restart nfs-kernel-server
showmount -e ip주소
  • /etc/exports에 공유 디렉터리 등록
  • 서비스 재시작 후 showmount 명령어로 공유 확인

6. NFS 클라이언트 연결 설정

apt update
apt install nfs-common

 

마운트 할 디렉터리 생성

mkdir -p /mnt/nfs/xxx

 

NFS 서버 공유 디렉터리 마운트

mount -t nfs IP주소:/xxx /mnt/nfs/xxx

 

정상적으로 마운트 되면 /mnt/nfs/xxx 경로에서 서버의 /xxx 디렉터리와 동기화됨. 


7. 클라이언트 자동화 스크립트

#!/bin/bash

apt update
apt install nfs-common -y

mkdir -p /mnt/nfs/xxx
mount -t nfs ip주소:/xxx /mnt/nfs/xxx

cd /mnt/nfs/xxx

8. 마무리

이번 실습을 통해 리눅스에서 NFS 서버를 설치하고 디렉터리를 공유하는 방법, 그리고 클라이언트 측에서 마운트 하여 사용하는 과정을 경험해 보았다. 특히 자동화 스크립트를 통해 빠르게 구성할 수 있도록 설정해보는 것이 의미있었다. 

 

 

 

 

이 블로그는 불법 해킹 및 악의적인 활동을 지양하며, 그런 행위는 절대 권장하지 않습니다.

모든 실습은 허가된 환경에서만 진행해야 하며, 법적 책임은 사용자 본인에게 있습니다.