Sun Java System Messaging Server 6.3 관리 설명서

19.2 작동 원리

MeterMaid의 구성은 msg.conf에 저장되며 configutil에서 유지 관리됩니다.

MTA에서 check_metermaid.so를 사용하면 매핑 테이블 콜아웃을 통해 MeterMaid에 액세스할 수 있습니다. 이 기능은 어느 *_ACCESS 테이블에서나 호출할 수 있습니다. PORT_ACCESS 테이블에서 호출한 경우에는 연결의 IP 주소를 기반으로 제한을 확인하는 데에 사용할 수 있습니다. 이 방법은 오래된 conn_throttle.so를 대체하여 MeterMaid를 구현하는 경우에 가장 흔히 사용되는 방법입니다. 다른 *_ACCESS 테이블에서 호출하는 경우 MeterMaid는 봉투 발신 또는 봉투 수신 주소와 IP 주소 등의 다른 데이터를 제한하는 데에도 사용할 수 있습니다.

check_metermaid.so에는 시작점이 하나만 정의됩니다. throttle 루틴에서는 MeterMaid에 연결하고 쉼표로 구분된 두 후속 인수를 제공합니다. 첫 인수는 데이터 검사 기준으로 사용할 테이블의 이름이며, 둘째 인수는 검사할 데이터입니다.

검사 결과 확인된 특정 데이터가 해당 테이블에서 할당량을 초과한 것이 밝혀지면 check_metermaid.so에서 매핑 엔진이 입력을 계속 처리할 수 있도록 "success"를 반환합니다. 그 후에 항목의 나머지 부분을 사용하여 할당량을 초과한 이 연결을 처리합니다.


PORT_ACCESS

  *|*|*|*|* $C$|INTERNAL_IP;$3|$Y$E
  *|*|*|*|* $C$:A$[/opt/SUNWmsgsr/lib/check_metermaid.so,throttle,tablename,$3]$N421$ \
Connection$ declined$ at$ this$ time$E
  *          $YEXTERNAL

매핑 테이블 항목에서 check_metermaid.so 호출 앞에 있는 $:A 플래그 테스트에 주의하십시오. 디스패처에서 검사에 A 플래그를 설정하면서 PORT_ACCESS를 확인할 때 MeterMaid 검사만 수행하기 위한 것입니다.