20 Linux fedora Server 리눅스 왕초보 실무를 익혀라! 김영훈ㆍ정거룡 지음 리눅스 서버 Chapter 08 324 page

메일 서버

8.1 서비스의 구성 요소

8.2 메일 서버 구축 05 8.1 Email 서비스의 구성 요소

• mail 서비스 관련 프로토콜 – SMTP(Simple Mail Transfer Protocol) • 인터넷 상에서 전자 메일을 전송할 때 쓰이는 표준 프로토콜

– POP3(Post Office Protocol 3) • 메일서버로 수신된 메일을 사용자 자신의 PC 즉 메일 client 프로그램으로 다운 로드해주는 프로토콜

– IMAP(Internet Messaging Access Protocol) • POP3와 마찬가지로 메일을 사용자가 볼 수 있도록 해주는 프로토콜 • 서버에 메일 박스를 둘 수 있어서 메일을 사용자의 client로 다운로드 하지 않더라도 서버에서 메일 관리 가능

3 05 8.1 Email 서비스의 구성 요소

• mail 서비스 관련 프로그램 – MTA (Mail Transfer Agent) • SMTP 프로토콜을 이용하여 client에서 server로 메일 메시지 전송 • sendmail 등 – MUA (Mail User Agent) • 사용자PC(client)에서 메일을 보내고 받을 때 이용 • 윈도우의 아웃룩, Fedora Linux의 에볼루션 등 – MDA (Mail Delivery Agent) • 메일서버(MTA)에 도착한 메일을 사용자 메일박스(Mail Box)로 저장 • /bin/mail (mailx), procmail 등 – MRA (Mail Retrieval Agent) • 사용자 메일박스에서 Client프로그램(아웃룩 등)으로 메일을 받아오는 역할 • , , retchmail, dovecot 등

4 05 8.1 Email 서비스의 구성 요소

• 메일 송수신 과정

5 05 8.2 메일 서버 구축

• <실습 8-1> Fedora 20 서버 설치 – GUI 환경에서 메일서버를 설치 할 것이며 “Minimal Install” 모드 에서 실습을 원하는 경우 교재 324 ~367페이지 참조

6 05 8.2 메일 서버 구축

• 실습환경 예시 1

7 05 8.2 메일 서버 구축

• 실습환경 예시 2

8 05 8.2 메일 서버 구축

• 실습환경 예시 3

9 05 8.2 메일 서버 구축

• 실습환경 예시 4

1 0 05 8.2 메일 서버 구축

• <실습 8-2> yhkim.com DNS 서버 설치 – “실습환경 예시 4” 에서 구축(가상컴퓨터 램 용량을 적절히 조절) – DNS/MAIL Server 1 • yhkim.com 도메인 설정 – DNS/MAIL Server 2 • yh.com 도메인 설정

11 05 8.2 메일 서버 구축

• yhkim.com DNS 구축 – yum list bind – yum -y install bind.i686 – vi /etc/named.conf • listen-on port 53 { any; }; • allow-query { any; };

• recursion no;

• zone “yhkim.com” IN { – type master; – file “yhkim.com.zone”; – allow-update {none;}; • };

12 05 8.2 메일 서버 구축

• cd /var/named/ • ls • cp named.empty yhkim.com.zone • vi yhkim.com.zone – $TTL 3H – @ IN SOA @ root. ( – 0 ; serial – 1D ; refresh – 1H ; retry – 1W ; expire – 3H ) ; minimum – NS @ – A 192.168.0.50 – MX 10 mail.yhkim.com. – AAAA ::1

– mail A 192.168.0.50

13 05 8.2 메일 서버 구축

• 명령어실행 – chgrp named yhkim.com.zone

– named-checkconf /etc/named.conf – named-checkzone yhkim.com /var/named/yhkim.com.zone

– systemctl start named.service – netstat -ln | grep 53

– firewall-cmd --permanent --zone=public --add-port=53/tcp – firewall-cmd --permanent --zone=public --add-port=53/udp – firewall-cmd --reload

14 05 8.2 메일 서버 구축

• <실습 8-3>yhkim.com메일서버(sendmail/dovecot) 설치 – mail server 구축1 • sendmail 설치(메일 보내기) • yum list sendmail* • yum -y install sendmail sendmail-cf

