/Linux/RHCSA/7일차2021. 6. 30. 02:37
1. 2개의 가상머신에서 한개는 nfs 서버 한개느 nfs 클라이언트로 설정해서 연결(읽고, 쓰기만 가능) 시켜주기
- NFS란? (Network File System)라고 하며 분산파일 시스템 프로토콜이다. 특징은 윈도우의 공유 폴더처럼 파일을 공유하여 사용할 수 있어 일관성을 가지며 윈도우에서도 가능하고 공유된 파일에 데이터를 보관하여 서로 다른 시스템에서 동일 데이터에 접근할 수 있다 또한 규모가 큰 소프트웨어를 배포할 때 시스템의 부하를 감소시킬 수 있다.
1. NFS 서버 구성
먼저 서버를 구성하고 파일을 공유하려면 시스템에 nfs-utils패키지를 설치해야 한다.
yum -y isntall nfs-utils
2. export 파일 작성
NFS 서버에서 디렉토리를 공유하려면 /etc/exports 파일 또는 /etc/exports.d
디렉토리에 파일을 생성하여 일정한 형식에 맞게 등록해야 한다.
- 공유 디렉토리 생성
일단 공유하기 위한 디렉토리를 먼저 생성하여 파일 권한도 같이 설정해주자
- /etc/exports 작성
/etc/exports 작성할 때 필요한 요소는 디렉토리의 경로, 접근 제어 리스트, 옵션이다. vi 편집기로 작성해보자
()의 내용은 NFS의 공유 옵션이 되겠다.
옵션 | 설명 |
ro | 읽기 전용으로 공유 |
rw | 읽기,쓰기로 공유 |
no_root_squash | 클라이언트가 root 권한 획득가능, 파일 생성시 클라이언트의 권한으로 생성됨 |
sync | 변경 사항이 커밋된 후에만 요청에 응답(안정적인 저장), 디폴트 값 |
sec | 보안 방법을 지정 기본 값은 sys이다 |
-보안 방식
NFS 서버에서 공유 디렉토리를 내보낼 때 보안 방식을 지정해야 한다. 보안 방식을 지정하지 않으면 해킹과 같은 공격을 당할 수 있기 때문. 그래서 '커버로스'라는 보안 방식을 사용하며 데이터 무결성 검증과 암호화 통신까지 가능하다.
보안 방식 | 설명 |
none | 클라이언트가 접속시 root사용자가 공유 디렉토리에 접근하면 nfsnobody의 UID와 GID가 할당될 때 사용 |
sys | 클라이언트가 NFS서버의 연결해 접근한 사용자의 UID,GID를 기준으로 리눅스의 표준 권한 체계 적용 |
kb5 | 사용자 인증 방식이며 접속할 때 UID와 GID대신 커버로스 사용 |
kb5i | 커버러스를 사용하며 체크섬을 사용하여 무결성 체크 |
kb5p | kb5i에서 네트워크 트래픽을 스니핑하여 데이터를 보호해 주는 암호화를 지원한다 |
-커버로스 사용
커버로스를 인증을 사용하려면 커버로스 서버 또는 FreeIPA 서버에 연결되어 있어야 한며
nfs-secure-server 서비스를 실행해야한다 그러므로 FreeIPA서버에 연결하기 위해 설치를 해보자
하지만 이번에는 사용을 하지 않을거기 때문에 설치법만.
3. NFS 서시스 실행 및 방화벽 설정
NFS 서비스를 실행해 보자 명령어는 아래 사진 참고.
이어서 커버로스 인증을 사용한 공유 디렉토리를 만들었지만 나는 sys로 설정한 공유 디렉토리를 사용하겠다.
추가로 클라이언트에서 NFS서버의 공유 디렉토리에 접근할 수 있는 목록을 확인할 수 있게
rpc-bind와 mountd 서비스를 추가하자
4. NFS 클라이언트 연결
지금은 수동 마운트를 사용해 NFS클라이언트에서 NFS서버로 연결해보자
-NFS 서버 탐색
NFS 공유 디렉토리를 확인하기 위해 'showmount'명령을 사용할 것이다 저 명령어를 위해 방화벽 규칙 rpc-bind와 mountd를 추가한 것이다
추가로 저 명령에 '-e'옵션을 사용하여 서버에서 export파일에 등록된 디렉토리를 확인 할 수 있다
이제 클라이언트에서 마운트할 포인트를 생성(/mnt/ubam) 후 mount 명령을 사용해 마운트를 해보자
mount [option] [server-address:path] [mount-point]
옵션 부분에는 -o옵션을 사용해 서버에서 공유할 때 export에서 지정한 옵션과 동일하게 해주며 서버의 공유 디렉토리 경로를 지정해주고 클라이언크에서 생성한 마운트 포인트 경로를 작성해주면 된다
반면에 서버에서 권한을 775로 해놨기 때문에 클라이언트에서는 파일을 만들수가 없다.
- /etc/fstab 파일에 등록
파일시스템과 마찬가지로 NFS도 재부팅하면 마운트가 해제되기 때문에
클라이언트에서 /etc/fstab에 부팅할 때 마운트를 해야한다
2. AutoFS를 설정하여 자동마운트 하기
-AutoFS란? 자동 마운트 데몬의 작동을 제어하는 프로그램이며 자동 마운트 데몬은 자동으로 파일 시스템을 마운트하며 파일 시스템이 사용되지 않고 일정 시간이 흐르면 자동으로 언마운트 시켜준다.
- 자동 마운트 구성 - 직접 맵
서버에서는
필자는 직접 맵으로 자동 마운트를 시킬것이다 여기서 자동 마운트를 구성하려면 클라이언트에서 autofs패키지를 설치해야 한다.
- 마스터 맵 파일 생성
마스터 맵은 /etc/auto.master.d 디렉토리 아래에 생성 파일 이름은 상관없지만 이름 뒤의 확장자는 '.autofs'를 반드시 지정해야 autofs서비스가 인식할 수 있다
위와 같이 vi편집기를 이용해 마스터 맵 파일을 생성했다
-직접 맵 파일 생성
이제 클라이언트에서 마스터 맵 파일의 두번째 필드에 지정한 경로에 직접 맵 파일을 생성하자 옵션을 붙여주고 경로도 잘 지정해 주자
이제 클라이언트에서 autofs서비스를 시작해 보자
이제 클라이언트에서 마운트 포인트로 접근하면 바로 마운트가 이뤄질 것이다.
'IT_공부 > Linux' 카테고리의 다른 글
/Linux/RHCSA/9일차(예제 풀기) (0) | 2021.07.03 |
---|---|
/Linux/RHCSA/8일차(예제 풀기) (0) | 2021.07.02 |
/Linux/RHCSA/6일차 (0) | 2021.06.28 |
/Linux/RHCSA/5일차 (0) | 2021.06.27 |
/Linux/RHCSA/4일차 (1) | 2021.06.22 |