리눅스 서버 구축
리눅스 핵심 네트워크 서버 - 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 서버를 설치하고 디렉터리를 공유하는 방법, 그리고 클라이언트 측에서 마운트 하여 사용하는 과정을 경험해 보았다. 특히 자동화 스크립트를 통해 빠르게 구성할 수 있도록 설정해보는 것이 의미있었다.
이 블로그는 불법 해킹 및 악의적인 활동을 지양하며, 그런 행위는 절대 권장하지 않습니다.
모든 실습은 허가된 환경에서만 진행해야 하며, 법적 책임은 사용자 본인에게 있습니다.