15 05 8.2 메일 서버 구축

• vi /etc/mail/sendmail.mc 편집 – 118 DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl 을 DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl 로 변경 • 로컬 127.0.0.1에서만 smtp 사용 가능하도록 되어 있는 설정을 누구나 사용가능 하도 록 변경

16 05 8.2 메일 서버 구축

• m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf – 설정 값 적용

• vi /etc/mail/sendmail.cf – 적용 확인

17 05 8.2 메일 서버 구축

• vi /etc/mail/sendmail.cf – 89행 “Cwlocalhost” 을 “Cwyhkim.com” 로 변경 • 해당 도메인네임(yhkim.com)으로 변경

18 05 8.2 메일 서버 구축

• vi /etc/mail/access – Connect:yhkim.com RELAY • yhkim.com 도메인의 릴레이 허용 – Connect:mail.yhkim.com RELAY • mail.yhkim.com 도메인의 릴레이 허용 – Connect:yh.com RELAY • yh.com 도메인의 릴레이 허용 – Connect:mail.yh.com RELAY • mail.yh.com 도메인의 릴레이 허용 – Connect:192.168.0 RELAY • 192.168.0 대역 릴레이 허용

19 05 8.2 메일 서버 구축

• 명령어 실행 – makemap hash /etc/mail/access < /etc/mail/access • access 적용

– systemctl start sendmail.service

– firewall-cmd --permanent --zone=public --add-port=25/tcp – firewall-cmd --reload

20 05 8.2 메일 서버 구축

• dovecot(보안이 강화된 IMAP / POP3 server) 설치 – 메일 받기 – yum list dovecot – yum -y install dovecot

21 05 8.2 메일 서버 구축

• dovecot 환경설정 – /etc/dovecot/dovecot.conf 에서 /etc/dovecot/conf.d/ 내에 있는 환경 설정 파일들 include

22 05 8.2 메일 서버 구축

• vi /etc/dovecot/dovecot.conf – protocols = imap pop3 lmtp • 24행 주석 제거

– listen = * • 30행 주석 및 “: :” 제거 • “: : “는 IP V6용도

– base_dir = /var/run/dovecot/ • 33행 주석 제거

23 05 8.2 메일 서버 구축

• vi /etc/dovecot/dovecot.conf 환경설정

24 05 8.2 메일 서버 구축

• vi /etc/dovecot/conf.d/10-auth.conf 설정 – 10행의 내용을 아래와 같이 수정

25 05 8.2 메일 서버 구축

• “disable_plaintext_auth = yes” 로 하는 경우 – ssl을 이용한 암호화 통신 – 클라이언트에서 pop3 접속 시 995 port 설정

26 05 8.2 메일 서버 구축

• vi /etc/dovecot/conf.d/10-ssl.conf 설정 – 8행을 “#ssl = required” 와 같이 주석 처리함 • vi /etc/dovecot/conf.d/10-mail.conf 설정 – 25행의 주석 제거 및 메일박스 위치 지정 • %u는 유저네임(사용자 ID) • “/var/mail/yhkim”과 같은 형식으로 생성

27 05 8.2 메일 서버 구축

• vi /etc/dovecot/conf.d/10-mail.conf 설정 – 119행 주석 제거 – 메일에 접속하는 그룹 권한 설정

28 05 8.2 메일 서버 구축

• vi /etc/mail/local-host-names 설정 – 메일서버의 도메인 등록 – mail.yhkim.com

• vi /etc/sysconfig/network 설정 – 메일서버 호스트네임 설정 – HOSTNAME=mail.yhkim.com

29 05 8.2 메일 서버 구축

• vi /etc/hostname 설정 – mail.yhkim.com 로 입력

• IP 주소 설정 – GUI 환경에서 IP 변경(교재 178페이지 참조) – DNS 주소는 직접 설치한 DNS서버IP 2개 와 KT DNS 입력

30 05 8.2 메일 서버 구축

• DNS 주소 설정 – 각자의 IP 환경에 따라 DNS 주소 설정 – 3번째는 KT DNS주소 입력

31 05 8.2 메일 서버 구축

