먼저 웹서버에서 mail.aaa.co.kr로 보내봤는데 잘 안됩니다.
웹서버의 resolv.conf가 서버회사에서 세팅해준 네임서버로
되어있는 것을
제 네임서버(211.111.111.111)로
수정했구요 다른 부분도 말씀하신 대로 추가적인 수정을
했습니다.
현재 웹서버에서 다른곳으로는 잘보내지고 메일서버도 다른
메일은 잘 받고 있는데 아직도 웹서버에서 보내는 메일은
메일서버가 못 받습니다. 두 서버의 메일로그에 서로 상대방의
아이피가 나오기는 나오는데요, 이제 웹서버가 메일서버의
아이피를 찾기는 찾고 메일서버에도 수신자 설정이 되어 다른
곳에서 오는 메일도 잘 받는데 유독 웹서버에서 보내는 것만
아직 받질 못합니다.
아래는 웹서버의 maillog 구요,
---------------------------------------------------------------------
Sep 19 08:48:01 localhost sendmail[1518]: h8J0C1p01518: from=nobody, size=213,
class=0, nrcpts=1, msgid=<200309190012.h8J0C1p01518@localhost.localdomain>,
relay=nobody@localhost
Sep 19 08:48:01 localhost sendmail[1184]: h8INdSD01181: SYSERR(nobody):
mail.aaa.co.kr. config error: mail loops back to me (MX problem?)
Sep 19 08:48:01 localhost sendmail[1184]: h8INdSD01181: to=ㅇㅇ<admin@mail.aaa.co.kr>, ctladdr=nobody
(99/99), delay=00:00:00, xdelay=00:00:00, mailer=esmtp, pri=30208,
relay=mail.aaa.co.kr. [211.111.111.112], dsn=5.3.5, stat=Local configuration error
Sep 19 08:48:01 localhost sendmail[1184]: h8INdSD01181: h8INdSC01184: DSN: Local
configuration error
Sep 19 08:48:01 localhost sendmail[1184]: h8INdSC01184: to=root, delay=00:00:00,
xdelay=00:00:00, mailer=local, pri=30308, dsn=2.0.0, stat=Sent
---------------------------------------------------------------------
아래는 동시에 메일서버에서 나타나는 메시지 입니다.
---------------------------------------------------------------------
Sep 19 08:42:59 localhost sendmail[25283]: NOQUEUE: [211.111.111.113] did not issue
MAIL/EXPN/VRFY/ETRN during connection to MTA
---------------------------------------------------------------------
[산이]님이 남기신 글:
>
>[이석준]님이 남기신 글:
>
>>말씀하신대로
네임서버의 zone파일 부분의 A 값을 웹서버로 변경하였구요,
메일서버의 local-host-names에 수신자설정을 하고 웹서버의
hosts파일을 수정한 후 host.conf와 nsswitch.conf를 수정해
주었습니다. 현재상태에서 웹서버에서 mail()함수로 다음이나
하나포스같은 제3의 메일로 보내면 잘 가구요, 또 다음같은
곳에서 제 메일서버의 계정으로 메일을 보내도 잘 받아집니다.
문제는 웹서버에서 웹메일로 메일서버의 계정으로 발송하면
똑같은 config error가 뜨면서 발송이 안됩니다. 그리고 php.ini에서
설정하는 smtp부분에 #win32 only라고 되어있던데 이부분에 원격
ip를 설정해줘야 하는지요?
>
>
>mail() 함수에서 user@aaa.co.kr 로
하지 말고 user@mail.aaa.co.kr
>과 같이 mail 호스트 이름을 주고 테스트해 보세요.
>그러면 아마 메일서버로 잘 갈겁니다.
>
>현재 웹서버의 리졸빙 문제인것 같네요.
>
>즉 웹서버는 클라이언트 입장이 되어 리졸빙을
시도하는데
>aaa.co.kr 에 대해서 먼저 www 호스트의 /etc/hosts 파일을
뒤지기
>때문에
>
>aaa.co.kr == 211.111.111.113 == www.aaa.co.kr
>
>이런 결과가 됩니다.
>
>따라서 www 서버의 /etc/hosts 파일에서
>
>211.111.111.113 aaa.co.kr aaa.co.kr
>
>이부분을 지우든지 아니면
>
>211.111.111.112 aaa.co.kr aaa.co.kr
>
>이렇게 해도 됩니다.
>www 서버의 /etc/hosts 내용은 오직 www 서버가 클라이언트
입장에서만
>사용되기 때문에 이렇게 서로 어긋나는 경우도
가능합니다.
>
>그러나 이부분은 나중에 문제의 수지가 될 가능이
있기때문에
>역시 지우는것이 좋겠군요.
>
>아예 헷갈리면 www 의 /etc/hosts 내용은 localhost 만 놓고
>모두 지우는것이 좋겠네요..
>
>그리고,
>
>www IN A 211.111.111.113
>
>이부분을
>
>www IN A 211.111.111.113
> IN MX 0 mail.aaa.co.kr.
>
>이렇게 MX 레코드를 추가해 주는 것이 좋겠네요.
>
>그리고 반드시 www 서버의 /etc/resolv.conf 파일에서
네임서버
>지정은 211.111.111.111 이렇게 지정해줘야 합니다.
>현재 이렇게 설정되어 있죠?
>
>여기까지 해보고
>또 문제가 생기면 www 서버의 리졸빙 문제 즉 메일
경로에
>대한 문제입니다.
>
>
>/etc/mail/mailertable
>
>파일에
>
>-------------------------------------
>.aaa.co.kr smtp:mail.aaa.co.kr
>.bbb.co.kr smtp:mail.aaa.co.kr
>...
>-------------------------------------
>
>왼쪽의 aaa.co.kr bbb.co.kr 와 같은 도메인을 그
메일주소로
>사용하고, www 서버로 메일이 도착하면 www 서버의 sendmail
은
>오른쪽의 stmp: 의 서버로 모두 가라는 의미입니다.
>
>왼쪽의 도메인들은 웹서버의(아파치)
가상호스트에 설정된
>모든 도메인들을 의미하므로 모두 적어줘야합니다.
>
>(kr smtp 사이는 탭으로 공간을 띠움)
>
>
>이렇게 설정하고
>
># makemap hash /etc/mailertable < /etc/mailertable
>
>이렇게 DBM 파일을 만들어 주면 됩니다.
>
>....
>
>이렇게 mailertable 까지 설정해주지 않아도 잘 분리가
되는데
>좀 이상하군요..(아무래도
리졸빙문인것 같네요)
>
>만약 도메인 레벨이 아닌 user 레벌에서 포워딩하고자
한다면
>/etc/aliases 나 /etc/mail/virtusertable 을 이용하면 됩니다.
>
>여기까지 해보고 다시 포스팅하세요.
>
>특히 제일처음에 언급한 mail() 함수로 user@mail.aaa.co.kr
>로 테스트해 보고 그래도 이상있다면 mail 서버와 www
서버의
>maillog 를 포스팅하세요(해당부분만)
>
>
>
>
>
>
>
>>
>>[산이]님이 남기신 글:
>>
>>>
>>>[이석준]님이
남기신 글:
>>>
>>>>-----------------------------------------
>>>>답변자가 기본적으로 참고할 내용입니다.
>>>>- 배포판(옵션) : 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
>>>>--------------------------------------------------------------------
>>>>
>>>
>>>이 부분은 무시해도 됩니다.
>>>
>>>
>>>>검색해보니까
비슷한 질문들이 있었던것 같기도 한데요, 잘 이해가 안되서
질문드립니다. 항상 많이 가르쳐주셔서 감사하구요, 즐거운
추석 보내세요~
>>>
>>>========================================
>>
>>========================================
>
>========================================
========================================
|