เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เปƒเบ™ Zimbra Open-Source Edition เป‚เบ”เบเปƒเบŠเป‰ HAProxy

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบงเบฝเบเบ‡เบฒเบ™เบ•เบปเป‰เบ™เบ•เปเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™ Zimbra OSE เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเปเบกเปˆเบ™เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก. เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบกเบฑเบ™เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ”เบฝเบงเบเบฑเบ™เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เปƒเบŠเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”. เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰, เบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰ - เบŠเบญเบšเปเบงเปเบฅเบฐเบเบฒเบ™เปเบเป‰เป„เบ‚เบฎเบฒเบ”เปเบงเบ—เบตเปˆเปเบˆเบเบขเบฒเบเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบฅเบฐเบซเบงเปˆเบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เปƒเบ™เบšเบฑเบ™เบ”เบฒเบžเบงเบเบกเบฑเบ™เบกเบตเบญเบฑเบ™เบ—เบตเปˆเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เป€เบŠเบฑเปˆเบ™ RoundRobin, เป€เบŠเบดเปˆเบ‡เบžเบฝเบ‡เปเบ•เปˆเบชเบปเปˆเบ‡เปเบ•เปˆเบฅเบฐเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเป„เบ›เป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ•เปเปˆเป„เบ›เปƒเบ™เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆ, เปเบฅเบฐเบเบฑเบ‡เบกเบตเบญเบฑเบ™เบ—เบตเปˆเบเป‰เบฒเบงเบซเบ™เป‰เบฒ, เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™ HAProxy, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบขเปˆเบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡เปƒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป‰เบ—เบตเปˆเป‚เบซเบฅเบ”เบชเบนเบ‡เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบเบฒเบ™ เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบ‚เปเป‰เป„เบ”เป‰เบ›เบฝเบšเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™. เบฅเบญเบ‡เป€เบšเบดเปˆเบ‡เบงเบดเบ—เบตเบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰ HAProxy load balancer เปเบฅเบฐ Zimbra OSE เป€เบฎเบฑเบ”เบงเบฝเบเบฎเปˆเบงเบกเบเบฑเบ™เป„เบ”เป‰.

เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เปƒเบ™ Zimbra Open-Source Edition เป‚เบ”เบเปƒเบŠเป‰ HAProxy

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบญเบตเบ‡เบ•เบฒเบกเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เบ‚เบญเบ‡เบซเบ™เป‰เบฒเบงเบฝเบ, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™ Zimbra OSE, เป€เบŠเบดเปˆเบ‡เบกเบตเบชเบญเบ‡ Zimbra Proxy, เบชเบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ LDAP เปเบฅเบฐ LDAP Replica, เบชเบตเปˆเบšเปˆเบญเบ™เป€เบเบฑเบšเบกเป‰เบฝเบ™เป€เบกเบฅเบ—เบตเปˆเบกเบต 1000 เบเปˆเบญเบ‡เบˆเบปเบ”เบซเบกเบฒเบเปเบ•เปˆเบฅเบฐเบ„เบปเบ™เปเบฅเบฐเบชเบฒเบก MTAs. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบกเบฅ, เบกเบฑเบ™เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบชเบฒเบกเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡: HTTP เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบฒเบงเป‚เบซเบผเบ”เบฅเบนเบเบ„เป‰เบฒเป€เบงเบฑเบš, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš POP เปเบฅเบฐ SMTP เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบญเบตเป€เบกเบง. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบเบฒเบ™เบˆเบฒเบฅเบฐเบˆเบญเบ™ HTTP เบˆเบฐเป„เบ›เบซเบฒเป€เบŠเบตเบšเป€เบงเบต Zimbra Proxy เบ—เบตเปˆเบกเบตเบ—เบตเปˆเบขเบนเปˆ IP 192.168.0.57 เปเบฅเบฐ 192.168.0.58, เปเบฅเบฐเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™ SMTP เบˆเบฐเป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ MTA เบ—เบตเปˆเบกเบตเบ—เบตเปˆเบขเบนเปˆ IP 192.168.0.77 เปเบฅเบฐ 192.168.0.78.

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเปเบฅเป‰เบง, เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบงเปˆเบฒเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ–เบทเบเปเบˆเบเบขเบฒเบเบขเปˆเบฒเบ‡เป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบ™เปเบฒเปƒเบŠเป‰ HAProxy load balancer, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™ Zimbra infrastructure ingress node เปเบฅเปˆเบ™ Ubuntu 18.04. เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ haproxy เปƒเบ™เบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ™เบตเป‰เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ sudo apt-get เบ•เบดเบ”เบ•เบฑเป‰เบ‡ haproxy. เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบตเป‰โ€‹เบ—เปˆเบฒเบ™โ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เปƒเบ™โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹ /etc/default/haproxy เบ›เปˆเบฝเบ™เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต เป€เบ›เบตเบ”เปƒเบŠเป‰=0 เบชเบธเบ” เป€เบ›เบตเบ”เปƒเบŠเป‰=1. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™, เป€เบžเบทเปˆเบญเปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒ haproxy เป€เบฎเบฑเบ”เบงเบฝเบ, เบžเบฝเบ‡เปเบ•เปˆเปƒเบชเปˆเบ„เปเบฒเบชเบฑเปˆเบ‡ เบšเปเบฅเบดเบเบฒเบ™ haproxy. เบ–เป‰เบฒเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบ™เบตเป‰เป€เบฎเบฑเบ”เบงเบฝเบ, เบ™เบตเป‰เบˆเบฐเป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™เบˆเบฒเบเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡.

เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ‚เปเป‰เป€เบชเบเบ›เบฝเบšเบ•เบปเป‰เบ™เบ•เปเบ‚เบญเบ‡ HAProxy เปเบกเปˆเบ™เบงเปˆเบฒเป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบกเบฑเบ™เบšเปเปˆเป„เบ”เป‰เบชเบปเปˆเบ‡เบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ, เปเบ—เบ™เบ—เบตเปˆเบกเบฑเบ™เป€เบญเบ‡. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ—เบตเปˆเบญเบตเป€เบกเบงเบ—เบตเปˆเบœเบนเป‰เป‚เบˆเบกเบ•เบตเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบ—เบตเปˆเบขเบนเปˆ IP เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบกเบฑเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบšเบฑเบ™เบŠเบตเบ”เปเบฒ. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบšเบฑเบ™เบซเบฒเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เป„เบ”เป‰. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒ /opt/zimbra/common/conf/master.cf.in เปƒเบ™เป€เบŠเบตเบšเป€เบงเบตเบ”เป‰เบงเบ Postfix เปเบฅเบฐเป€เบžเบตเปˆเบกเบชเบฒเบเบ•เปเปˆเป„เบ›เบ™เบตเป‰เปƒเบชเปˆเบกเบฑเบ™:

26      inet  n       -       n       -       1       postscreen
        -o postscreen_upstream_proxy_protocol=haproxy
 
466    inet  n       -       n       -       -       smtpd
%%uncomment SERVICE:opendkim%%  -o content_filter=scan:[%%zimbraLocalBindAddress%%]:10030
        -o smtpd_tls_wrappermode=yes
        -o smtpd_sasl_auth_enable=yes
        -o smtpd_client_restrictions=
        -o smtpd_data_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_recipient_restrictions=
        -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
        -o syslog_name=postfix/smtps
        -o milter_macro_daemon_name=ORIGINATING
        -o smtpd_upstream_proxy_protocol=haproxy
%%uncomment LOCAL:postjournal_enabled%% -o smtpd_proxy_filter=[%%zimbraLocalBindAddress%%]:10027
%%uncomment LOCAL:postjournal_enabled%% -o smtpd_proxy_options=speed_adjust
 
588 inet n      -       n       -       -       smtpd
%%uncomment SERVICE:opendkim%%  -o content_filter=scan:[%%zimbraLocalBindAddress%%]:10030
        -o smtpd_etrn_restrictions=reject
        -o smtpd_sasl_auth_enable=%%zimbraMtaSaslAuthEnable%%
        -o smtpd_tls_security_level=%%zimbraMtaTlsSecurityLevel%%
        -o smtpd_client_restrictions=permit_sasl_authenticated,reject
        -o smtpd_data_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_recipient_restrictions=
        -o smtpd_relay_restrictions=permit_sasl_authenticated,reject
        -o syslog_name=postfix/submission
        -o milter_macro_daemon_name=ORIGINATING
        -o smtpd_upstream_proxy_protocol=haproxy
