- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- ACL
- 그라파나
- JSP
- nginx
- centos docker
- 쉘 스크립트 기초
- GPIO
- RaspberryPi
- synology
- 메소드
- 쉘 스크립트 if문
- 프로젝트
- 클라우드
- 안드로이드
- Android
- 쉘 스크립트
- System
- docker
- 리눅스
- 네트워크
- 자바
- Tkinter
- 라즈베리파이
- Python
- Linux
- LEVIATHAN
- API
- Java
- GUI
- Shell script
- Today
- Total
IT창고
리눅스 NFS 설정 본문
리눅스의 NFS(Network File System)은 네트워크를 통해 공유된 원격지 호스트에 자원(파일시스템)을 로컬 호스트에 마운트해서 사용하여 파일을 공유하는 프로그램입니다. NFS에서 알아둬야할것중 RPC(Remote Procedure Call)이 있는데 RPC는 원격 프로시저 절차 호출로 네트워크 상의 다른컴퓨터의 위치하고 있는 프로그램에 서비스를 요청하는데 사용되는 프로토콜입니다.
NFS서버 설정에 사용되는 파일이 3가지 있습니다.
/etc/export파일은 NFS서버 설정파일로 모든 파일과 디렉토리를 정의하기 위해서 사용하고 /etc/fstab파일은 NFS서버에서 설정한 공유 디렉토리를 NFS클라이언트에서 사용하기 위해 사용되는 파일이며 /etc/sysconfig/nfs 파일은 NFS서버에서 제공하는 NFS서비스를 위해 사용되는 모든 포트에 대한 정보를 설정하는 파일입니다.
NFS서버를 만들어보겠습니다.
실험을 위해 A리눅스와 B리눅스 두개가 필요합니다. A리눅스에 yum -y install nfs-utils 패키지를 설치합니다.
mkdir /var/server_share 디렉토리를 만들어줍니다 이 디렉토리는 공유를 허용할 디렉토리로 /var안에 디렉토리를 꼭 만들필요는 없습니다. chmod -R 777 /var/server_share 를 입력하여 클라이언트가 이 디렉토리에 접속해서 파일을 읽고 쓰는 권한을 주기위한 설정을 해줍니다. vim /etc/exports 파일에 NFS서버설정을 해줍니다. 아래의 글을 vim 편집기로 입력해줍니다.
/var/server_share/ 100.100.100.0/24(rw,sync,no_root_squash,no_all_squash) 를 입력해줍니다.
위의 글을 해석해보면 /var/server_share 는 디렉토리이름이고 100.100.100.0/24는 ip범위 및 도메인이고 rw는 공유 디렉토리에 대한 읽기 및 쓰기 권한을 허용하는 옵션으로 ro는 읽기만 가능한 옵션입니다. sync는 파일시스템 변경시 즉시 이 변경사항을 동기화하는 옵션이고 no_root_squash는 클라이언트에서 사용자 root로 공유디렉토리 접근시 NFS서버 시스템에서도 사용자 root로 인식하고 권한을 부여하는 옵션인데 보안을 고려해서 root_squash로 설정을 하면 클라이언트의 사용자 root는 서버에서 nfsnobody로 매핑되어 인식시킬수있습니다. no_all_squash는 각 사용자의 권한을 공유 디렉토리에서도 허용하는 옵션으로 서버와 클라이언트에 동일한 계정이 있다면 같은 계정으로 인식하여 동일한 권한을 적용합니다.
/etc/exports파일을 수정했다면 exportfs -r 명령어로 변경사항을 적용합니다. NFS서버는 nfs데몬을 재시작해서 변경사항을 적용하지 않습니다.
exportfs 명령어는 NFS서버를 다시 시작하지 않고도 공유 목록을 수정할수있는데 옵션 몇 가지를 알아보겠습니다.
-a 는 /etc/exports 파일을 읽어 들입니다
-r 는 /etc/exports 파일을 다시 읽어 들입니다.
-u 는 [ip]:/[디렉토리] 입력한 디렉토리를 공유 목록에서 제외 합니다.
-v 는 현재의 공유목록을 확인합니다.
NFS서버의 설정을 끝냈다면 시작해보겠습니다.
service rpcbind start와 service nfs start 를 입력해서 시작합니다. rpcbind데몬을 먼저 시작해야 합니다.
rpcinfo -p 명령어를 사용해서 RPC의 일부 서비스의 포트를 동적으로 사용하여 NFS 사용시 포트를 확인할 필요가 있습니다.
vi /etc/sysconfig/nfs 파일에서 포트에 관한 설정을 합니다. 단 iptables데몬을 stop했다면 포트설정을 하지 않아도 됩니다.
ex) STATD_PORT=4000
LOCKD_TCPPORT=4001
LOCKD_UDPPORT=4001
MOUNTD_PORT=4002
RQUOTAD_PORT=4003
위와 같이 nfs파일에 설정해주면 됩니다.
B리눅스로 넘어가서 yum -y install nfs-utils 패키지를 설치합니다.
service rpcbind start와 service nfs start 를 입력해서 데몬을 실행시키고 mkdir /mnt/client_share로 마운트가 될 디렉토리를 만들어줍니다. showmount -e NFS서버IP 를 입력해서 NFS서버가 어떤 공유디렉토리를 제공하고 있는지 알아봅니다.
마운트하는 법은 ex) mount /dev/sdb1 /DIR1 인데 NFS서버의 공유 디렉토리를 마운트하려면 아래와 같은 명령어를 입력합니다.
mount 100.100.100.110:/var/server_share/ /mnt/client_share/ 를 입력하면 마운트가 됩니다. mount | grep server 로 마운된것을 확인가능합니다.
umount /mnt/client_share 명령어로 언마운트도 가능합니다. NFS서버를 사용한다면 부팅할떄마다 설정을 해줘야하는데
'서버운영 > Linux' 카테고리의 다른 글
리눅스 PXE (0) | 2017.09.25 |
---|---|
리눅스 Samba(삼바) 서버 설정 (0) | 2017.09.23 |
리눅스 FTP 설정 (0) | 2017.09.21 |
리눅스 DNS 고급설정 (0) | 2017.09.19 |
리눅스 DNS 설정 (0) | 2017.09.18 |