구축환경: Ubuntu 14.04 LTS (VirtualBox)
NFS 서버는 apt-get 명령어로는 아주 쉽게 설치할 수 있는 것에 비해
소스패키지로 설치하는 것은 생각보다 매우 복잡했다.
그래서 일단은 apt-get 명령어로 서버를 구축해보았다.
(서버용 가상머신 IP 10.0.2.100,
클라이언트용 가상머신은 서버용 가상머신의 DHCP 서버에서 할당해준 유동 IP 10.0.2.55~99 사이
두 가상머신은 같은 NAT Network 상에 존재함 - VirtualBox에 소스패키지로 DHCP 서버 구축하기 (Ubuntu) 참고)
1.
서버용 가상머신에
apt-get install nfs-common nfs-kernel-server rpcbind
명령어로 필요한 패키지들을 설치한다.
2.
/etc/exports 다음 내용 추가(책 '이것이 우분투 리눅스다' 참고)
/share 10.0.2.*(rw,sync)
10.0.2.0/24 네트워크의 컴퓨터가 /share에 접근할 수 있도록 설정
sync: NFS가 쓰기 작업을 완료할 때마다 디스크 동기화 - async보다는 노림.
옵션 - http://www.whatwant.com/509 참고
3.
mkdir /share
chmod 707 /share
exports 파일에 추가해둔 /share 디렉터리를 만들고,
접근 권한을 변경한다. (일반 사용자에게 읽기, 쓰기, 실행 권한 부여)
service nfs-kernel-server restart
NFS 서버 재시작
exportfs -v 명령 사용하면 서비스 가동 여부 확인 가능
여기서 root-squash는 NFS 클라이언트가 root라는 이름으로 NFS 서버에 접속해도
NFS 서버의 root 사용자 권한은 얻을 수 없도록 방지하는 옵션. 기본값이 root-squash.
no-root-squash를 사용하면 시스템보안이 매우 약해진다.
4.
클라이언트용 가상머신에
install apt-get nfs-common
명령어로 패키지 설치한다.
5.
showmount -e 10.0.2.100
다음 명령어로 NFS 서버에 공유된 디렉터리 확인
myShare 디렉터리를 만든 후,
mount -t nfs 10.0.2.100:/share myShare
명령어로 디렉터리를 마운트한다.
목록 조회, 파일 복사 등으로 공유 디렉터리를 정상적으로 사용할 수 있는 지 확인한다.
+ Port Forwarding을 위한 포트 번호 설정
원래는 클라이언트로 윈도우를 사용하려고 했기 때문에, (Windows 10 Home에서는 NFS가 안된다고 해서 실패..)
VirtualBox에 Squid 소스패키지로 Proxy 서버 구축하기 (Ubuntu) 에서처럼
가상머신의 네트워크 설정에서 포트 포워딩 규칙을 만들어줬다.
(가상머신 설정 - 네트워크 - 고급 - 포트 포워딩)
(kpcinfo -p 명령어로 조회한 포트 번호)
NFS 서버는 portmapper 서비스의 111/tcp,udp, nfs 서비스의 2049/tcp,udp 포트를 사용하고..
또, mountd 서비스의 포트도 사용하는데, 이건 무작위 포트를 사용하기 때문에 서버를 재시작할 때마다 계속 바뀐다.
포트포워딩 규칙을 매번 바꿔줄 수 없기 때문에
mountd 60066/tcp
mountd 60066/udp
위와 같은 내용을 /etc/services 파일에 추가해줘서 서비스가 사용할 포트 번호를 정해줬다.
그러면 아래와 같이 mountd가 사용하는 포트 번호가 고정된다.
고정된 포트 번호로 포트 포워딩 규칙을 만들어준다.
'Ubuntu > 서버' 카테고리의 다른 글
VirtualBox에 Squid 소스패키지로 Proxy 서버 구축하기 (Ubuntu) (0) | 2017.12.16 |
---|---|
VirtualBox에 소스패키지로 DHCP 서버 구축하기 (Ubuntu) (0) | 2017.12.13 |
Ubuntu에 Startup Script 추가하기 (0) | 2017.12.12 |
Ubuntu Apache 소스패키지 빌드하여 설치하기 (0) | 2017.12.12 |
Ubuntu Sendmail 소스패키지 빌드하여 설치하기 (0) | 2017.12.06 |