%%uncomment LOCAL:postjournal_enabled%% -o smtpd_proxy_filter=[%%zimbraLocalBindAddress%%]:10027
%%uncomment LOCAL:postjournal_enabled%% -o smtpd_proxy_options=speed_adjust

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบ›เบตเบ”เบ—เปˆเบฒเป€เบฎเบทเบญ 26, 466 เปเบฅเบฐ 588, เป€เบŠเบดเปˆเบ‡เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ‚เบฒเป€เบ‚เบปเป‰เบฒเบˆเบฒเบ HAProxy. เบซเบผเบฑเบ‡เบˆเบฒเบเป„เบŸเบฅเปŒเป„เบ”เป‰เบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰, เบ—เปˆเบฒเบ™เบ„เบงเบ™ restart Postfix เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ zmmtactl restart.

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เปƒเบซเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ HAProxy. เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปเบฒเบญเบดเบ”เบชเป‰เบฒเบ‡เบชเปเบฒเป€เบ™เบปเบฒเบชเปเบฒเบฎเบญเบ‡เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ cp /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.bak. เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบ›เบตเบ”เป„เบŸเบฅเปŒเปเบซเบผเปˆเบ‡เปƒเบ™เบ•เบปเบงเปเบเป‰เป„เบ‚เบ‚เปเป‰เบ„เบงเบฒเบก /etc/haproxy/haproxy.cfg เปเบฅเบฐเป€เบฅเบตเปˆเบกเป€เบžเบตเปˆเบกเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบชเปˆเบกเบฑเบ™เป€เบ—เบทเปˆเบญเบฅเบฐเบเป‰เบฒเบง. เบšเบฅเบฑเบญเบเบ—เปเบฒเบญเบดเบ”เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเป€เบญเบปเบฒเบšเบฑเบ™เบ—เบถเบ, เบเปเบฒเบ™เบปเบ”เบˆเปเบฒเบ™เบงเบ™เบชเบนเบ‡เบชเบธเบ”เบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบžเป‰เบญเบกเป†เบเบฑเบ™, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบฅเบฐเบšเบธเบŠเบทเปˆเปเบฅเบฐเบเบธเปˆเบกเบ‚เบญเบ‡เบœเบนเป‰เปƒเบŠเป‰เบ—เบตเปˆเบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบˆเบฐเป€เบ›เบฑเบ™.

global
    user daemon
    group daemon
    daemon
    log 127.0.0.1 daemon
    maxconn 5000
    chroot /var/lib/haproxy

เบ•เบปเบงเป€เบฅเบเบ‚เบญเบ‡ 5000 เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบžเป‰เบญเบกเป†เบเบฑเบ™เป„เบ”เป‰เบ›เบฒเบเบปเบ”เบ‚เบถเป‰เบ™เบ”เป‰เบงเบเป€เบซเบ”เบœเบปเบ™. เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบžเบงเบเป€เบฎเบปเบฒเบกเบต 4000 เบเปˆเบญเบ‡เบˆเบปเบ”เบซเบกเบฒเบเปƒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบžเบงเบเป€เบ‚เบปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบˆเบฐเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบญเบตเป€เบกเบงเบงเบฝเบเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบญเบญเบเบˆเบฒเบเบชเบฐเบซเบ‡เบงเบ™เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™.

เบ•เบญเบ™เบ™เบตเป‰เปƒเบซเป‰เป€เบžเบตเปˆเบกเบšเบฅเบฑเบญเบเบ”เป‰เบงเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™:

defaults
        timeout client 1m
        log global
        mode tcp
        timeout server 1m
        timeout connect 5s

เบšเบฅเบฑเบญเบเบ™เบตเป‰เบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบซเบกเบปเบ”เป€เบงเบฅเบฒเบชเบนเบ‡เบชเบธเบ”เบชเปเบฒเบฅเบฑเบšเบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบˆเบฐเบ›เบดเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเป€เบกเบทเปˆเบญเบกเบฑเบ™เบซเบกเบปเบ”เบญเบฒเบเบธ, เปเบฅเบฐเบเบฑเบ‡เบเปเบฒเบ™เบปเบ”เบฎเบนเบšเปเบšเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ HAProxy. เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เบ•เบปเบงเบ”เบธเปˆเบ™เบ”เปˆเบฝเบ‡เบเบฒเบ™เป‚เบซเบผเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เป‚เบซเบกเบ” TCP, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบกเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบชเบปเปˆเบ‡เบŠเบธเบ” TCP เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเป€เบ™เบทเป‰เบญเบซเบฒเบ‚เบญเบ‡เบกเบฑเบ™.