• 변경된 ip 적용 – [root@localhost named]# ifconfig eth0 down – [root@localhost named]# ifconfig eth0 up

32 05 8.2 메일 서버 구축

• ping 테스트 – mail.yhkim.com , mail.yh.com 도메인에 대한 응답 테스트 – ping mail.yhkim.com (성공) – ping mail.yh.com (실패)

33 05 8.2 메일 서버 구축

• 메일 서비스 실행 및 방화벽 설정

– systemctl restart sendmail.service – systemctl start dovecot.service

– firewall-cmd --permanent --zone=public --add-port=110/tcp – firewall-cmd --permanent --zone=public --add-port=143/tcp – firewall-cmd --permanent --zone=public --add-port=993/tcp – firewall-cmd --permanent --zone=public --add-port=995/tcp – firewall-cmd –reload

34 05 8.2 메일 서버 구축

• 메일 사용자 계정 생성 – useradd yhkim – passwd yhkim

35 05 8.2 메일 서버 구축

• 메일 확인 – telnet mail.yhkim.com 110 – user yhkim : ID 입력 – pass 1234 : 비밀번호 입력 – list : 메시지 목록 확인

36 05 8.2 메일 서버 구축

• <실습 8-4> yhkim.com 메일 클라이언트 설치 – 사용자 A DNS 설정 • TCP/IPv4 속성 에서 “고급” 클릭 • 직접 설치한 DNS 서버 주소 2개 입력하고 3번째 DNS주소로 KT DNS 추가

37 05 8.2 메일 서버 구축

• “Windows Live 메일” 실행 – win7 기본메일 클라이언트 프로그램

• “Windows Live 메일” 없는 경우 다운로드 – http://windows.microsoft.com/ko-kr/windows-live/essentials

38 05 8.2 메일 서버 구축

• 계정 추가 – “계정 탭” -> “메일” 실행

39 05 8.2 메일 서버 구축

• 메일주소, 암호, 표시 이름 설정

40 05 8.2 메일 서버 구축

• 보내는 서버 정보와 받는 서버 정보 설정

41 05 8.2 메일 서버 구축

• 계정 추가 완료

42 05 8.2 메일 서버 구축

• “홈 탭” -> “메일메시지” 실행

43 05 8.2 메일 서버 구축

• 메일송신 테스트 – 자신에게 메일전송

44 05 8.2 메일 서버 구축

• 메일수신 – 보내기/받기 아이콘 클릭 – 수신된 메일 확인

45 05 8.2 메일 서버 구축

• 보낸 편지함 확인

46 05 8.2 메일 서버 구축

• telnet으로 메일 목록 확인

47 05 8.2 메일 서버 구축

• <실습 8-5> yh.com 메일서버 구축하기 – yum -y install bind.i686

– vi /etc/named.conf • 11행 listen-on port 53 { any; }; • 17행 allow-query { any; };

• 29행 recursion no;

• 하단에 추가 • zone “yh.com” IN { • type master; • file “yh.com.zone”; • allow-update {none;}; • };

48 05 8.2 메일 서버 구축

• cd /var/named/ • ls • cp named.empty yh.com.zone

• vi yh.com.zone – $TTL 3H – @ IN SOA @ root. ( – 0 ; serial – 1D ; refresh – 1H ; retry – 1W ; expire – 3H ) ; minimum – NS @ – A 192.168.0.100 – MX 10 mail.yh.com. – AAAA ::1

– mail A 192.168.0.100

49 05 8.2 메일 서버 구축

• 명령어 실행 – chgrp named yh.com.zone

– named-checkconf /etc/named.conf – named-checkzone yh.com /var/named/yh.com.zone

– systemctl start named.service – netstat -ln | grep 53

– firewall-cmd --permanent --zone=public --add-port=53/tcp – firewall-cmd --permanent --zone=public --add-port=53/udp – firewall-cmd --reload

50 05 8.2 메일 서버 구축

• yh.com sendmail 설치 – yum list sendmail* – yum -y install sendmail sendmail-cf

– vi /etc/mail/sendmail.mc • 118행 DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

– m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

– vi /etc/mail/sendmail.cf • 89행 Cwyh.com

51 05 8.2 메일 서버 구축

