Skip to content

NetworkFileSystem:Install:Client

NFS 클라이언트 연결 (보안 마운트)

NFS 클라이언트 설치

sudo apt install -y nfs-common

마운트 디렉토리 생성 및 테스트

# 마운트 포인트 생성 / Create mount point
sudo mkdir -p /mnt/nfs

# 마운트 테스트 (보안 옵션 포함) / Test mount with security options
sudo mount -t nfs4 -o sec=sys,noexec,nosuid,nodev 192.168.1.50:/ /mnt/nfs

# 마운트 확인 / Verify mount
df -hT /mnt/nfs
mount | grep nfs4

fstab 영구 등록

echo "192.168.1.50:/shared /mnt/nfs nfs4 sec=sys,noexec,nosuid,nodev,hard,intr,timeo=600 0 0" | sudo tee -a /etc/fstab

# fstab 문법 검증 / Verify fstab syntax
sudo mount -a

클라이언트 마운트 보안 옵션

옵션

설명

적용 이유

noexec

NFS 마운트에서 실행 파일 실행 차단

원격에서 악성 바이너리 실행 방지

nosuid

SUID/SGID 비트 무시

권한 상승 공격 차단

nodev

디바이스 파일 해석 차단

가짜 디바이스 파일을 통한 공격 방지

hard

서버 무응답 시 무한 재시도

데이터 손실 방지 (soft는 데이터 손상 위험)

intr

hard 모드에서 인터럽트 허용

서버 장애 시 Ctrl+C로 중단 가능

timeo=600

타임아웃 60초 (단위: 1/10초)

네트워크 지연에 대한 여유 확보

sec=sys

시스템 UID/GID 인증 사용

서버 설정과 일치 필요 (krb5p 사용 시 변경)

자동 마운트 (autofs) 대안

필요할 때만 마운트하여 불필요한 상시 연결을 줄이는 방법:

# autofs 설치 / Install autofs
sudo apt install -y autofs

# 마스터 맵 설정 / Configure master map
echo "/mnt/nfs /etc/auto.nfs --timeout=300" | sudo tee -a /etc/auto.master

# NFS 맵 설정 / Configure NFS map
echo "shared -fstype=nfs4,sec=sys,noexec,nosuid,nodev,hard,intr 192.168.1.50:/shared" | sudo tee /etc/auto.nfs

sudo systemctl enable --now autofs

방식

장점

단점

fstab (영구 마운트)

부팅 시 자동 마운트, 설정 단순

서버 다운 시 부팅 지연 가능

autofs (자동 마운트)

사용 시에만 마운트, 리소스 절약

첫 접근 시 약간의 지연

클라이언트 측 방화벽

클라이언트에서도 아웃바운드를 최소한으로 제한하려면:

# NFS 서버로의 아웃바운드만 허용 (선택적) / Optional outbound restriction
sudo ufw allow out to 192.168.1.50 port 2049 proto tcp comment 'NFS-server'

See also