메일서버 설치 sendmail source install

2010.05.12 02:33

조인상 조회 수:8949

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++


1. 먼저 소스를 구한다. 공식사이트는 ftp.sendmail.org 이다.

# ftp ftp.sendmail.org


2. 소스를 받았다면 적당한 디렉토리를 만들어 압축해제 한다.

# mkdir /usr/local/src
# cp sendmail-8.9.11.tar.gz /usr/local/src
# cd /usr/local/src
# gzip -d sendmail-8.9.11.tar.gz
# tar xvf sendmail-8.9.11.tar


3. 압축해제 후 해당디렉토리에 가서 아래 명령어를 실행

# cd <압축해제후 생성된 디렉토리>
# sh Build


4. sendmail 실행파일 복사

# sh Build 명령실행후에는 각 운영체제별로 새로운 디렉토리가 생기는데
솔라리스의 경우

obj.SunOS.5.7.sun4/

와 같은 디렉토리가 생긴다.

# cd obj.SunOS.5.7.sun4 이동 후
# cd sendmail
# cp sendmail /usr/sbin/sendmail

# chmod 4555 /usr/sbin/sendmail
# chown root:bin /usr/sbin/sendmail


5. 설정파일 생성

다시 처음 압축해제한 디렉토리로 이동
# cd /usr/local/src/sendmail-8.9.11

# cd cf/cf 이동 후

# m4 ../m4/cf.m4 generic-solaris.mc > /etc/mail/sendmail.cf
# m4 ../m4/cf.m4 submit.mc > /etc/mail/submit.cf



6. 설정파일 편집

# vi /etc/mail/sendmail.cf

서버상태에 맞게 적절하게 설정한다.



7. 테스트

# /usr/sbin/sendmail -bd -q1h &

-bd : 백그라운드(b) 데몬(d) 으로 실행
-q1h : 큐(q)에 저장시간 = 1시간(1h)

# ps -ef | grep sendmail 로 확인 후


# telnet loghost 25 질의시에 센드메일 버전을 출력하면
성공이다.



8. 서드파티 릴레이 테스트

# telnet loghost 25
Trying xxx.xxx.xxx.xxx...
Connected to ns.
Escape character is '^]'.
220 buyebs.com ESMTP Sendmail 8.9.2/8.9.2; Tue, 15 Apr 2003 15:04:49 +0900 (KST)

helo yahoo.com
250 sdflkjf.com Hello ns [xxx.xxx.xxx.xxx], pleased to meet you
mail from : chosim2@yahoo.com
250 chosim2@yahoo.com... Sender ok
rcpt to : webmaster@ischo.net
250 webmaster@ischo.net... Recipient ok

위와 같은 경우 릴레이 허가가 되어있는 상태이다.

/etc/mail/access 와 /etc/mail/relay-domain을 수정하여 릴레이
허가상태를 제거한 후 다시 시도.

# telnet loghost 25
Trying xxx.xxx.xxx.xxx...
220 buyebs.com ESMTP Sendmail 8.9.2/8.9.2; Tue, 15 Apr 2003 15:09:45 +0900 (KST)
helo yahoo.com
250 dsfljksdlfkj.com Hello [xxx.xxx.xxx.xxx], pleased to meet you
mail from : chosim2@yahoo.com
250 chosim2@yahoo.com... Sender ok
rcpt to : webmaster@ischo.net
550 webmaster@ischo.net... Relaying denied

위와같이 Relaying denied 가 나와야 한다.


오픈릴레이 정책으로 메일서버를 운영하면 엄청난 수의 스팸메일이
이 메일서버를 통해 발송되므로 몇기가 단위의 수많은 큐파일 때문에
시스템이 엄청나게 느려지기도 하며
(# rm -rf * 명령으로도 삭제조차 불가능하다.)
RSS 에서 오픈릴레이서버로 등록되어 심한경우 아이피 차단까지
당할 수 있으므로 오픈릴레이는 주의하여 설정해야 한다.
번호 제목 글쓴이 날짜 조회 수
공지 [공지] 게시자료 열람자유. 불펌금지입니다. 조인상 2010.12.07 22452
93 Solaris Common Error Messages ischo 2010.11.11 51698
92 SUN ILOM 2.0 기능 및 설명 file 조인상 2010.05.24 35234
91 솔라리스 보안취약점 보완을 위한 정책강화 방법 조인상 2010.05.27 32152
90 Solaris 10 Network - IP구성 및 network restart 조인상 2013.04.09 29161
89 CDE (Common Desktop Environment)에 대해서 조인상 2010.08.17 27314
88 솔라리스10에서 tcp_wrapper 사용하기/설정 조인상 2010.05.12 23236
87 NIC 속도 확인방법 조인상 2010.05.12 22889
86 FTP 관련 포트 정리 file 조인상 2010.05.12 22505
85 Sun/Qlogic HBA WWN 알아보는법 조인상 2010.05.12 21401
84 telnet 접속시 No utmpx entry. You must exec "login" from the lowes 조인상 2010.05.12 20362
83 솔라리스8 ssh 설치 조인상 2010.05.12 20203
82 How to D-trace file 조인상 2010.12.22 19953
81 솔라리스 10 접속서비스 설정 (telnet ftp ssh) 조인상 2010.05.12 19703
80 SUN 용 시리얼케이블 제작법 file 조인상 2010.05.12 19417
79 Oracle Solaris 11 OE 설치 가이드 file 조인상 2011.12.15 19351
78 [ksh] 여러개의 프로세스 kill 시키는 스크립트 조인상 2010.05.12 19225
77 tape 인식이 안될때 재인식시키는 방법 조인상 2010.05.12 18419
76 UTP 케이블. 다이렉트/크로스 제작방법 조인상 2010.05.12 18351
75 Maximum number of Process 값 확인 방법 조인상 2010.06.25 18294
74 C++ 테스트 코드 조인상 2010.05.12 17627
서버에 요청 중입니다. 잠시만 기다려 주십시오...