두 개의 IP 주소가 실행되고 있으며 Postfix
각각 자체 도메인이 있습니다. 즉, 외부인이 해당 도메인이 자체 IP에서 실행되고 있다고 생각하도록 도메인을 격리하거나 심지어 완전히 PTR
격리 하고 싶습니다.
myhostname
그러나 postfix에서는 옵션 IP를 구체적으로 처리 하지 않습니다 . 항상 mail.cf
파일에 설정된 기본값을 사용합니다.
설정을 시도했지만 여전히 값을 -o myhostname=abc
사용합니다 . mail.cf
그래서 내 IP가 SPAM
나열 됩니다
배너가 보기 좋게 보이 myhostname
도록 특정 IP를 설정하는 방법HELO
고쳐 쓰다:
현재 상황은 다음과 같습니다.
두 개의 IP 주소가 있고 Postfix mailserver
서로 격리된 두 개의 도메인을 호스팅하여 아무도 동일한 서버에 호스팅되어 있는지 알 수 없도록 하고 싶습니다.
abc.com 1.1.1.1 zyx.com 2.2.2.2
서버의 호스트 이름은 mail.abc.com
너무 명확해서 접미사가 다음과 같이 사용됩니다.myhostname
zyx.com
내 서버가 보내는 내용을 확인하기 위해 도메인에서 이메일을 보내면 호스트 [email protected]
에 메일 시스템이 있다는 다음과 같은 응답을 받습니다 mail.abc.com
(그래서 myhostname
변수를 사용하여 사용되는 내용에 따라 설정하고 싶습니다). 이메일 메일 IP를 보내십시오)
호스트 이름이 다르고 HELO FQDN이 다르기 때문에 CBL이 내 IP를 블랙리스트에 올릴 수 있을까 걱정됩니다.
This is the mail system at host mail.abc.com.
I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.
For further assistance, please send mail to postmaster.
If you do so, please include this problem report. You can
delete your own text from the attached returned message.
The mail system
<[email protected]>: host helocheck.abuseat.org[54.245.112.115] said:
550 *** The HELO for IP address 2.2.2.2 was 'mail.zyx.com'
(valid syntax) *** (in reply to RCPT TO command)
답변1
당신이 독특하고 싶다면 myhostname
관심을 가질 수 있습니다접미사 여러 인스턴스, 공식 문서를 참조하세요여기.
이 기능을 사용하면 각 인스턴스에 IP 주소와 myhostname
매개변수가 제공됩니다.왜냐하면 기본값 smtp_helo_name
은myhostname
, 헬리콥터 이름이 와 일치해야 합니다 myhostname
.
예를 들어, IP 주소가 192.168.1.1인 xyz.example과 IP 주소가 10.10.0.2인 abc.example이라는 두 개의 도메인이 있습니다(참조:RFC 2606 섹션 2).참고: 이 짧은 튜토리얼은 CentOS 6.5에서 수행되었습니다.
myhostname
mail.abc.example 및 10.10.0.2를 사용하도록 기본 postfix 설치를 구성합니다inet_interface
.기본 인스턴스에서 접미사 구성을 조정합니다(예: )
smtpd_*_restrictions
.도구를 사용하여 두 번째 인스턴스를 만듭니다
postmulti
.postmulti -e init
multi_instance_
그러면 구성이 삽입됩니다.main.cf
postmulti -I postfix-secondary -e create
그러면 이라는 새 인스턴스가 생성됩니다
postfix-secondary
. 새 구성 디렉터리/etc/postfix-secondary
와 스풀 및 데이터 디렉터리와 같은 다른 디렉터리가 생성됩니다 .두 번째 인스턴스는 기본 구성으로 제공됩니다. 첫 번째 인스턴스에서 구성을 복사해야 합니다. 물론 이러한 매개변수에 대해 서로 다른 매개변수 값을 설정해야 합니다.
queue_directory = /var/spool/postfix-secondary data_directory = /var/lib/postfix-secondary multi_instance_name = postfix-secondary myhostname = mail.xyz.example inet_interfaces = 192.168.1.1
multi_instance_enable = yes
이 매개변수가 보조 main.cf에 나열되어 있는지 확인하십시오.
완벽한. 여러 postfix 인스턴스를 관리하는 데 사용할 수 있는 명령에 대한 설명서를 참조하세요.
노트:
Postfix 다중 인스턴스가 귀하의 요구 사항을 충족하지 못하는 것 같습니다. 하지만,더 나은 격리 수준을 제공합니다.. 예: 위의 반송 이메일에는 여전히 mail.abc.example에 대한 추적이 포함되어 있습니다. 여러 인스턴스를 사용하는 경우 xyz 인스턴스에서 메일을 보내면 mail.xyz.example에서 반송 이메일을 받게 됩니다.
postfix는 두 인스턴스 간에 구성을 공유하지 않으므로 두 구성을 모두 유지해야 합니다.
mmv-ru가 제안한 또 다른 솔루션은 귀하가 스패머처럼 보이는 것을 방지하기에 충분합니다. 서버 FQDN은 smtp_helo_name 값과 다릅니다. smtp_helo_name에 지정된 도메인에 대한 올바른 PTR 레코드가 있는지 확인하세요. :)
답변2
-o myhostname=abc 덜 중요합니다. HELO에 영향을 미치려면 -o smtp_helo_name=abc를 재정의해야 합니다.
main.cf에 구성된 값은 복잡한 상속을 가지지만, main.cf가 로드된 경우에만 작동합니다. 나중에 일부 매개변수를 재정의하는 경우 필요한 모든 매개변수를 재정의해야 합니다.
현재는 postfix가 올바른 작업자를 통해 도메인에서 메일을 보내도록 강제하는 방법을 모르지만 가능하다고 생각합니다.
UPD.
-o smtp_helo_name= HELO FQDN을 강제합니다. 또한 서버에 대해 해당 A(도메인 영역) 및 PTR(ISP 또는 데이터 센터의 반대 영역 또는 AS가 있는 경우 자체) 레코드를 정의해야 합니다.
예: -o smtp_helo_name=mailserver.abc.com
귀하의 도메인 이름 영역 abc.com
mailserver A 203.0.113.23
ISP 영역 113.0.203.in-addr.arpa
23 PTR mailserver.abc.com
FQDN과 메일 도메인은 일치할 필요가 없으며 다를 수 있습니다. 기본, IP로 확인 가능한 HELO FQDN 및 FQDN으로 확인 가능한 IP
$ host mailserver.abc.com
mailserver.abc.com has address 203.0.113.23
$ host 203.0.113.23
23.113.0.203.in-addr.arpa domain name pointer mailserver.abc.com