web-dev-qa-db-ja.com

Postfixサーバーへの同時接続を制限する

同じクライアントからPostfixサーバーへの同時接続数を制限するのに問題があります。同じまたは異なるクライアントからの同時プロセスの最大数を制限することは簡単に行われます。

main.cfで使用する2つのパラメーターは次のとおりです。

default_process_limit = 50
smtpd_client_connection_count_limit = 25

テスト時には、同じクライアントから100の同時接続(スレッド)を実行していますが、25だけではなく50のsmtpdプロセスに制限されています。サーバーでのsmtpdプロセスのカウント方法は次のとおりです。

ps -C smtpd | wc -l

なぜこれが起こるのか誰か知っていますか?

3
Jay

実行中のsmtpdの最大数を変更する場合は、/etc/postfix/master.cfで変更する必要があります。 7番目の列で-50に変更し、postfix restart(またはディストリビューション固有の代替)でpostfixを再起動します。

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd

これをに変更

smtp      inet  n       -       -       -       50      smtpd

smtpd_client_connection_count_limit smtpクライアントが作成できる接続の数を制限します。

デフォルトで実行されるsmtpdサーバーの数は示していません。 (デフォルトでは、smtpd_client_connection_count_limitはデフォルトのプロセス制限の半分です。)

2
cstamas