상세 컨텐츠

본문 제목

NFS (Network File System)

데비안 리눅스/이론

by 연매출300억 2020. 1. 22. 14:21

본문

NFS란?

컴퓨터 사용자가 원격 컴퓨터에 있는 파일을 마치 자신의 컴퓨터에 있는 것 처럼 검색하고 사용하며 수정할 수 있다.

SMB와 거의 흡사하지만 Linux와 Windows간 파일공유에는 대부분 SMB를 쓰고, Linux간에는 대부분 NFS를 쓰는 경우가 많은 것 같다. NFS는 TCP/IP 프로토콜을 사용하며, 포트번호는 고정되어있지 않다.

 

NFS의 단점

NFS는 앞서 말했다시피 포트번호가 고정되어있지 않기때문에, 방화벽을 사이에 두고 사용하기에 굉장히 취약하다.

기본적으로 NFS는 사용하지 않는 포트를 임의로 사용할 수 있도록 해주는 RPC를 사용하기때문에 특정 포트를 사용하지 않고 무작위로 사용한다.

NFS 패키지 설치 후 rpcinfo -p 명령어를 사용하면 현재 사용중인 포트를 볼 수 있다.

만약 방화벽을 거친다면 사용하는 포트를 모두 뚫어줘야 하기에 보안에 취약하다. 물론 거의 방화벽을 거쳐서 쓰는 일은 없겠지만!

 

NFS 통신과정

NFS클라이언트들은 NFS 서버와 통신을 할 때 rpc program number를 이용하여 통신한다.

rpc program number들은 /etc/rpc 에 지정되어있다.

/etc/rpc

NFS server에서는 portmap이 111port에서 정보를 받아서 해당 서버 프로세스와 연결을 해준다. portmap과 rpcbind는 중계역할을 해준다. nfs서버의 nfsd는 2049에서 listen하지만 그 외의 다른 서버 프로세스는 임의의 포트에서 실행되고 nfs server쪽에 실행되는 daemon들과 port에 대한 정보는 portmap에 등록된다.

 

rpcinfo 명령어로 portmap에 등록된 정보를 볼 수 있고,

rpcinfo -p 명령어로 nfs서버에서 실행되는 서버 daemon들의 port를 볼 수 있다.

 

nfs 서버에서 실행되는 서버 daemon들의 포트

 

 

'데비안 리눅스 > 이론' 카테고리의 다른 글

iptables 이론  (0) 2020.01.02

관련글 더보기

댓글 영역