เบ•เปเปˆเป„เบ›เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป€เบžเบตเปˆเบกเบเบปเบ”เบฅเบฐเบšเบฝเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบขเบนเปˆเปƒเบ™เบžเบญเบ”เบ•เปˆเบฒเบ‡เป†. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเบžเบญเบ” 25 เบ–เบทเบเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ SMTP เปเบฅเบฐเป€เบกเบฅ, เบกเบฑเบ™เบกเบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบ—เบตเปˆเบˆเบฐเบชเบปเปˆเบ‡เบ•เปเปˆเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเบกเบฑเบ™เป„เบ›เบซเบฒ MTAs เบ—เบตเปˆเบกเบตเบขเบนเปˆเปƒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ. เบ–เป‰เบฒเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบขเบนเปˆเปƒเบ™เบžเบญเบ” 80, เบ™เบตเป‰เปเบกเปˆเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป http เบ—เบตเปˆเบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆเป„เบ›เบซเบฒ Zimbra Proxy.

เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ‚เบญเบ‡เบžเบญเบ” 25:

frontend smtp-25
bind *:27
default_backend backend-smtp-25
 
backend backend-smtp-25
server mta1 192.168.0.77:26 send-proxy
server mta2 192.168.0.78:26 send-proxy

เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ‚เบญเบ‡เบžเบญเบ” 465:

frontend smtp-465
bind *:467
default_backend backend-smtp-465

backend backend-smtp-465
server mta1 192.168.0.77:466 send-proxy
server mta2 192.168.0.78:466 send-proxy

เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ‚เบญเบ‡เบžเบญเบ” 587:

frontend smtp-587
bind *:589
default_backend backend-smtp-587
 
backend backend-smtp-587
server mail1 192.168.0.77:588 send-proxy
server mail2 192.168.0.78:588 send-proxy

เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ‚เบญเบ‡เบžเบญเบ” 80:

frontend http-80
bind    *:80
default_backend http-80
 
backend http-80
mode tcp
server zproxy1 192.168.0.57:80 check
server zproxy2 192.168.0.58:80 check

เบเบปเบ”เบฅเบฐเบšเบฝเบšเบ‚เบญเบ‡เบžเบญเบ” 443:

frontend https
bind  *:443
default_backend https-443
 
backend https-443
mode tcp
server zproxy1 192.168.0.57:80 check
server zproxy2 192.168.0.58:80 check

เบเบฐเบฅเบธเบ™เบฒเบฎเบฑเบšเบŠเบฒเบšเบงเปˆเบฒเปƒเบ™เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆเปเบžเบฑเบเป€เบเบฑเบ” TCP เป„เบ›เบซเบฒ MTA, เบ–เบฑเบ”เบˆเบฒเบเบ—เบตเปˆเบขเบนเปˆเบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบกเบตเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต. เบชเบปเปˆเบ‡เบ•เบปเบงเปเบ—เบ™. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบงเปˆเบฒ, เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เป€เบฎเบฑเบ”เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Postfix, เบ—เบตเปˆเบขเบนเปˆ IP เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เบœเบนเป‰เบชเบปเปˆเบ‡เบ‚เบญเบ‡เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบžเป‰เบญเบกเบเบฑเบšเปเบžเบฑเบเป€เบเบฑเบ” TCP.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบเบฑเบš HAProxy, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” restart เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ haproxy restart เปเบฅเบฐเป€เบฅเบตเปˆเบกเปƒเบŠเป‰เบกเบฑเบ™.

เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบ–เบฒเบกเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš Zextras Suite, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ•เบดเบ”เบ•เปเปˆเบœเบนเป‰เบ•เบฒเบ‡เบซเบ™เป‰เบฒเบ‚เบญเบ‡ Zextras Ekaterina Triandafilidi เป‚เบ”เบเบ—เบฒเบ‡เบญเบตเป€เบกเบฅเปŒ [email protected]

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™