서버 운영/Linux

리눅스 sendmail(샌드 메일) 설치 및 설정 파일들

meong_j 2021. 10. 24. 17:30
728x90
반응형

샌드메일(sendmail)

리눅스에서 SMTP 프로토콜을 이용해 다른 메일 서버로 전달하는 프로그램으로, 보통의 리눅스 메일 서버 프로그램을 지칭한다.

sendmail 프로그램을 설치하고 설정해보도록 하자.

 

sendmail 설치 확인

  • sendmail이 설치되어 있는지 확인하고, 설치파일이 없으면 sendmail 를 설치한다.

 

sendmail 설치하기

  • yum 패키지로 sendmail에 관한 모든 패키지를 한번에 설치한다.

 

 

sendmail 설정 파일

1. /etc/mail/sendmail.cf

  •  sendmail 관련 설정 파일들은 모두 /etc/mail 밑에 생성되어 있으며, 그 중 가장 중요한 주 설정 파일이 sendmail.cf 이다.

 

Cw 호스트를 지정한다.
Fw 도메인마다 별도의 파일을 지정한다.
Dj 특정 도메인으로 강제로 연결시킨다.
Kvirtuser virtusertable 관련 설정
Kaccess access 관련 설정
O AliasFile aliases 관련 설정
O ForwardPath forward 관련 설정
# vi /etc/mail/sendmail.cf
Djihd.co.kr // 발신 도메인을 무조건 ihd.co.kr로 설정한다.

 

2. /etc/mail/sendmail.mc

  • sendmail 매크로 설정 파일이다.
  • sendmail.cf 파일을 복원하거나 덮어씌울때 사용한다.
  • m4라는 매크로 프로세서로 새롭게 생성 가능하다.
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

 

3. /etc/mail/local-host-names

# vi /etc/mail/local-host-names
ihd.or.kr // 메일 서버에 사용하는 도메인인 ihd.or.kr로 설정한다.
  • 메일 서버에 사용되는 도메인을 입력하는 파일이다.
  • 한 줄에 한 도메인을 입력한다.

 

4. /etc/mail/access

# vi /etc/mail/access
From:spam.com     REJECT   // 발신지 도메인이 spam.com으로부터 오는 메일을 거부한다.
  • 메일 서버로 접근하는 메일 접근 제어하는 파일이다.
  • 메일 서버 접근 호스트나 도메인을 제어한다.

 

Connect : 접속하는 클라이언트 주소, 이름
From : 메일 보낸 주소
To : 메일 보낼 주소
RELAY : 접근 허용
REJECT : 메일 거부, 거부 메시지 출력
DISCARD : 메일 거부, 메시지 없음
OK : DNS 미 조회시에도 메일 허가
# makemap hash /etc/mai/access < /etc/mail/access
  • 해당 access 접근 파일을 적용시킨다.

 

5. /etc/aliases

  • 특정 계정으로 들어오는 메일을 다른 계정으로 전송되도록 설정하는 파일이다.

 

# vi /etc/aliases
webmaster : lin joon // webmaster 계정으로 들어오는 메일을 lin과 joon에게 전달되도록 설정한다.
admin::include:/etc/mail_admin  // admin 계정으로 들어오는 메일은 /etc/mail_admin 파일에 지정된 사용자들에게 전달하도록 한다.

 

# newaliases 
혹은
# sendmail -bi
  • /etc/aliases 파일의 설정이 적용되도록 해당 명령어로 실행한다.

 

6. /etc/mail/virtusertable

# vi /etc/mail/virtusertable

// linux.or.kr 계정과 windows.co.kr 계정 모두 ceo라는 메일 계정을 요구하여
// linux.or.kr의 ceo 계정은 lin으로 포워딩하고
// windows.co.kr의 ceo 계정은 joon으로 포워딩 시킨다.
ceo@linux.or.kr   lin
ceo@windows.co.kr  joon

  • 하나의 메일 서버에 여러 도메인을 사용하는 환경에서 동일한 계정을 사용할 때 각 각의 도메인을 연결시키는 설정 파일이다.

 

# makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
  •  /etc/mail/virtusertable 파일을 적용시키기 위한 명령을 실행한다.

 

 

*하나의 메일 서버에 여러 도메인을 사용하는 환경에서 동일한 메일 계정 요구하여 설정하는 과정*

가. linux.com 도메인의 webmaster 계정은 ihduser에게 전달되도록 설정하고, windows.com 도메인의 webmaster 계정은 kaituser에게 전달되도록 설정한다.
# vi /etc/mail/virtusertable
webmaster@linux.com     ihduser
webmaster@linux.com     kaituser

나. 수정된 내용을 반영하는 makemap 명령어를 기술한다.
# makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable
반응형