리눅스 특강 & 리눅스

리눅스 메일서버 구성

gandus 2011. 5. 16. 09:59

1.Cyrus-sasl (SMTP 인증 데몬)

-설치


rpm -qa | grep cyrus-sasl

이렇게 안나오면

yum -y install cyrus-sasl


Cyrus-sasl 설정


cd /usr/lib/sasl2

vi Sendmail.conf (S가 대문자임)

이렇게 되어있는지 확인하고 안되어있으면 수정


service saslauthd start

실패뜨면 restart 로 하시면 됩니다.


2.sendmail 설치


rpm -qa | grep sendmail

2개가 없으면


yum -y install sendmail

yum -y install sendmail-cf


로 설치






Sendmail 설정


cd /etc/mail

vi sendmail.mc


vi 에디터에서


:set nu

를 치면 줄번호가 왼쪽에 붙게 됩니다.


:52 (smtp 인증 메커니즘 설정 부분)

을 치면 52번째 줄로 가게되는데

52,53 줄에 앞의 dnl 두 개 삭제(주석 제거)

만약 해당 내용이 없으면 /TRUST_AUTH_MECH (검색하는 방법) 을 입력


:116(smtp 포트접속 제한 범위 설정)

Addr=0.0.0.0으로 고침


m4 sendmail.mc > sendmail.cf


하면 sendmail.mc를 참고하여 sendmail.cf를 생성한다


service sendmail restart


인증된거 확인하기

파란색은 명령어 치는 부분이고 빨간색 부분이 나오면 제대로 한거임...



sendmail.cf설정


vi sendmail.cf

로 들어가서

/Cw

를 치면


#Cwlocalhost 부분이 나온다

 이렇게 고침 -> Cw3cpc.net


/etc/mail/local-host-names 파일 설정


vi local-host-names

mail.3cpc.net 

daum.net

추가


/etc/mail/access 파일 설정

MAIL RELAY: 다른 네트워크 또는 호스트에서 자신의 메일서버에 경유해서 메일 전송하는 것


vi access

Connect:daum.net      RELAY

Connect:3cpc.net       RELAY

Connect:222.104.154.   RELAY


위의 내용 추가

daum.net 도메인과 222.104.154.xxx 의 릴레이 허용


makemap hash access < access  (access.db 파일(sendmail이 이걸보고 참조)을 만듬)

를 입력하고

strings access.db

를 입력해서

해당 내용이 반영되었는지 확인 해보긔


service sendmail restart

mail계정 생성하기


usradd [id] -M -s /bin/false


-M = 홈디렉토리를 만들지 않는다

-s = 셀지정 한다

/bin/false = 실제로는 존재하지않는 셀 설정 방법


passwd [id]

로 비번변경


service sendmail restart



dovecot 설치


rpm -qa | grep dovecot

없으면


yum -y install dovecot


/etc/dovecot.conf  설정하기

vi /etc/dovecot.conf

  

마침 적절한게 있어서 붙여넣기 신공!


service dovecot start




방화벽 열어주기


vi /etc/sysconfig/iptables


에서


추가합니다.


/etc/rc.d/init.d/iptables restart

만약에 안되면(DNS 조에서 뭔가 안된다고 한듯?)

숫자만 바꾸면 될듯? ㅋㅋ


zone 파일에 메일서버 부분 추가

# vi /var/named/3cpc.net.zone

                    IN MX 10         mail.3cpc.net. (net 다음의 . 은 반드시 필요) (3번째줄에 추가)

mail                IN A              (자기 IP 주소)  (맨 마지막에 추가)


service named restart