12주차 CSM_실습일지📝

ᴶᴬᴱᵞᴼᴼᴺ·2021년 5월 23일
0

컴퓨터 시스템관리

목록 보기
12/15
post-thumbnail

💡 12주차에는 openssh 원격접속을 구축하고 Windows와 macOS 각각의 운영체제에서 사용 가능한 클라이언트 프로그램을 설치하여 SSH접속을 해보는 실습을 하였다. 더 나아가 Mail Server에 대한 이론적인 내용을 배우고 관련된 실습도 해보았다.

실습과제

📌Server(b)에 메일 서버를 추가로 구축 (호스트 이름 / 메일 서버 주소 : mail.it.ac.kr & 사용자계정 : soo) 하고 peng@cs.ac.kr과 메일 주고 받아보기

1. peng@cs.ac.kr 에서 soo@it.ac.kr 로 메일 보내기

🔗 https://youtu.be/y_nn7_eJRps

2. soo@it.ac.kr 에서 peng@cs.ac.kr 로 메일 보내기

🔗 https://youtu.be/Ixy5bh83Z_I

새로 배운 내용

✔ Email의 송수신에서 사용되는 프로토콜

▪ SMTP (Simple Mail Transfer Protocol)
: 클라이언트가 메일을 보내거나, 메일 서버끼리 메일을 주고 받을 때

▪ POP3 (Post Office Protocol)
: 메일 서버에 도착되어 있는 메일을 클라이언트로 가져올 때 (서버에서 로컬 장치로 다운로드)
👉실시간으로 메일을 받아오는 것 아님, 동기화 버튼 같은 거를 클릭하여 POP3에 요청을 해야 메일을 받아올 수 있음

▪ IMAP (Internet Mail Access Protocol)
: POP3와 유사, 중앙 서버에서 동기화 (실시간으로 메일 확인가능)
-모든 장치에서 동일한 이메일 확인 가능

📍 POP3 vs. IMAP
▪ POP3 : 메일 서버에 있는 메일 정보를 다운로드함. 그러면 기본적으로 메일 서버에 있는 메일 내용은 삭제됨.
▪ IMAP : 메일 서버에서 일종의 복사를 해오는 것. 그러면 서버에도 여전히 메일내용은 남아있음.
-> 모든 장치에서 동일한 이메일 확인 가능한 이유

✔ Sendmail
: 인터넷에서 메일을 전송하기 위해 사용하는 패키지
▪ MTA (Mail Transfer Agent)의 역할 수행
▪ SMTP (Simple Mail Transport Protocol)
-> 25번 포트 사용
▪ 주요 설정 파일
/usr/bin/sendmail : 데몬 파일
/usr/bin/makemap : 맵 생성 실행파일
/var/spool/mqueue : 메일을 일시 저장하는 디렉터리
/var/spool/mail : 개별 메일을 보관하는 디렉터리
/etc/mail/access : relay 제한 및 설정 파일 (스팸 메일 방지 등)
👉 RELAY : 관련 메일 수신/발신 허용
👉 REJECT : 관련 메일 수신/발신 거부
/etc/mail/sendmail.cf : sendmail 설정 파일

[실습💻] 원격접속 구축하기 (openssh)

: Server 원격접속 환경 구축을 위해 초기화한 후 온라인 저장소 변경을 위해 명령어 모드에서 %s/kr.archive.ubuntu.com/mirror.kakao.com 을 입력하여 kr.archive.ubuntu.com 부분만 mirror.kakao.com으로 변경되도록 함

: Windows 운영체제에서 사용가능한 클라이언트 프로그램인 'Windows Terminal'을 설치함

: SSH 접속을 시도했을때 위와 같은 WARNING 문구가 뜨는 문제가 발생하면 notepad .\config 를 터미널에 입력하여 notepad 의 내용을 수정해야 함! (이전 실습에서 사용했던 기록이 남아있어서 생긴 문제이기 때문)
수정 후 SSH 접속 잘됨🔽

