1667 번 글의 답장글: Re: 네임서버와 웹서버, 메일서버를 분리하려고 합니다. |
글쓴이: 산이
[홈페이지]
|
글쓴날: 2003년 09월 18일 22:50:59 목(저녁) |
조회: 1618 |
[이석준]님이 남기신 글:
>-----------------------------------------
>답변자가 기본적으로 참고할 내용입니다.
>- 배포판(옵션) : redhat 7.*
>- 커널버전(옵션)
: 2.4.20
>- 데몬버전(예:apache
1.3.27) :
>- 데몬설치유형(RPM/컴파일/기타)
:
>-----------------------------------------
>안녕하세요? 메일설정이 항상 어렵네요.
>함께 운영하던 서버를 제목처럼 네임서버, 웹서버, 메일서버로
분리했습니다. 먼저 네임서버(211.111.111.111)의
zone파일을 아래와 같이 설정하였습니다.
>
> IN NS ns1.aaa.co.kr.
> IN NS ns2.aaa.co.kr.
> IN A 211.111.111.111
> IN HINFO "x86 pentium4" "redhat
linux"
> IN MX 0 mail.aaa.co.kr.
>ns1 IN A 211.111.111.111
>ns2 IN A 211.111.111.112
>mail IN A 211.111.111.112
>www IN A 211.111.111.113
>
>그리고 /etc/hosts에 전부 등록하였구요, resolv.conf도
설정하였습니다.
>메일서버나 웹서버의 hosts파일에는 locahost만 설정되어 있구요,
resolv.conf는 네임서버와 똑같이 설정되어 있습니다.
>
>그리고 웹서비스와 pop3서비스를 위해 웹서버와 메일서버에
동시에 같은 계정을 생성하고 네임서버의 local-host-names에
수신자를 아래처럼 설정했습니다.
>
>mail.usera.co.kr
>usera.co.kr
>www.usera.co.kr
>mail.userb.co.kr
>userb.co.kr
>www.userb.co.kr
>...
>
>그런다음 웹메일을 메일서버를 통해 발송하기위해 메일서버의
access에 localhost와 웹서버의 ip(211.111.111.113)를
relay로 설정했습니다. 그런후 /makemap hash /etc/mail/access <
/etc/mail/access 했습니다.
>
>현재상태에서 웹은 잘 되구요, 외부에서 오는 메일도
메일서버에서 잘 받습니다.
>
>그런데 두가지가 문제인데요,
>
>첫째는 웹서버에서 메일을 발송하면 (php mail() 또는
커멘드라인에서
mail ~ 할때) 메일서버로 릴레이가 되서 발송되지 않고 웹서버에
현재 설치된 센드메일이 발송합니다. pstree 해보면 센드메일이
떠있지는 않는데 maillog를 보면 분명 웹서버의 센드메일이
발송했습니다. 현재 설정으로 그럴 수 밖에 없을것 같기도
한데요, 원격 smtp서버를 이용하려면 어떻게 해야
하는지요?
>
1) 커맨드라인 mail :
기본적으로 localhost 의 /usr/lib/sendmail 을 이용합니다.
맨페이지를 보았는데 원격의 SMTP 설정에 관한 내용은
없더군요.
(/etc/mail.rc)
어쩔 수 없이 localhost 의 sendmail 을 이용하는 수 밖에..
2) PHP mail() 함수
php.ini 파일에서 SMTP 설정을 원격의 메일서버로 지정해보세요.
>둘째는 현재상태(웹서버의
센드메일이 발송)에서라도 메일은 가야하는데 외부로는
가는데요 메일서버의 계정으로는 도착하질않습니다.
아래와 같은 에러가 뜹니다.
>
>먼저 웹서버에 뜨는 에러입니다.
>--------------------------------------------------------------------
>localhost sendmail[1092]: h892cVs01089: SYSERR(nobody): mail.aaa.co.kr. config
error: mail loops back to me (MX problem?)
>
>localhost sendmail[1092]: h892cVs01089: to=usera<admin@usera.co.kr>, ctladdr=nobody (99/99),
delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=30212, relay=mail.aaa.co.kr.
>
>[211.111.111.112], dsn=5.3.5, stat=Local configuration error
>localhost sendmail[1092]: h892cVs01089: h892cVr01092: DSN: Local configuration
error
>--------------------------------------------------------------------
>
mail 서버의 sendmail 에서 mail.aaa.co.kr 수신자가 없어서
이와 같이 무한 루프가 돕니다.
메일서버의 수신자 설정은 반드시 aaa.co.kr mail.aaa.co.kr
www.aaa.co.kr 등을 설정해야 합니다.
앞에서
mail.usera.co.kr
usera.co.kr
www.usera.co.kr
mail.userb.co.kr
userb.co.kr
www.userb.co.kr
이 수신자 설정을 mail 서버인 211.111.111.112 에서 설정해줘야
합니다.
(ns1 인 211.111.111.111 에서 수신자 설정을 하면 안됩니다.)
그리고 현재
각각 서버의 /etc/hosts 와 네임서버의 zone 이 서로 뒤섞인듯
하네요.
@ IN A 211.111.111.111
이 부분은
@ IN A 211.111.111.113
이렇게 웹서버쪽으로 @ 를 설정하세요.
나머지 zone 레코드를 그대로 두고,
-- /etc/mail/local-host-names ------------
## mail 서버인 211.111.111.112 에서 다음을 설정
##
mail.usera.co.kr
usera.co.kr
www.usera.co.kr
mail.userb.co.kr
userb.co.kr
www.userb.co.kr
...
-----------------------------------------------
www 서버의 /etc/mail/local-host-names 에는 localhost 만
설정합니다.
www 서버의 /etc/hosts 파일에는
localhost 하나만 있어도 되지만 네임서버를 거치지 않고
리졸빙하려면
-- www 서버의 /etc/hosts -------------------
127.0.0.1 localhost.localdomain localhost
211.111.111.113 aaa.co.kr aaa.co.kr
211.111.111.113 www.aaa.co.kr www
211.111.111.112 mail.aaa.co.kr mail
...
----------------------------------------------
이정도만 설정하면 될것 같네요.
가능한 211.111.111.112 mail.aaa.co.kr 이 설정은 해주는 것이
좋습니다.
--- www 서버의 /etc/host.conf ---------------------
order hosts,bind
...
----------------------------------------------------
이렇게 hosts 가 bind 보다 앞에 있는지 확인
bind 보다 뒤에 있으면 bind 앞쪽에 설정.
또한
--- www 서버의 /etc/nsswitch.conf --------------
...
hosts: files nisplus nis dns
...
-------------------------------------------------
이렇게 files 이 제일 앞부분으로 오도록 설정되어
있는지 확인하세요.
참고로,
mail.aaa.co.kr. config error: mail loops back to me (MX problem?)
이와 같은 에러메시지는
mail.aaa.co.kr 메일서버에서 aaa.co.kr 도메인에 대한
수신자 설정이 없기 때문에 계속 무한루프가 도는 경우입니다.
좀더 자세한 내용은
http://linuxchannel.net/docs/mx-problem.txt
위의 문서를 나중에(?) 읽어보시길 바랍니다.
>아래는 메일서버에 뜨는 에러입니다.
>--------------------------------------------------------------------
>localhost sendmail[10461]: NOQUEUE: [211.43.207.139] did not issue
MAIL/EXPN/VRFY/ETRN during connection to MTA
>--------------------------------------------------------------------
>
이 부분은 무시해도 됩니다.
>검색해보니까 비슷한 질문들이 있었던것 같기도 한데요, 잘
이해가 안되서 질문드립니다. 항상 많이 가르쳐주셔서
감사하구요, 즐거운 추석 보내세요~
========================================
|
이전글 : 네임서버와 웹서버, 메일서버를 분리하려고 합니다.
다음글 : 다 되는데 한가지가 아직 잘 안됩니다.
|
from 61.254.75.40
JS(Redhands)Board 0.4 +@
|
|