Mail Server 구축
[Mail Server 구축]
> 메일 송신 서버: SMTP(sendmail): 25번 포트 사용
> 메일 수신 서버: POP3:(110번 포트 사용), IMAP(dovecot) :(143번 포트 사용)
<Naver>메일서버 -50 번 서버에 구축
01. 관련 파일 설정
> 메일 도메인 추가(mail.naver.co.kr)
> /etc/hosts
192.168.10.50 mail.naver.co.kr
> /etc/hostnamed
mail.naver.co.kr
> /etc/sysconfig/network
hostname=mail.naver.co.kr
>etc/mail/local-host-names
mail.naver.co.kr
02. DNS 설정/도메인 등록
>naver.co.kr,daum.co.kr., google.co.kr, facebook.co.kr
03. 메일서버 /클라이언트 설치
#yum -y install sendmail* <---보내는 메일 서버
#yum -y install dovecot*<--받는 메일 서버
04. 메일 서버 설정
>환경 설정 파일: /etc/mail/sendmail.cf
[root@mail mail]# vi local-host-names
mail.naver.co.kr
[root@mail mail]# vi sendmail.cf
85 Cwnaver.co.kr
268 O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA
268 O DaemonPortOptions=Port=smtp, Name=MTA <---Addr = 127.0.0.1 삭제
> /etc/mail/access
[root@mail mail]# vi access
192.168.10 RELAY
naver.co.kr RELAY
dauhttp://m.co.kr RELAY
google.co.kr RELAY
facebook.co.kr RELAY
해쉬변경 access를 access.db로 바꿔줌
# makemap hash access < access
> /etc/dovecot/dovecot.
24, 30, 33 행 주석 해제
> vi /etc/dovecot/conf.d/10-mail.conf
25행 주석 해제
121 mail_access_groups = mail <-- 주석 해제 후 mail그룹 추가
166라인 주석 해제
> vi /etc/dovecot/conf.d/10-ssl.conf
8 ssl = required --> 8 ssl = yes
--------------------------------------------
[메일 보내기/받기]
[메일 포워딩] - 재전송
> /etc/aliases
user1 : user10,user11 <--.user1에게 보낸 메일이 user10,11으로 포워딩
>메일 삭제
#cat /dev/null > /var/spool/mail/user1
----실습---------
01. 관련 파일 설정
[root@localhost ~]# cd /etc
[root@localhost etc]# vi hosts
192.168.10.50 mail.naver.co.kr
[root@localhost etc]# vi hostname
mail.naver.co.kr
[root@localhost etc]# cd sysconfig/
[root@localhost sysconfig]# vi network
hostname = mail.naver.co.kr
[root@localhost sysconfig]# reboot
root -> mail 로 바뀌어있다
[방화벽 해제]
[root@mail ~]# systemctl stop firewalld
[root@mail ~]# setenforce 0
[root@mail ~]# grubby --update-kernel ALL --args --selinux=0
02. DNS 설정/도메인 등록
02_1[DNS등록]
vi /etc/name.conf
192.168.10.50
02_2[도메인등록]
zone "naver.co.kr" IN {
type master;
file "naver.co.kr.zone";
allow-update { none; };
};
zone "dauhttp://m.co.kr" IN {
type master;
file "dauhttp://m.co.kr.zone";
allow-update { none; };
};
zone "google.co.kr" IN {
type master;
file "google.co.kr.zone";
allow-update { none; };
};
zone "facebook.co.kr" IN {
type master;
file "facebook.co.kr.zone";
allow-update { none; };
};
[root@mail named]# cp owncloud.co.kr.zone naver.co.kr.zone
[root@mail named]# cp owncloud.co.kr.zone daum.co.kr.zone
[root@mail named]# cp owncloud.co.kr.zone google.co.kr.zone
[root@mail named]# cp owncloud.co.kr.zone facebook.co.kr.zone
[root@mail named]# vi naver.co.kr.zone
[root@mail named]# vi daum.co.kr.zone
[root@mail named]# vi dau m.co.kr.zone
[root@mail named]# vi google.co.kr.zone
[root@mail named]# vi facebook.co.kr.zone
[root@mail etc]# host naver.co.kr
naver.co.kr has address 192.168.10.50
naver.co.kr mail is handled by 10 mail.naver.co.kr.
[root@mail etc]# host dauhttp://m.co.kr
dauhttp://m.co.kr has address 192.168.10.100
dauhttp://m.co.kr mail is handled by 10 mail.dauhttp://m.co.kr.
[root@mail etc]# host google.co.kr
google.co.kr has address 192.168.10.150
google.co.kr mail is handled by 10 mail.google.co.kr.
[root@mail etc]# host facebook.co.kr
facebook.co.kr has address 192.168.10.200
facebook.co.kr mail is handled by 10 mail.facebook.co.kr.
03. 메일서버 /클라이언트 설치
[root@mail etc]# yum -y install sendmail* <--보내는 메일 서버
[root@mail etc]# yum -y install dovecot* <-- 받는 메일 서버
04. 메일 서버 설정
>환경 설정 파일: /etc/mail/sendmail.cf
>환경 설정 파일: /etc/mail/access
[root@mail etc]# cd mail
[root@mail mail]# pwd
etc/mail
[root@mail mail]# ll
-rw-r--r--. 1 root root 576 4월 7 16:48 access
-rw-r-----. 1 root root 12288 4월 7 16:49 access.db
-rw-r--r--. 1 root root 64 11월 5 11:57 local-host-names
-rw-r--r--. 1 root root 59964 11월 5 11:59 sendmail.cf
[root@mail mail]# vi local-host-names
mail.naver.co.kr
[root@mail mail]# vi sendmail.cf
85 Cwnaver.co.kr
외부 접근 가능하도록 해주는 두가지 방법
268 O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA
268 O DaemonPortOptions=Port=smtp, Name=MTA <---Addr = 127.0.0.1 삭제
[root@mail mail]# vi /etc/resolv.conf
192.168.10.50 으로 되어있는지 확인
두번째 환경 설정 파일 access 파일
[root@mail mail]# vi access
192.168.10 RELAY
naver.co.kr RELAY
dauhttp://m.co.kr RELAY
google.co.kr RELAY
facebook.co.kr RELAY
[해쉬변경 access를 access.db로 바꿔줌] <-- 서버가 읽기 쉽게.
[root@mail mail]# makemap hash access < access
-rw-r--r--. 1 root root 576 4월 7 16:48 access
-rw-r-----. 1 root root 12288 4월 7 16:49 access.db
vi access 파일과 vi access.db를 비교해보자
받는
> /etc/dovecot/dovecot.conf
[root@mail conf.d]# vi 10-mail.conf
[root@mail conf.d]# vi 10-ssl.conf
[root@mail conf.d]# cd
[root@mail ~]# systemctl restart sendmail
[root@mail ~]# systemctl restart dovecot
[root@mail ~]#
[user 생성]
[root@mail ~]# useradd naver
[root@mail ~]# passwd naver
[메일보내기]
[root@mail ~]# mail naver@naver.co.kr
내용 입력하고 ctrl D 하면 보내진다.
[메일 도착 확인하기]
[root@mail named]# cd /var/mail/
[root@mail mail]# ll
[root@mail mail]#
[root@mail mail]# ll
합계 4
-rw-rw----. 1 naver mail 1389 4월 7 17:15 naver
-rw-rw----. 1 test mail 0 3월 16 16:40 test
[메일 내용 확인하기] _cat
[root@mail mail]# cat naver
[메일 포워딩]
[메일 포워딩] _[.forward 파일에 계정 추가하여 메일 포워딩]
받은 메일 전송
root --> user 1 --> user2
user 1, 2, 3 생성하기
root --> user1
user1 --> user2
[root@mail home]# cd user1
[root@mail user1]# pwd
/home/user1
[root@mail user1]# ll
합계 0
[root@mail user1]# vi .forward <--.forward 폴더 생성
[root@mail user1]# systemctl restart sendmail
[root@mail user1]# systemctl restart dovecot
[root@mail user1]#
[root@mail user1]# mail user1@naver.co.kr
cat user2를 하면
user 1에게 전송한것이 user2에게 도착
[user1에게 전송한 것이 user3에게 도착하도록 하기]
[user1에게 전송한 것이 user3에게 도착하도록 하기] -실습
[root@mail user1]# vi .forward
[root@mail user2]# vi .forward
[root@mail user2]# mail user1@naver.co.kr
[root@mail mail]# pwd
/var/mail
[user1에게 보낸 메일이 user3에게 도착]
[내용확인] cat
[메일 삭제]
[root@mail mail]# pwd
/var/mail
[root@mail mail]# cat /dev/null > /var/spool/mail/user3
[root@mail mail]# cat /dev/null > /var/spool/mail/user1
[root@mail mail]# cat /dev/null > /var/spool/mail/user2
[root@mail mail]# ll
합계 4
-rw-rw----. 1 naver mail 2088 4월 7 17:21 naver
-rw-rw----. 1 test mail 0 3월 16 16:40 test
-rw-rw----. 1 user1 mail 0 4월 7 17:47 user1
-rw-rw----. 1 user2 mail 0 4월 7 17:47 user2
-rw-rw----. 1 user3 mail 0 4월 7 17:47 user3
[여러명에게 보내기]
[root@mail user2]# vi .forward
[test에게 보내면 test에게만 간다]
[user1에게 보낸것이 test에게 전달되도록]
[root@mail user1]# vi .forward
[root@mail user2]# vi .forward
[root@mail user3]# vi .forward
[root@mail mail]# cat test
[저장해둔 포워드 파일 삭제] - 헷갈리지 않으려교 삭제한것임
[root@mail mail]# cd ..
[root@mail var]# cd /home
[root@mail home]# cd user1
[root@mail user1]# rm -rf .forward
[root@mail user1]# cd ..
[root@mail home]# cd user2
[root@mail user2]# rm -rf .forward
[root@mail user2]# cd ..
[root@mail home]# cd user3
[root@mail user3]# rm -rf .forward
[메일 포워딩] _[시스템 내부적으로 메일 포워딩 <-- 계정 추가 없이!!]
[root@mail etc]# vi aliases
user1으로 보내면 user10, user11에게 가도록 해주기
[root@mail etc]# systemctl restart sendmail
[root@mail etc]# systemctl restart dovecot