[2024.09.01]
[Mail Server]
01. 관련 파일 설정
> /etc/hosts <-- mail.google.co.kr
> /etc/hostname <-- mail.google.co.kr
> /etc/sysconfig/network <-- hostname=mail.google.co.kr
실습을 진행하기에 앞서 항상 프로그램을 실행 후 방화벽을 중지시킨다
50번 서버에서의 dns 서버 주소도 50번 서버로 설정되어 있는지 확인한다
각각 호스트로 입력 시 입력한 IP 값이 나와야 되는 것도 확인해 준다
그런 다음 etc 디렉터리로 가서 hosts 파일에 IP 주소와 google.co.kr 도메인을 넣어 준다
hostname 파일에도 도메인을 입력하고 저장한다
마지막으로 /etc/sysconfig 디렉터리의 network 파일에서도
호스트 이름=도메인 주소 형식으로 기입한 후 저장한다
세 개의 파일을 만들었다면 리부팅 시도 후 호스트 네임이 mail로 변경되어 있어야 된다
02. 패키지 설치
# dnf -y install sendmail*
# dnf -y install dovecot*
03. 환경 설정
> /etc/mail/sendmail.cf
85 Cwgoogle.co.kr <-- 도메인 추가
패키지를 설치했다면 해당 디렉터리가 생성되기 때문에 /etc/mail 디렉터리로 가서
sendmail.cf 파일을 연다
열게 되면 왼쪽과 같은 화면이 나타나게 되는데,
이 부분에서 85번 라인을 google.co.kr로 변경시킨다
리부팅을 시도했기 때문에 다시 방화벽을 중지시키고 named를 활성화시킨다
dns 서버 주소 확인과 호스트 확인 시 google.co.kr의 IP 주소가 알맞게 지정되어 있는지 확인한다
04. 받는 메일 서버 환경 설정
> /etc/dovecot/dovecot.conf
24, 30, 33 <-- 주석(#) 해제
> /etc/dovecot/conf.d/10-mail.conf <-- 50번 서버에서 설정
30 mail_location = mail:~/mail:INBOX=/var/spool/mail/%u:INDEX=MEMORY
> /etc/dovecot/conf.d/10-mail.conf <-- 100번 서버에서 설정
30 mail_location = mbox:~/mail:INBOX=/var/spool/mail/%u:INDEX=MEMORY
다음으로 받는 메일 서버 환경 설정까지 해야 되기 때문에 /etc/dovecot 디렉터리로 들어간다
그런 다음 먼저 dovecot.conf 환경 설정 파일을 열어 준다
여기에서는 24, 30, 33 라인의 주석(#)을 해제시킨다
두 번째로 /etc/dovecot/conf.d 디렉터리로 들어간 다음
10-mail.conf라는 또 다른 설정 파일로 들어간다
여기에서는 받는 메일 서버 지정을 해 줘야 되기 때문에 화면과 같이 입력해 주면 된다
*이 부분에서 복사+붙여넣기 시 실행되지 않을 수 있어 꼭 직접 타이핑을 시도해야 된다
05. DNS 서버 설정
> /var/named/google.co.kr.zone
IN MX 10 mail.google.co.kr.
IN A 192.168.217.50
mail IN A 192.168.217.50
dns 서버 설정을 위해 /var/named 디렉터리의 google.co.kr.zone 파일에서 화면과 같이 추가 입력을 한다
zone 파일을 수정하고 호스트 확인 시 아래에 google.co.kr에 대한 설정한 부분이 나타난다
100번 서버에서도 sendmail과 dovecot을 설치해 주고,
/etc/mail/sendmail.cf 경로의 파일에서 facebook.co.kr을 입력해 준다
마찬가지로 dovecot.conf 파일에서는 24, 30, 33 라인을 주석(#) 해제시킨다
conf.d 디렉터리로 넘어가서 10-mail.conf 파일에서도 메일을 주고받기 위해 설정을 진행한다
이때, 50번 서버는 mail이지만 중심이 되는 50번을 제외한 나머지는 mbox로 입력한다
100번 서버의 dns 서버 IP도 50번 서버로 지정한다
처음에 진행했던 경로로 hosts, hostname, network 파일에 저장한 다음
100번 서버에서도 facebook.co.kr의 도메인이 100번 IP 값을 가지고 있는지 확인한다
50번 서버로 넘어가서 facebook.co.kr.zone 파일에도 추가 입력을 진행한다
50번과 100번 서버에서 sendmail, dovecot, named를 활성화시키고
50번 서버에서 facebook 확인 시에도 google과 똑같이 facebook을 설정한 값이 나오는지 확인한다
100번 서버에서도 방화벽 중지 및 sendmail과 dovecot을 중지시켜 주고
호스트로 확인 시 50번 서버와 동일하게 나와야 된다
100번 서버에서 mail 클라이언트를 설치한다
facebook이라는 사용자를 생성한다
메일을 보내려고 시도하기 위해 내용을 입력하고 Ctrl+d로 빠져나온다
현재 페이스북에서 페이스북으로 보냈기 때문에 메일이 전송되는 것만 확인하면 된다
[외부 메일 서버와 메일 주고받기]
01. 환경 설정 파일
> /etc/mail/sendmail.cf
268 O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA
> /etc/mail/access
# makemap hash access < access
127.0.0.1의 부분을 0.0.0.0으로 변경하는 방법과
Addr 항목을 전체 삭제시키는 방법으로 두 가지 방법이 존재한다
현재는 0.0.0.0으로 변경하는 방법을 택하여 진행했다
다음은 /etc/mail 디렉터리의 access 파일에서 왼쪽과 같은 화면에서
해당 줄을 복사하여 오른쪽과 같이 도메인과 IP 주소를 입력한다
그런 다음 aceess 파일을 makeup hash 명령어를 이용해 현재 시간으로 변경시킨다
100번 서버에서도 동일한 과정을 진행한 후에
각각 50번과 100번 서버에서 named, sendmail, dovecot을 활성화시킨다
50번 서버에서도 google이라는 사용자를 생성하고
100번 서버에서 google.co.kr로 메일을 보낸다
50번 서버에서 확인 시 100번 페이스북에서 구글로 보내 온 메일이 존재하며 내용도 일치한다
이번에는 50번 서버에서 100번 서버인 facebook으로 메일을 보내 본다
마찬가지로 100번 서버의 facebook에서도 메일 받는 것을 성공했다
150번 서버의 환경 설정을 마친 후 호스트 확인과 다음과 네이버 사용자도 만들어 준다
150번 서버의 naver에서 50번 서버의 google로 메일을 보낸다
50번 서버로 넘어가서 확인 시 정상적으로 메일이 확인되는 걸 볼 수 있다
반대로 50번 서버에서 150번 서버로 메일을 보내는 것도 가능한 걸 확인해 봤다
정상적으로 송수신이 되지 않는다면 리부팅을 시도해 보는 것도 좋다
다음에서 페이스북으로 메일 보내기도 성공했다
물론 네이버와 다음 둘 다 받는 것도 가능하다
현재의 화면에서는 페이스북에서 네이버로 메일 보내는 것을 성공한 화면이다
다음도 마찬가지로 구글에서 메일 받는 것을 성공했다
현재 구글, 페이스북, 네이버, 다음 네 개의 서버에서 메일 주고받기가 가능한 환경이 만들어졌다
강의 소감
오늘은 메일 서버에 관련된 내용의 실습을 진행했다
중간에 환경 설정 파일에서 복사, 붙여넣기로 진행하여 실행되지 않는 오류를 겪었다
이 오류로 인해 환경 설정 파일은 직접 입력해야 되는 걸 깨달았다
마지막까지도 되지 않던 게 환경 설정 파일에서 수정 후 바로 해결되었다
이러한 실습 과정을 통해 문제 해결 능력도 늘고 있는 것 같다
'리눅스 마스터' 카테고리의 다른 글
리눅스 마스터 24 (3) | 2024.09.13 |
---|---|
리눅스 마스터 23 (1) | 2024.09.13 |
리눅스 마스터 21 (0) | 2024.09.01 |
리눅스 마스터 20 (2) | 2024.08.31 |
리눅스 마스터 19 (0) | 2024.08.27 |