最初のメールは返送され、2回目以降のメールは返送されます。

最初のメールは返送され、2回目以降のメールは返送されます。
550 relay not permitted

これは、私のDebianノートブックからExim4から送信されたEメールが返送されたときに表示されるエラーメッセージです。

奇妙なことに、最初の電子メールだけが返されます。 2回目以降の電子メールはリレーを通過し、問題なく宛先に到達します。ただし、ノートブックを再起動すると、再起動後に最初の電子メールが返送されます。

ポート587では、STARTTLS以降のリレーはプレーンテキストパスワードで保護されます。 X.509 証明書はヘビ油ではなく実際の証明書です。私は中継サーバーとラップトップを管理しています。重要な場合は、リレーサーバーもDebianでExim4を実行しています。 Postfixは関係ありません。

起動するたびにダミーの電子メール(または単にSMTP EHLO?)を送信するようにラップトップを設定すると、問題が解決する可能性があると思いましたが、解決された動作は奇妙に見えます。混乱しています。この問題を解決するために次に調査する必要があることをご存知でしたら、アドバイスをいただけますか?

ベストアンサー1

電子メールのタイムアウトは、デーモンが最初にIPv6を試みるために発生する可能性があります。

IPv6プロトコルスタックの実装基本的にIPv4スタックの優先順位を指定するため、プログラム/デーモンが通信を試みるときにターゲットにパブリックIPv4アドレスとIPv6アドレスの両方がある場合は、最初にIPv6アドレスを使用しようとします。

パブリックIPv6がなくても、IPv6ローカルホストとリンクローカルアドレスがあります。

今回が初めてではありませんたぶん前回ではないかもしれません。時間が経つと、私はインターネットデーモンが最初にリンクローカルアドレスを送信元IPアドレスとして使用して他のアドレスと通信しようとし、タイムアウト後にのみ割り当てられた時間/試行が残っている場合はデータ転送に戻ることができることを発見しました。 IPv4 宛先として。 (このため、過去に運営していたISPでDNSや電子メールの問題を経験したことがあります。)

disable_ipv6=trueしたがって、eximの場合は、非分割または分割構成スキームを使用するかどうか、またはディレクティブを使用してアプリケーション/デーモンレベルでIPv6を無効にすることができます。/etc/exim4/exim4.conf.template/etc/exim4/update-exim4.conf.conf

~からEximインターネットメーラー - 第14章 - 主な構成

無効_ipv6目的:mainタイプ:ブール値デフォルト:false
このオプションがtrueに設定されている場合、EximバイナリがIPv6をサポートしてもIPv6アクティビティは発生しません。 AAAAレコードは照会されず、local_interfacesにリストされているすべてのIPv6アドレス、手動でルーティングされたルーターデータなどは無視されます。 IPリテラルが有効になっていると、IPリテラルルータはIPv6リテラルアドレスの処理を拒否します。

別のアプローチは、IPv4 アドレスにのみバインドすることです。欠点は、設定でIPv4アドレスをハードコードする必要があることです。:

local_interfaces = <; 127.0.0.1 ; \
                  192.168.23.65

システム自体はIPv6を積極的に使用しないため、次のようになります。

ファイルの最後の行に追加され、デフォルトではIPv4に優先順位が付けられます。/etc/gai.conf

precedence ::ffff:0:0/96  100 

デフォルトでは、IPv6スタックを無効にするために追加されました/etc/sysctl.conf(カーネル3からサポートされている設定)。

net.ipv6.conf.all.disable_ipv6=1

sysctlは起動時に適用されます。始める前に 有効にするには:

sudo sysctl -p

これをIPv6ディセーブルと呼んでも、モジュールはロードされ続け、インターフェイスにIPv6アドレスがなくても、IPv6ソケットに接続されているアプリケーションを引き続き表示できます。 IPv6カーネルモジュールがロードされないように、IPv6を無効にするオプションをカーネルに渡すこともできます。編集する/etc/default/grub

GRUB_CMDLINE_LINUX="ipv6.disable=1"

その後、grubがある場合はそれを適用します(grubパーティションが異なる場合もない場合もあります。ARMサーバーにはそのパーティションがなく、カーネルオプション用に別のファイルを編集する必要がありました)。

sudo update-grub
sudo grub-install /dev/sda

アプリケーションレベルでIPv6を無効にするには、1つ以上のデーモンを設定する必要があります(xinetdインストールした場合)。

おすすめ記事