반응형
가정
- 192.168.1.4 : Server ip
- 192.168.1.5 : Client ip
서버
NFS 서버 설치
$ sudo apt-get update
$ sudo apt-get install nfs-kernel-server
공유 디렉터리 설정
$ sudo mkdir /nfs_share
$ chown nobody:nogroup /nfs_share
$ chmod 777 /nfs_share
- 공유 디렉터리 소유자와 소유그룹을 nobody와 nogroup으로 변경
- nobody와 nogroup으로 변경하는 이유는 클라이언트와 서버간에 UID와 GID를 매핑하는 과정에서 식별자들이 서로 일치하지 않는 경우 다양한 문제가 발생
- 즉 nobody와 nogroup은 일반적으로 모든 시스템에서 사용 가능한 사용자와 그룹으로 UID와 GID의 일치성을 보장하기 위해 선택됨
/etc/exports 공유 설정 추가
$ sudo vi /etc/exports
/nfs_share 192.168.1.5(rw,sync,no_subtree_check) # 192.168.1.5는 접속 클라이언트 아이피
- ro: 읽기 전용 (기본값)
- rw: 읽기/쓰기
- no_root_squash: 클라이언트에서 접근하는 root 인정
- root_squash: 클라이언트에서 접근하는 root 무시. 서버 상의 nobody로 매핑 (기본값)
- all_squash: root를 포함하여 모든 사용자의 권한을 nobody로 매핑
- no_subtree_check: 하위 디렉터리를 검사하지 못하도록 설정
- secure: 포트 번호가 1024 이하의 요청에만 허가
- async: 데이터 변경을 비동기식으로 처리. 쓰기가능한 디스크 스토리지에 사용하면 유용
- anonuid: 접근하는 사용자 권한을 지정한 uid로 매핑
- anongid: 접근하는 그룹 권한을 지정한 gid로 매핑
* subtree check의 역할은 클라이언트가 서버에 연결할 때 클라이언트가 지정한 경로가 서버의 /etc/exports 에 정의된 공유 경로의 하위 경로인지를 확인하는 기능
즉 서버에서는 /nfs_share 을 공유하고 있는데 클라이언트에서 /nfs_share/subdir 에 연결할려고 할 때 subtree checking이 활성화되어 있다면 이 경로가 서버에 정의된 공유 경로의 하위 경로인지를 확인
보안적인 측면, 특정 디렉터리의 액세스를 제한하는데 있어서는 subtree_check을 활성화하는 것이 좋고, 이 기능이 필요하지 않은 상황이면 no_subtree_check를 통해 서버의 부하를 줄일 수 있음
각 목적에 따라 다른 옵션을 사용하면 됨
설정된 모든 공유를 저장
$ sudo exportfs -a
NFS 서버 재시작
$ sudo service nfs_kernel_server restart
클라이언트 접속(리눅스)
nfs 클라이언트 설치
$ sudo apt-get update
$ sudo apt-get install nfs-common
nfs 디렉터리 마운트
sudo mount 192.168.1.4:/nfs_share /mnt # 192.168.1.4는 서버 ip
마운트 확인
$ df -h
클라이언트 접속(윈도우)
윈도우 nfs 기능 켜기
네트워크 드라이브 연결
서버 정보 입력
\\server_ip\공유 디렉터리
끝
반응형
'서버 > Linux' 카테고리의 다른 글
[Linux] 리눅스 - 윈도우 smb 서버 구축 및 접속(데비안) (1) | 2024.01.08 |
---|---|
[Raspberry Pi] 라즈베리파이에서 sdkman을 이용해 java 17 설치 (0) | 2024.01.08 |
댓글