localhosts.localdomain과 localhost, 127.0.0.1의 RELAY 설정까지는 기본적으로 설정되어 있는 것이다. 그다음에 나오는 203.241.205.94 ~ 95 까지의 설정은 제가 설정해 준 것인데 설정의 의미는 IP주소 203.241.205.94 ~ 95를 RELAY 허용한다는 의미이다. 이 설정은 아이피 주소 203.241.205.94 ~ 95에서 루트맨의 sendmail을 이용해 메일을 보내는 것을 허락하기 위해 설정해 놓은 것이다. access 파일의 설정 형식은 다음과 같다.
[ 호스트 ] [ 접근 제어 옵션 ]
[ 호스트 ]에는 IP주소와 도메인, e-mail 주소를 설정할 수 있다. 단, 도메인을 설정할 경우 reverse mapping이 가능한 도메인을 설정해 줘야 된다. 각 호스트에 설정할 수 있는 [ 접근 제어 옵션 ]은 RELAY 설정 이외에도 아래와 같은 설정을 할 수 있다. |
저같이 복잡한걸 싫어하시는 분들이 위의 옵션들을 보고 분명 이런말을 할 것이다. "뭐야! 그냥 간단하게 허락하고 거부하면 되지 뭐가 저렇게 복잡해" 라고 분명히 말할 것이다. 하지만 짜증내지 마시길... 이런 복잡한걸 단순히 생각하게 만드는 것이 나의 몫이 아닌가!!..... 짜증나게 위의 옵션을 계속 읽어 보면서 루트맨 욕하지 마시고 지금부터 설명하는 것만 제대로 읽으시면 됩니다. 위의 설정들은 간단히 두 종류로 나눌 수 있다. RELAY를 허용하느냐, 또는 거부하는냐...(간단해 지는것 같나요?) 그럼 RELAY를 허용하는것과 RELAY를 거부하는 것으로 나눠 보도록 하겠다.
RELAY 허락 : OK, RELAY RELAY 거부 : REJECT, DISCARD, "[오류번호] [문자열]"
먼저 RELAY를 허락하는 경우부터 살펴 보겠다. RELAY를 허락하는 설정은 'OK' 와 'RELAY' 이 두 설정을 사용하면 되는데 'OK'는 약간 무대포 같은 성격을 지니고 있다. 무대포. 아지죠!! 영화 "넘버3"에 나오는 송강호의 무대포 정신.. 'OK'로 설정되어 있는 것을 무조건 RELAY를 허용한다고 생각하면 된다. 다른 설정은 신경쓰지 않고 무조건 RELAY... 그럼 어떤 경우에 'OK'를 설정해서 무대포 설정을 사용해야 되는지 살펴 보자. 다음은 access파일 설정 예이다. [root@rootman mail]# cat access # localhost에 대한 RELAY 설정 localhost.localdomain RELAY localhost RELAY 127.0.0.1 RELAY # 여기부터 추가적인 설정 rootman.org REJECT rootman@linux.rootman.org OK purmae@linux.rootman.org OK
위의 설정에 대한 설명을 하기 전에 잠깐 짚고 넘어가야 될 부분이 있다. access파일의 [호스트] 설정에는 도메인, IP주소, 사용자가 포함된 도메인 또는 IP주소를 설정할 수 있다. 위의 설정중에 rootman@linux.rootman.org는 메일 주소로 생각하지 말고 linux.rootman.org 시스템의 사용자 rootman에 대한 설정이라고 이해하는 것이 바른 이해다. 잘못 이해하면 안되요.. 다시 본론으로 들어가서 "OK" 옵션에 대해 설명하겠다. 추가 설정 부분의 첫행에 linux.rootman.org에 "REJECT" 옵션이 설정되어 있고 그 다음 두줄에서 rootman@linux.rootman.org 와 purame@linux.rootman.org가 "OK" 설정되어 있다. 이 설정들이 뜻하는 것은 linux.rootman.org에 대해 RELAY를 허용 하지 않지만 예외적으로 rootman.org의 사용자 rootman과 purmae만 RELAY를 허락한다는 의미이다.
마지막으로 RELAY를 거부하는 옵션들에 대해서 설명하겠다. 사실 저는 RELAY를 거부하는 설정중에 REJECT 말고는 사용하는 것이 없다. 구차하게 여러 설정을 하는 것을 별로 안 좋아 하기 때문에.. 게을러서 그런가.. ^^;; 사실 sendmail의 현재 버젼에서는 기본적으로 localhost에서만 RELAY를 허용하기 때문에 REJECT와 같은 RELAY 거부를 설정할 일이 없다. 어차피 RELAY를 허용하지 않은 호스트는 거부 되기 때문에.. 그냥. 어떤것인지만 알고 넘어 가도록 하자. 이것 또한 access 파일의 설정예를 보면서 이해하도록 하자. 하기 싫음 말고.. [root@rootman mail]# cat access # localhost에 대한 RELAY 설정 localhost.localdomain RELAY localhost RELAY 127.0.0.1 RELAY # 여기부터 추가적인 설정 linux.rootman.org REJECT linux.rootman.org "501 Oh.. No.. linux.rootman.org" linux.rootman.org "571 You are spammer.. "
간단하게 설정해 놓았다. 위의 RELAY 거부에 대한 설정은 중복되는 설정들이다. 그냥 설명을 위해서 임의로 설정한 것이다. REJECT는 이제 설명 안해도 알 것이라고 믿고 오류번호와 오류 문자열을 설정한 것만 설명할께요.. linux.rootman.org에 대해 "501 Oh.. No.. linux.rootman.org"이라고 설정한 부분의 501의 위의 옵션 설명을 읽어 보시고 뒤의 문자열들은 설정하고 싶은 문자열을 설정하면 된다. 단 오류 숫자에 따라서 거부하는 방법이 조금씩 다르다. " " 안에 오류 번호를 설정하지 않으면 기본적으로 오류 번호 550으로 설정된다.
주의사항: access 파일을 수정한 후 반드시 다음과 같이 makemap을 실행해서 갱신해 줘야 된다. [root@rootman root]# makemap hash /etc/mail/access < /etc/mail/access
이것으로 access 파일 강좌는 끝.. !!!!! |