[리눅스] 네트워크 파일 시스템 (NFS)

최동혁·2023년 2월 8일
0

리눅스

목록 보기
14/16

NFS란??

  • 윈도우의 공유 폴더와 비슷하다.

실습 (서버)

공유할 디렉토리 설정 파일

  • 일단 yum install nfs-utils 를 해서 서버를 설치.
  • 방화벽 해제 systemctl stop firewalld

  • share 디렉토리 생성
  • /etc/exports 파일
  • vi 편집기로 들어가서 공유할 디렉토리 경로와 네트워크 ID/서브넷마스크를 작성해주면 특정 대역을 가지고 있는 ip가 디렉토리에 접근할 수 있다.
  • 그리고 뒤에 (rw)와 같은 권한을 줘야 한다.

공유 설정 옵션

  • 설정 파일을 설정했으니, 프로그램을 재시작해야한다.

  • systemctl restart nfs-server.service

  • 그 후, systemctl status nfs-server.service로 활성화 되어있는지 확인

실습 (클라이언트)

  • yum install nfs-utils 설치

  • test라는 디렉토리 생성

  • mount (서버의 ip:공유디렉토리 경로) (연결할 클라이언트의 디렉토리)

    • mount 192.168.163.100:/share /test
    • 서버의 share 디렉토리를 클라이언트의 test 디렉토리와 연결

  • 그 후, 서버에서 share 디렉토리 안에 touch 명령어로 빈 파일들 생성한 후, 클라이언트에서 확인

실습 (권한 설정)

  • 클라이언트에서 abcd 파일을 삭제하려고 하면 권한이 없다고 나온다.
  • 클라이언트 입장에서 /share 디렉토리에 접근을 하면 nobody로 접근하게 된다.

  • 그래서 서버에서 chmod 777로 디렉토리에 권한을 허용해주고 share 디렉토리를 확인.
  • 위의 그림을 보면 모든 권한이 허용된 것을 확인할 수 있다.

  • 클라이언트에서 client라는 빈 파일을 생성

  • 서버에서 /share 디렉토리 리스트를 보면 nobody 사용자가 client라는 파일을 생성한 것을 볼 수 있다.

실습 (외부와 파일 공유)

  • nfs가 쓰는 포트 번호는 2049번이다.
  • 포트포워딩을 2049번 -> 공유기의 사설 ip 2049 로 해준다.
  • /etc/exports/ 파일 수정

  • 위의 그림처럼 추가해준다.
  • 강의장 내의 같은 공유기를 쓰는 모든 컴퓨터에게 /share 디렉토리를 공유하겠다는 얘기이다.
  • 그렇다면 강의장 내의 어떤 컴퓨터가 나의 /share 폴더에 접근하고 싶다면?
  • 참고로 나의 사설 ip 는 192.168.163.100이다.
  • 물론 서버에서 systemctl restart nfs-server 명령어를 통해 서버를 열어줘야 한다.
  • 클라이언트는 mount 192.168.0.6:/share /test
    • 서버의 share 디렉토리를 클라이언트의 test 디렉토리에 마운트 시키겠다는 얘기이다.
    • 이렇게 설정을 하면 서버의 share 폴더를 client의 test 폴더에서 같이 쓸 수 있다.
    • 만약 클라이언트도 파일을 추가하고 삭제하고 싶다면, chmod 를 이용해 권한을 바꿔주면 된다.
profile
항상 성장하는 개발자 최동혁입니다.

0개의 댓글