[실습💻] Mail Server 구축하기

  • Server(b)에 DNS Server 구축


    : DNS 서버 설치 후 vi /etc/bind/named.conf.options 에서 위와 같이 내용 수정 및 추가

    : vi /etc/bind/named.conf.local 에서 zone 파일 설정

    : vi /etc/bind/cs.ac.kr.db 파일 생성 -> named-checkconfnamed-checkzone cs.ac.kr /etc/bind/cs.ac.kr.db 를 통해 위에서 설정한 파일들에 문제(오류)가 있는지 확인

    : systemctl restart bind9 을 통해 재실행한 후 systemctl status bind9 을 통해 상태 확인

    : vi /etc/resolv.conf 에서 네임 서버 변경

    : nslookup 으로 server 의 네임 서버 확인 & mail.cs.ac.kr(메일 서버)의 주소 확인

  • Server에 mail server 구축

    : apt install sendmail // sendmail 설치

    : vi /etc/hostname 에서 server 이름 변경, vi /etc/hosts 에서 ip & url 추가, vi /etc/mail/local-host-names 에서 host 추가 ▶ vi /etc/resolv.conf 에서 dns 서버 추가 ▶ 재부팅의 과정을 거쳐서 위의 사진과 같이 hostname 이 바뀜

    : vi /etc/mail/sendmail.cf 에서 몇몇 내용 수정 (269행 & 270행에서 Add=127.0.0.1 을 삭제 👉 다른 Client 또는 다른 ip주소에서도 메일을 보낼 수 있게 설정한 것)

    : vi /etc/mail/access 에서 권한 설정 ▶ makemap hash /etc/mail/access < /etc/mail/access 을 통해 접근권한이 메일서버에 적용되도록 함 ▶ systemctl restart sendmail 을 하여 재실행 & systemctl enable sendmail

    : apt install dovecot-pop3d // dovecot 설치

    : vi /etc/dovecot/dovecot.conf 에서 내용 수정(주석 제거)

    : vi /etc/dovecot/conf.d/10-mail.conf 에서 내용 수정(주석제거) ▶ systemctl restart dovecot 을 하여 재실행 & systemctl enable dovecot

    : 메일 서버 방화벽 설정 ufw disable

  • Server 에서 sendmail 테스트

    : peng 이라는 사용자 추가

    : 자기 자신에게 메일 보내보기

    : vi /var/spool/mail/peng // 메일이 잘 전송됐는지 메일박스에서 확인

  • Client 에서 Evolution 테스트

    : apt install evolution // Client인 Kubuntu에서 evolution 설치

    : Kubuntu에서 DNS 설정

    : evolution 설정 확인

    : evolution에서 메일 전송해보기


    : evolution에서 peng계정 설정
    보안문제로 메일이 잘 보내지지 않는 문제를 해결하기 위해선 Account Editor에서 Receiving Email과 Sending Email > Security부분의 Encryption method를 'No encryption'으로 변경!)

문제 발생 및 해결방안

  • 실습과정에서 Server의 온라인 저장소 변경 후 openssh-server 를 설치할 때 Waiting for cache lock 이라는 에러문구가 뜨며 제대로 실행되지 않는 문제가 발생하였다. 또한 같은 에러문구가 net-tools를 설치할때도 나타났다.
    ✍해결 : 첫 번째로 에러문구가 떴을 때는 Server를 초기화하고 온라인 저장소를 다시 변경한 후 같은 작업을 시도해보았더니 문제가 해결되었다. 두 번째로 동일한 에러문구가 나타났을 때는 재부팅을 한 후 시도해보았더니 해결되었다.

  • 과제를 하던 중 다음과 같이 다양한 문제가 발생하였다. soo가 soo 자신에게 메일을 보내는 것, peng이 peng 자신에게 메일을 보내는 것은 오류없이 잘 되었는데 실습과제로 주어진 soo와 peng이 메일을 주고받는 것을 성공시키기까지 우여곡절이 많았다.


