2 つのサーバー (1 つは Web 用、もう 1 つはメール用) の DNS を正しく構成するにはどうすればよいですか?

2 つのサーバー (1 つは Web 用、もう 1 つはメール用) の DNS を正しく構成するにはどうすればよいですか?

メール サーバーには を使用しますiredmail。次の設定のメール サーバーがあります:

# /etc/hostname
mail

# /etc/hosts
127.0.1.1 mail.mydomain.com mail
127.0.0.1 localhost

したがって、FQDN は ですmail.mydomain.com

ここ使用した例を見つけましたが、これらの例ではサーバーは電子メールを送信できましたが、受信できませんでした。

Type     Name                Value                                  TTL
A         @                  195.201.40.1                           1 hour  # Web server
A         mail               195.201.40.2                           1 hour  # Mail server
MX        @                  mail.mydomain.com (Priority: 10)       1 hour
TXT       @                  v=spf1 ip4:195.201.40.2 -all           1 hour
TXT       @                  v=DMARC1; p=reject; sp=reject;...      1 hour
TXT       _adsp._domainkey   dkim=all
TXT       dkim._domainkey    v=DKIM1; k=rsa; p=MIGfMA0GCSq...

その後、私は変更しました:

MX        @   mail.mydomain.com (Priority: 10)  1 hour

MX        mail    mail.mydomain.com (Priority: 10)  1 hour

メールサーバーがメールの受信を開始しました。

質問は 2 つあります。

1) 私の理解では、外部のメール サービス (gmail など) は、私のメール アドレスが のように見え、 のように見えないため、mydomain.comではなく にメールを送信します。に変更すると、メールの受信問題が解決するのはなぜですか?mail.mydomain.com[email protected][email protected]@mail

私は記録をMX @ mail.mydomain.com次のように理解しています: 「外部メールサービス、メールを送信する場合[メールアドレス](@ = mydomain.com) として、FQDN mail.mydomain.com のサーバーにメールを送信する」というロジックが機能していないようです。なぜでしょうか?

ここホスト名は異なる FQDN で指定できることがわかります@。なぜ私の場合は機能しないのでしょうか?

2) TXT レコードの場合、どのような名前を指定すればよいですか?@またはmail、ドメイン名またはホスト名ですか? の場合mail、メール サーバーが 10 台ある場合、それらすべてに対して独自の TXT レコードを作成する必要があるということですか?

答え1

DNS レコードをバインド形式に変換しました。エントリを変更する場合を除き、エントリの TTL を指定する必要はありません。

SPF レコードを最も単純な形式に変換しました。レコードAのルールはmailSPF チェック用です-helo。ルールはサブドメインwwwからメールを送信しないことを示します。www

ドメインのエントリとサブドメインが続きます。(MX レコードの末尾のドットに注意してください。ドットがない場合は、 を使用してくださいmail)。

 @       IN  A    195.201.40.1
         IN  MX   mail.mydomain.com.
         IN  TXT  "v=spf1 mx -all"

標準サービス メールおよび www (一部のブラウザでは、エントリに www が指定されていなくても www を試します)。

 mail    IN  A    195.201.40.2 
         IN  TXT  "v=spf1 a -all"
 www     IN  A    195.201.40.1 
         IN  TXT  "v=spf1 -all"

レポート機能付き DMARC の構成。レポートで問題がないことが示されるまでは、ポリシーは使用しないでください。まずはポリシーとしてrejectから始めるとよいでしょう。none

 _dmarc  IN  TXT  "v=DMARC1; p=reject; sp=reject;..."
 *._report.dmarc  IN TXT "v=DMARC1"

DKIM の設定。_adspこれはもう標準化されていないようです。dkim署名時に使用するキー名に置き換えてください。

 _adsp._domainkey IN  TXT dkim=all
 dkim._domainkey  IN  TXT  v=DKIM1; k=rsa; p=MIGfMA0GCSq...

答え2

1) メールは、メールアドレスのホスト名部分のMXレコードで指定されたホスト名に送信されます。たとえば、[メールアドレス]、次のことが起こります:

設定された MX レコードの 1 つが gmail.com 用に取得されます。

# dig mx gmail.com +short | head -n 1
5 gmail-smtp-in.l.google.com.

電子メールは対応するメールサーバーの IP アドレスに配信されます:

# dig gmail-smtp-in.l.google.com +short
173.194.221.27

あなたの場合、初期設定は問題ないように見えるため、問題がどのように解決されたかは不明です。パブリック DNS を使用して、ドメイン名を担当する MX サーバーとそれが参照する IP アドレスを確認してください。

# dig mx mydomain.com @8.8.8.8 +short
mail.mydomain.com
# dig mail.mydomain.com @8.8.8.8 +short

2) mail.SPF レコードにはドメイン名 (部分なし) を指定する必要があります。DKIM および DMARC の場合、ドメイン名 (部分なし) にプレフィックスも追加する必要がありますmail.。例:

TXT       _dmarc             v=DMARC1; p=reject; sp=reject;...
TXT       dkim._domainkey    v=DKIM1; k=rsa; p=MIGfMA0GCSq...

関連情報