web-dev-qa-db-ja.com

haproxy acl-特定のIPからのみ受け入れる

私はhaproxyを持っており、直接接続していないサーバーにsmtpを提供する必要があります。

これが私の設定の一部です:

listen smtp     10.12.23.10:3025
    mode tcp
    server smtp     172.30.33.12:25
    #tcp-request inspect-delay 2s
    acl white_list src 10.146.5.247 10.146.5.201
    tcp-request content accept if white_list
    tcp-request content reject 

ポートへの接続はすべて拒否されます。行を削除するとtcp-request content reject-すべての人に機能しますが、haproxyはデフォルトですべてを受け入れます。 2つ以上のサーバーだけを入れる正しい方法は何ですか?

私は次の行も試しました:

tcp-request content reject unless whitelist
tcp-request content reject if !whitelist

助けがあれば、私はhaproxy 1.4.18を持っています。

5
sashk

Haproxy 1.4.22にアップグレードすると問題が解決します。

0
sashk

以下のconは、haproxy 1.4.15で期待どおりに機能します。

listen smtp   :3025
    mode tcp
    server smtp  192.168.1.2:25
    acl white_list src 127.0.0.1 192.168.1.205
    tcp-request inspect-delay 2s
    tcp-request content accept if white_list
    tcp-request content reject

検査遅延ラインを削除することもできますが、「タイムアウト接続」の後でクライアントは拒否されます。

listen smtp   :3025
    mode tcp
    server smtp  192.168.1.2:25
    acl white_list src 127.0.0.1 192.168.1.205
    timeout connect 1s
#    tcp-request inspect-delay 2s
    tcp-request content accept if white_list
    tcp-request content reject
3
Baptiste