✍해결과정

  1. 문제해결을 위해 강의자료를 살펴보던 중 메일서버에 대한 그림(Email의 송수신에서 사용되는 프로토콜 에 있는 그림)을 보다가 문득 Server(b)에서 DNS를 구축할 때 vi /etc/bind/named.conf.local 에서 기존에 있었던 cs.ac.kr에 관한 zone파일을 아예 지우고 거기에 it.ac.kr에 대한 zone파일을 작성하여 문제가 발생한 것 같다는 생각을 하였다. 그래서 etc/bind/named.conf.local 에서 내용 수정을 하였다.(cs.ac.kr에 관한 zone파일과 it.ac.kr에 대한 zone파일이 둘다 있도록)
  2. Server(b)에서 nslookup으로 네임 서버를 확인했을 때 변경하기 전의 ip주소가 적혀있어서 vi /etc/resolv.conf 에서 네임 서버를 다시 변경하고
    systemctl restart bind9 을 하고 systemctl status bind9 으로 상태 확인을 하였을 때 다음과 같이 나왔다.

    🔽파란색으로 하이라이트한 부분 중 zone cs.ac.kr/IN : loaded serial 2 & zone it.ac.kr/IN : loaded serial 2 를 보고 오류없이 시스템이 잘 동작되었음을 알 수 있었다.

    🔽Server(b)에서 nslookup으로 다시 네임서버를 확인하고 mail.it.ac.kr과 mail.cs.ac.kr 각각의 메일서버를 확인하였을때 위와 같이 나왔다.
  3. Server(b)에서 네임서버를 변경한 후엔 systemctl restart sendmail 을 해주고 systemctl status sendmail 로 상태 확인도 해주었다. dovecot도 재실행 및 상태확인을 해주었다. 처음에 과제를 할때 soo가 peng에게 메일을 보내는 과정에서 문제가 발생하였고 그 과정에서 해결을 위해 sendmail 상태를 확인을 했을때는 노란색으로 오류 메시지가 나타났었는데 이번에는 그런 오류 메시지가 나타나지 않아서 문제가 해결되었음을 알 수 있었다.
  4. Server 에서도 Server(b)와 동일하게 nslookup으로 네임서버를 확인하였는데 기존의 변경하기 전 ip주소로 넘어와있어서 vi /etc/resolv.conf 에서 네임 서버를 다시 변경하였다. 네임서버 변경이 이뤄졌기 때문에 sendmail과 dovecot을 재실행 및 오류가 없는지 상태확인까지 해주었다.

    위와 같은 과정을 거친 후 evolution에서 soo가 peng에게 peng이 soo에게 메일을 보내봤는데 다행히 문제가 해결되었다.
  • 추가적으로 만약에 아래와 같은 문제가 발생한다면 네임서버가 변경하기 전 ip 주소로 넘어간 건 아닌지 확인해보는게 도움이 될 수 있을 것 같다. 나의 경우, 네임서버를 확인해봤는데 변경 전으로 돌아와있어서 다시 변경해주고 해당 환경에서 재실행이 필요한 시스템들(server-b의 경우 bind9, sendmail, dovecot / server의 경우 sendmail, dovecot)을 재실행 및 상태확인을 해준 후 evolution에 접속했더니 오류메시지가 없어져 있었고 메일 전송도 잘되었다.

참고할 만한 내용

회고

  • 플러스(+)
    : 지난 시간에 배운 DNS 네임서버와 캐싱 전용 네임서버를 이용하여 실습을 진행하여서 해당 내용을 떠올리며 복습할 수 있었다. 메일 서버라는 새로운 주제에 대한 내용들을 배우며 Server(b)에서는 DNS 서버 구축 및 메일 서버 구축을, Server에서는 메일 서버 구축을 직접 해보며 Kubuntu(client)에서는 evolution이라는 프로그램을 설치하여 이를 통해 메일 전송 및 메일 확인을 할 수 있었다. 실습과 과제를 하는 중에 어려움을 느끼기도 하고 예상치못한 많은 오류를 겪으며 멘붕이 오기도 했지만 문제를 해결해가면서 헷갈렸던 부분에 대한 개념을 확실히 할 수 있었고 같은 수업을 듣는 분들의 실습일지를 살펴보며 나와 같은 문제를 겪은 분들의 문제해결방법을 참고하였고 이는 내가 문제를 해결해나가는데 큰 도움이 되었다. (내 실습일지도 다른 누군가에게 도움이 되었으면 좋겠다:-)

  • 마이너스(-)
    : 실습과 과제를 하는 과정에서 ip주소를 적어야하는 부분이 몇몇 있었는데 처음에는 메일 서버의 전반적인 동작원리에 대해 제대로 이해하지 못해서 혼란스러웠다. 또한 과제를 할때 Server(b)에 메일서버를 추가로 구축해야 했는데 이전에 수업을 들으며 실습한 부분을 없애고 새롭게 추가하는 건지 기존 부분은 그대로 놔두고 거기에 추가를 하는건지 헷갈렸었다. 메일 서버에 대한 개념이 명확하게 잡히지 않아 발생한 문제였고 다행히 강의자료에 있는 그림과 수업시간에 필기한 내용을 반복해서 보다보니 이해하는데 도움이 되었다.

  • !!!!!
    : 메일 서버에서 POP3와 IMAP 부분을 제일 흥미롭게 들었던 것 같다. 메일전송 및 확인은 우리의 실생활에서 일어나는 일이기도 하고 스마트폰으로 메일 앱을 통해 메일을 확인 할 수 있는 것은 IMAP에 의한 것이며 컴퓨터로 메일을 확인하는 것은 POP3에 의한 것이라는 여태까지 알지 못했던 새로운 내용을 알게 되었기 때문이다. 또한 IMAP은 모든 장치에서 동일한 이메일을 확인할 수 있다는 점이 장점이기도 하지만 이는 큰 첨부파일이 있는 메일을 주고받는 경우 저장공간을 차지해 부담이 될 수 있다는 것 그래서 gmail이나 다음의 경우 첨부파일이 어떤 일정 용량 이상일 경우, 날짜제한이나 다른 방법을 제시한다는 사실을 알 수 있었다.

0개의 댓글