Trong hướng dẫn này, tôi sẽ chỉ cho bạn cách thiết lập máy chủ thư Postfix làm bộ trao đổi thư dự phòng cho một tên miền để nó chấp nhận thư cho tên miền này trong trường hợp bộ trao đổi thư chính ngừng hoạt động hoặc không thể truy cập và chuyển thư đến MX chính khi bộ trao đổi thư đó hoạt động trở lại.
Tôi đã tạo các bản ghi MX cho example.com trông như thế này:
Điều quan trọng là MX chính có số thấp hơn (10) và do đó có mức độ ưu tiên cao hơn MX dự phòng (20).
Tôi cho rằng Postfix trên mx2.example.com đã được cài đặt và hoạt động.
Trước tiên, hãy đảm bảo rằng smtpd_recipient_restrictions chứa permit_mynetworks và reject_unauth_destination, vì vậy, một cái gì đó như thế này sẽ ổn:
Sau đó, chúng ta phải thêm example.com vào tham số relay_domains; nếu chưa có tham số relay_domains trong /etc/postfix/main.cf, thì lệnh sau sẽ thực hiện được:
Và cuối cùng, chúng ta thêm một tham số relay_recipient_maps trống vào /etc/postfix/main.cf:
(Bằng cách đó, chúng ta không phải chỉ định danh sách các địa chỉ email hợp lệ để sao lưu, đây có thể là một nhiệm vụ khó khăn nếu bạn phải quản lý hàng trăm tài khoản email.)
Có một điều quan trọng tôi phải nói thêm: Bạn không được liệt kê example.com trong các tham số sau trong /etc/postfix/main.cf:
Nếu bạn có quyền truy cập vào nhật ký thư trên máy chủ từ xa (gửi), bây giờ bạn sẽ thấy nội dung tương tự như sau:
Như bạn thấy, thư đã được gửi đến mx2.example.com thay vì mx1.example.com vì mx1.example.com không thể truy cập được. Bây giờ, chúng ta hãy xem nhật ký thư của mx2.example.com:
mx2.example.com đã chấp nhận thư và cố gắng kết nối đến mx1.example.com để chuyển thư đến MX chính. Vì MX chính bị hỏng nên mx2.example.com không thể chuyển thư và giữ thư trong hàng đợi thư cho đến khi mx1.example.com khả dụng trở lại.
Bây giờ chúng ta khởi động lại MTA trên mx1.example.com. MX dự phòng sẽ không chuyển phát ngay lập tức thư đã xếp hàng, nhưng sau vài phút, bạn sẽ thấy nội dung tương tự như thế này trong nhật ký thư của mx2.example.com:
Thư đã được chuyển đến MX chính, tại đó bạn có thể thấy thông tin này trong nhật ký thư:
Vì vậy, không có thư nào bị mất khi mx1.example.com ngừng hoạt động và người dùng có thể tiếp tục truy xuất thư của họ từ mx1.example.com.
1 Lưu ý sơ bộ
Tôi muốn thiết lập MX dự phòng cho tên miền example.com. Trong ví dụ này, MX chính cho example.com được gọi là mx1.example.com (địa chỉ IP 1.2.3.4), vì vậy tôi gọi MX dự phòng là mx2.example.com (địa chỉ IP 1.2.3.5).Tôi đã tạo các bản ghi MX cho example.com trông như thế này:
Mã:
example.com.86400INMX10mx1.example.com.
example.com.86400INMX20mx2.example.com.
Tôi cho rằng Postfix trên mx2.example.com đã được cài đặt và hoạt động.
2 Cấu hình Postfix trên mx2.example.com
Để biến mx2.example.com thành MX dự phòng cho miền example.com, tất cả những gì chúng ta phải làm là thay đổi/thêm ba dòng vào /etc/postfix/main.cf:
Mã:
nano /etc/postfix/main.cf
Mã:
[...]smtpd_recipient_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination[...]
Mã:
[...]relay_domains = $mydestination, example.com[...]
Mã:
[...]relay_recipient_maps =[...]
Có một điều quan trọng tôi phải nói thêm: Bạn không được liệt kê example.com trong các tham số sau trong /etc/postfix/main.cf:
- mydestination
- virtual_alias_domains
- virtual_mailbox_domains
Mã:
service postfix restart
3 Kiểm tra
Để kiểm tra MX sao lưu mới, chúng ta sẽ gỡ bỏ MTA (Postfix, Sendmail, Exim, v.v.) trên mx1.example.com và gửi email từ một số máy chủ từ xa đến một tài khoản example.com (ví dụ: [emailprotected]).Nếu bạn có quyền truy cập vào nhật ký thư trên máy chủ từ xa (gửi), bây giờ bạn sẽ thấy nội dung tương tự như sau:
Mã:
6 tháng 6 18:29:16 mail postfix/smtp[17746]: AF814144146: to=, relay=mx2.example.com[1.2.3.5], delay=1, status=sent (250 2.0.0 Ok: xếp hàng đợi là DCA5A1BF40F)
Mã:
06/06 18:29:16 mx2 postfix/qmgr[3049]: DCA5A1BF40F: from=, size=892, nrcpt=1 (hàng đợi đang hoạt động)
06/06 18:29:16 mx2 postfix/smtpd[3051]: ngắt kết nối khỏi mail.blabla.tld[1.2.3.6]
06/06 18:29:16 mx2 postfix/smtp[3057]: kết nối tới mx1.test1.de[1.2.3.4]: Kết nối bị từ chối (cổng 25)
06/06 18:29:16 mx2 postfix/smtp[3057]: DCA5A1BF40F: to=, relay=none, delay=0.07, delayed=0.03/0.02/0.01/0, dsn=4.4.1, status=deferred (kết nối tới mx1.test1.de[1.2.3.4]: Kết nối bị từ chối)
Bây giờ chúng ta khởi động lại MTA trên mx1.example.com. MX dự phòng sẽ không chuyển phát ngay lập tức thư đã xếp hàng, nhưng sau vài phút, bạn sẽ thấy nội dung tương tự như thế này trong nhật ký thư của mx2.example.com:
Mã:
06/06 18:56:44 mx2 postfix/qmgr[3080]: DCA5A1BF40F: from=, size=892, nrcpt=1 (hàng đợi đang hoạt động)
06/06 18:56:45 mx2 postfix/smtp[3083]: DCA5A1BF40F: to=, relay=mx1.example.com[1.2.3.4]:25, delay=1648, delayed=1648/0.09/0.4/0.12, dsn=2.0.0, status=sent (250 2.0.0 Ok: xếp hàng đợi là 167995B0109)
Mã:
6 tháng 6 18:56:45 mx1 postfix/local[4963]: 167995B0109: to=, orig_to=, relay=local, delay=0.54, delayed=0.08/0.02/0/0.43, dsn=2.0.0, status=sent (đã chuyển đến lệnh: /usr/bin/procmail -f-)
4 Liên kết
- Postfix: http://www.postfix.org