Khi cài đặt zimbra multi server, ví dụ ldap1, ldap2, mta(proxy)1, mta(proxy)2, mailstore1, mailstore2, tham khảo các mục sau:
1. DNS: sử dụng cơ chế load balancing round robin của dns nếu không dùng loadbalancer.
ví dụ các dns record:
ldap1 IN <IP1>
ldap2 IN <IP2>
mailstore1 IN <IP3>
mailstore2 IN <IP4>
mta1 IN <IP5>
mta2 IN <IP6>
mailstore IN <IP3>
mailstore IN <IP4>
mta IN <IP5>
mta IN <IP6>
mail IN <IP5>
mail IN <IP6>
Khi này ta có thể dùng mailstore và mta trong các thiết lập khi cài đặt zimbra
mta auth host: là mailstore server mà mta sẽ gửi yêu cầu đến để xác thực user. Có thể liệt kê từng mailstore1, mailstore2 server hoặc đơn giản hơn chỉ dùng mailstore.
smtp host: là các mta mà mailstore server dùng để gửi message đi. Có thể liệt kê từng mta1, mta2 server hoặc đơn giản hơn chỉ dùng mta.
2. Sử dụng zimbravirtualhostname và thiết lâp zimbraPublicServiceHostname.
Khuyến nghị bạn nên thiết lập zimbrabvirtualhostname cho từng domain và cấu hình zimbraPublicServiceHostname tương ứng.
zmprov md zimilab.com zimbraVirtualHostName mail.zimilab.com
zmprov md domain_name zimbraPublicServiceHostname mail.zimilab.com
Trường hợp đặt các mta/proxy server sau NAT gateway (firewall) và không có load balancer bạn có thể tạo 2 NAT rule gán 2 real/public IP address cho 2 mta/proxy server. tạo public dns record dạng:
mta IN <real IP1>
mta IN <real IP2>
mail IN <real IP1>
mail IN <real IP2>
@ mx 10 mta
@ sfp v=spf1 mx ~all
Nhớ tạo PTR record
<real IP1> PTR mta.zimilab.com
<real IP2> PTR mta.zimilab.com
Tạo hoặc mua ssl certificate với tên là mail.zimilab.com.
Bạn có thể kết hợp mta và mail record làm 1 vẫn được. Trong bài viết này, zimico tách làm 2 để minh hoạ.
3. Nếu bạn không muốn dùng dns loadbalancer như trên và muốn cấu hình định tuyến các luồng message giữa các thành phần zimbra riêng lẻ.
a. Mối quan hệ giữa proxy server và mailbox server được quy định trong các cấu hình sau trên từng proxy server.
zmprov ms `zmhostname` zimbraReverseProxyAvailableLookupTargets <mailstore_name>
zmprov ms `zmhostname` zimbraReverseProxyUpstreamEwsServers <mailstore_name>
zmprov ms `zmhostname` zimbraReverseProxyUpstreamLoginServers <mailstore_name>
Nếu dùng mailstore.zimilab.com thì proxy sẽ gửi đồng thời đến tất cả mailstore server. Nếu dùng mailstore1.zimilab.com thì proxy server này chỉ sử dụng mailstore1 server cho mục đích xác thực, chuyển các message về.
3 thông số trên có thể mang nhiều giá trị. Ví dụ:
zmprov ms `zmhostname` +zimbraReverseProxyAvailableLookupTargets mb1.zimilab.com +zimbraReverseProxyAvailableLookupTargets mb2.zimilab.com
Câu lệnh trên có nghĩa là proxy server sẽ sử dụng cả mb1 và mb2 server làm LookupTargets để xử lý các yêu cầu về mail. Sau khi xử lý xong, dữ liệu sẽ được lưu vào mailbox người dùng nằm trên mailstore đã được cấu hình.
Thông số zimbraReverseProxyAvailableLookupTargets được thiết lập trên proxy server và có liên hệ với thông số zimbraReverseProxyLookupTarget được thiết lập trên từng mailstore server. Khi liệt kê một mailstore server trong zimbraReverseProxyAvailableLookupTargets trên proxy server thì bản thân mailstore server cần gán TRUE cho zimbraReverseProxyLookupTarget .
b. Mối quan hệ giữa mta và mailstore server.
mta cần sử dụng mailstore server cho mục đích xác thực user, việc sử dụng mailstore server nào sẽ được quy định qua thông số smtp auth host khi bạn cài đặt mta server.
Khi muốn chỉ định mta server nào sẽ được mailstore server dùng để gửi message ra ngoài, trên từng mailstore server:
zmprov ms `zmhostname` +zimbraSmtpHostname mta1.zimilab.com
zmprov ms `zmhostname` +zimbraSmtpHostname mta2.zimilab.com
Cấu hình trên sử dụng cả mta1 và mta2 để gửi email đi. Bạn có thể chỉ định 1 trong 2 mta này để gửi đi, mta còn lại để nhận hướng vào (cấu hình mx record hoặc A record tương ứng như có hướng dẫn ở trên).
Cấu hình mymtahostname để sử dụng thống nhất 1 hostname trên message header có sự tương đồng hoàn hảo với rDNS (PTR) record ở mức global config.
zmprov mcf zimbraMtaMyHostname mta.zimilab.com
Bạn có thể tham khảo thêm bài viết này để thực hiện postfix routing