DNS & Mail Server Build Study

깊이있는 삽질 Ubuntu Korea Community Wiki
이동: 둘러보기, 검색

개요[편집]

  • DNS 및 메일서버 구축 실습을 통해 네트워크 기본 다지기.

내용[편집]

참여자[편집]

1. Preparing, 20. May[편집]

준비[편집]

  • 준비물 체크 및 구입방법 설명
  • OS 설치 방법 등
  • 참가자 닉네임 혹은 이름 등록, 출석체크에는 이니셜로 표기.
  • 역할 분담(위키러, 포토그래퍼 등)
  • GitHub 이용 방법 설명

참석자[편집]

  • Drake

연관 강의[편집]

2. What is DNS?, 3. June[편집]

출석체크[편집]

  • Drake
  • Junshoong
  • SuYoung

DNS란 무엇인가?[편집]

  • Domain Name Server
  • Domain을 IP로 전환해주는 서버
  • KT DNS : 168.126.63.1
  • Google DNS : 8.8.8.8

DNS의 작동 원리[편집]

  • 대부분 BIND 서버를 사용한다.
  • 만약 endic.naver.com 에 접속을 하면 naver.com을 kt의 서버로 보낸다.
  • 그럼 그에 대한 ip를 브라우저로 주고, endic에 대한 정보를 naver의 서버로 보낸다.
  • 그럼 그에 대한 ip를 다시 브라우저로 받아온다.
  • 참고 페이지 : Nameserver Howto

연관 강의[편집]

3. Build DNS with Bind 9, 10. June[편집]

출석체크[편집]

  • Drake
  • Junshoong

Bind란 무엇인가?[편집]

DNS 서버에서 많이 사용하는 프로그램. 설정 파일에 IP와 Domain을 적어서 연결해준다.

Bind 구축 방법[편집]

연관 강의[편집]

4. Mail Server, 17. June[편집]

출석체크[편집]

  • Drake
  • SuYoung

Mail Server의 작동 원리[편집]

  • 메일을 받을때

인터넷을 통해서 메일을 받으면 도메인을 기준으로 서버를 찾는다. 그럼 서버에 있는 SMTP를 통해서 LDA로 전송하고 해당 계정으로 보내준다. 그럼 POP3나 IMAP을 통해 클라이언트로 전송해줄수 있다.

  • 메일을 보낼때

서버에서 SMTP를 통해서 인터넷으로 메일을 보낸다. (LDA를 거치지 않는다.)


  • SMTP(Simple Mail Transfer Protocol) - postfix / sendmail이 있음
  • LDA(Local Delivery Agent) - dovecot / qmail이 있음
  • POP3 - 가지고 있는 내용을 전송하고 그 내용을 지움
  • IMAP - 보통은 이걸로 전송을 함
  • 웹메일 클라이언트 - roundcube / squirrel mail

Dns.jpg

연관 강의[편집]

5. SMTP: Mail Server Installation, 24. June[편집]

출석체크[편집]

  • SuYoung
  • Drake
  • Junshoong

SMTP: Postfix[편집]

  • 메일 서버 구축
  1. Postfix(MTA) 설치
    $ sudo apt install postfix
    설치시에 나오는 설정화면에서는 Internet Site 선택, domain은 그대로두고 진행
    $ cd /etc/postfix
    이 디렉터리에서 main.cf 파일에 설정내용이 담겨 있음
    myhostname = example.com - 메일의 송신 도메인
    mydestination = $myhostname, localhost - 메일의 수신 도메인
  2. mailutils 설치
    $ sudo apt install mailutils
    $ mail <user@example.com>
    내용 작성후 Ctrl+D를 누르면 메일 발송
  3. Dovecot(LDA) 설치
    $ sudo apt install dovecot-core dovecot-imapd dovecot-pop3d
  4. PHP 설치
    sudo apt install phpmyadmin
    여기서 php를 설치하기 전에 RDBMS를 먼저 설치해준다.(mysql 등)
  5. RoundCude 설치
    https://roundcube.net/download/ 에서 Complete 패키지를 받아서 압축을 풀어준다.
    $ tar xvf roundcubemail-<version>-complete.tar.gz
    $ sudo mv ./roundcubemail-<version> /var/www/html/mail
    본인의 도메인(http://example.com/mail/installer)에 접속해서 설치를 진행한다.
  6. MySQL 설정
    루트 권한으로 들어가서 create user <사용자명>@localhost identified by <비밀번호>;로 새로운 사용자를 만들고, grant all on roundcubemail.* to roundcube@localhost;로 권한을 설정한다.
    MYSQL을 mysql -u <사용자명> -p로 접속을 하고, create database roundcubemail로 데이터를 만든다.
  7. PHP 및 DNS 설정
    vi /var/www/html/mail/config.inc.php에 홈페이지 상에서 준 php 코드를 복사 붙여넣기를 한다. 그리고 가지고 있는 도메인사이트에 접속해서 mail 도메인과 연결한다.
  8. 권한 부여
    터미널 상에서 chmod 777 temp chmod 777 logs로 권한을 준다
  9. 메일 계정 만들기
    sudo adduser <계정명>로 계정을 만들고, 상세정보는 엔터를 쳐서 default 속성으로 설정해도 된다. 그리고 sudo adduser <계정명> mail로 해당 사용자를 mail 그룹에 추가한다.
  10. 포트 설정
    25 SMTP, 80 HTTP, 22 SSH포트를 열어준다.
  11. Open SSL(Secured Socket Layer) Server 인증서 받기

연관 강의[편집]

6. Secured Server, 01. July[편집]

출석체크[편집]

  • Drake
  • SuYoung

http/https[편집]

  • http, https의 차이
포트번호 기술 난이도
http 80 비적용 단순
https 443 SSL(인증서) 복잡
  • https 구축
  1. 웹서버 Private Key 확인
  2. 인증기관 Public Key 확인

인증서 받기[편집]

  • 포트설정 : 443 열기
  • 인증서 사이트
  1. https://www.startcomca.com/
  2. https://certbot.eff.org/

연관 강의[편집]

7. Secured Mail, 08. July[편집]

출석체크[편집]

  • SuYoung
  • Drake
  • Junshoong

SSL, TLS, OpenSSL[편집]

  • TLS(Transport Layer Security) : 전송 계층 보안
  • SSL(Secure Sockets Layer) : 보안 소켓 레이어
  • OpenSSL : 네트워크를 통한 데이터 통신에 쓰이는 프로토콜인 TLS와 SSL의 오픈 소스 구현판

SMTPS, IMAPS, POP3S[편집]

연관 강의[편집]

Next Study[편집]