본문 바로가기

컴퓨터

NFS 서버 설정하기

Scientific Linux 5.4 에서 NFS 서버를 설정해 보았다.

일단 서버로 사용할 컴퓨터에서 /etc/exports 파일을 수정해야 한다. 두 개의 필드로 구분하여 파일을 작성한다.

(공유할 디렉토리)      (IP address 혹은 hostname):(공유옵션들)

공유옵션들은 따옴표 ',' 로 구분한다. 공유 대상 설정이 끝나면
service nfs start (또는 /etc/init.d/nfs start)
를 이용해서 서비스를 시작한다.

그런데 Scientific Linux 의 기본 보안설정 때문에 클라이언트에서 곧장 사용할 수는 없었다.
서버에서 rpcinfo 를 이용하면 사용/서비스 중인 포트목록을 볼 수 있다.
NFS 서비스를 주고 받을 서버와 클라이언트 모두 NFS 가 이용하는 포트가 개방되어 있어야 한다.
이를 위해 Scientific Linux 의 gnome X-windows 에서 "System" - "Administration" - "Security Level and Firewall" 에 들어가서 Firewall 을 disable 해야한다. 방화벽을 이용하되 NFS 관련 포트들만을 개방하여 사용하는 방법은 차후에 더 알아보아야겠다.

(수동으로 ports 를 개방할 때는 매번 2049 포트가 목록에서 사라지는 현상이 발생했음)

방화벽 관련 문제가 해결되면 mount 해본다.
#mount hostname:directory mount_point

이 때, 정상적으로 mount 되더라도 서버에서 공유하기로 설정한 디렉토리가 서버의 root 권한을 가지고 있으면 client 는 root 가 아닌 다른 권한으로 인식하여 모든 access 가 deny 되어 permission error 를 낸다. 이 때, server 의 root 와 client 의 root 를 동일하게 만들어주는 no_root_squash 옵션을 이용하면 쌍방이 root 로 로그인시 디렉토리를 공유할 수 있다.