• vi /etc/mail/access – Connect:yhkim.com RELAY – Connect:mail.yhkim.com RELAY – Connect:yh.com RELAY – Connect:mail.yh.com RELAY – Connect:192.168.0 RELAY

• makemap hash /etc/mail/access < /etc/mail/access

• systemctl start sendmail.service

• firewall-cmd --permanent --zone=public --add-port=25/tcp • firewall-cmd --reload

52 05 8.2 메일 서버 구축

• yh.com dovecot 설치 – yum -y install dovecot • vi /etc/dovecot/dovecot.conf – 24행 protocols = imap pop3 lmtp – 30행 listen = * – 33행 base_dir = /var/run/dovecot/

• vi /etc/dovecot/conf.d/10-auth.conf – 10행 disable_plaintext_auth = no

• vi /etc/dovecot/conf.d/10-ssl.conf – 8행 #ssl = required

53 05 8.2 메일 서버 구축

• vi /etc/dovecot/conf.d/10-mail.conf – 25행 mail_location = mbox:~/mail:INBOX=/var/mail/%u – 119행 mail_access_groups = mail

• vi /etc/mail/local-host-names – mail.yh.com

• vi /etc/sysconfig/network – HOSTNAME=mail.yh.com

• vi /etc/hostname – mail.yh.com

54 05 8.2 메일 서버 구축

• IP 주소 설정 – GUI 환경에서 IP 변경(교재 178페이지 참조) – DNS 주소는 직접 설치한 DNS서버IP 2개 와 KT DNS 입력

• ping mail.yh.com • ping mail.yhkim.com

• systemctl restart sendmail.service • systemctl start dovecot.service

• firewall-cmd --permanent --zone=public --add-port=110/tcp • firewall-cmd --permanent --zone=public --add-port=143/tcp • firewall-cmd --permanent --zone=public --add-port=993/tcp • firewall-cmd --permanent --zone=public --add-port=995/tcp • firewall-cmd --reload

55 05 8.2 메일 서버 구축

• useradd yh • passwd yh – 1234 – 1234 • telnet mail.yh.com 110 – user yh – pass 1234 – list

56 05 8.2 메일 서버 구축

• 사용자 B (Fedora 20) 에볼루션 설치 – IP 주소 설정 • GUI 환경에서 IP 변경(교재 178페이지 참조) • DNS 주소는 직접 설치한 DNS서버IP 2개 와 KT DNS 입력

– ping 테스트 • ping mail.yh.com • ping mail.yhkim.com

57 05 8.2 메일 서버 구축

• 메일 클라이언트 프로그램(MUA) 에볼루션 실행

58 05 8.2 메일 서버 구축

• 계정 도우미

59 05 8.2 메일 서버 구축

• 백업에서 복구

60 05 8.2 메일 서버 구축

• 이름과 메일 주소 등록 – [email protected]

61 05 8.2 메일 서버 구축

• 메일 받기 IMAP으로 설정

62 05 8.2 메일 서버 구축

• IMAP 옵션

63 05 8.2 메일 서버 구축

• SMTP서버 지정 – mail.yh.com

64 05 8.2 메일 서버 구축

• 설정 내용 확인

65 05 8.2 메일 서버 구축

• 계정설정 완료

66 05 8.2 메일 서버 구축

• 메일 인증

67 05 8.2 메일 서버 구축

• 메일 작성

68 05 8.2 메일 서버 구축

• 자신에게 메일 송신

69 05 8.2 메일 서버 구축

• 보내기 / 받기 실행 – 수신된 메일확인

70 05 8.2 메일 서버 구축

• 메일 송수신 테스트 – [email protected] 에서 [email protected] 로 전송

71 05 8.2 메일 서버 구축

• yh에서 수신확인

72 05 8.2 메일 서버 구축

[email protected] 에서 [email protected] 로 발송

73 05 8.2 메일 서버 구축

• yhkim에서 수신확인

74 05 8.2 메일 서버 구축

• [실습 과제] – naver, daum, nate, gmail 등과 같이 웹(web)상에서 메일을 주고 받을 수 있도록 메일 서비스와 웹(web)서비스를 연동한 웹메일 을 설치하여 본다. • 참고 : http://roundcube.net/

75