Không, không bắt buộc phải thiết lập bộ đệm DNS trên máy chủ. Máy chủ nên sử dụng trình phân giải DNS bộ đệm ẩn ở đâu đó gần đó, nhưng hầu hết các công ty lưu trữ đã chạy trình phân giải riêng của họ cho toàn bộ trung tâm dữ liệu và định cấu hình máy chủ để sử dụng chúng theo mặc định.
Theo mặc định, cả Postfix và Dovecot đều sử dụng tài khoản cục bộ cho mọi thứ. Nếu bạn có tài khoản Linux có tên diti
, bạn có thể đăng nhập vào Dovecot bằng tài khoản đó và bạn có thể thiết lập Postfix để xác thực đăng nhập SMTP chống lại Dovecot .
Nếu bạn ổn với việc chuyển tất cả thư vào cùng một tài khoản, bạn có thể thiết lập các bí danh đơn giản (như trong /etc/aliases
) để chuyển hướng thư cho kra@
hoặc postmaster@
đến diti
tài khoản.
Tất cả những chủ đề đó không cần thiết. Những cái duy nhất bạn cần là cho tên miền bạn sẽ thực sự sử dụng , ví dụ mail.diti.me
hoặc glaux.diti.me
. Tôi không chắc chắn nếu bạn cần bao gồm chính tên miền (tức là diti.me
).
Giả định sau đây cho rằng tên miền đã có các bản ghi MX được định cấu hình để trỏ đến máy chủ này. Tôi thường cố gắng giữ cho cấu hình của mình rõ ràng một cách hợp lý, vì tôi luôn tự hỏi "cái quái gì thế này" vài tháng sau.
1. Đầu tiên, cài đặt postfix
và dovecot-imapd
gói. Khi được nhắc về cấu hình Postfix, chọn tùy chọn "Trang web Internet" và nhập diti.me
làm tên thư. Tại thời điểm này, bạn đã có thể gửi và nhận thư dưới dạng diti@diti.me
và thậm chí có thể kết nối với IMAP.
Tuy nhiên, nó không có SSL, cũng không cho phép gửi thư qua SMTP từ bên ngoài, cũng không phải là nơi lưu trữ thư (mặc định là tệp mbox /var/mail
, không đáng tin cậy và cho hiệu suất kém, đặc biệt là với IMAP).
2. Nếu bạn đã có chứng chỉ SSL, hãy đặt nó vào /etc/ssl/private/diti.me.pem
và khóa riêng /etc/ssl/private/diti.me.key
. Vị trí chính xác không thực sự quan trọng, nhưng /etc/ssl/private
là nơi Debian giữ chúng.
Đảm bảo rằng cả hai tệp đều thuộc sở hữu và có thể đọc được của ssl-cert
nhóm, để Postfix và Dovecot có thể truy cập chúng. Đồng thời thêm cả tài khoản của daemon vào nhóm đó bằng cách sử dụng gpasswd -a
.
3. Postfix được tạo tự động của Debian cũng main.cf
là một mớ hỗn độn, vì vậy tôi sẽ chỉ đăng một phiên bản tối thiểu được dọn sạch:
# Thông tin máy chủ
tên miền của tôi = diti.me
myorigin = $ mydomain
# Nhiều tham số khác sử dụng hai biến này làm giá trị mặc định.
# Dịch vụ SMTP
smtpd_tls_security_level = có thể
smtpd_tls_cert_file = /etc/ssl/private/diti.me-mail.pem
smtpd_tls_key_file = /etc/ssl/private/diti.me-mail.key
# Điều này cho phép STARTTLS được sử dụng trên tất cả các kết nối SMTP đến.
# Lưu ý rằng `postfix` phải được thêm vào nhóm` ssl-cert` để có thể
# để truy cập các tệp trong / etc / ssl / private.
# Chính sách
mynetworks = [:: 1] / 128, 127.0.0.0/8, [::ffff:127.0.0.0THER/104
# Điều này liệt kê các địa chỉ IP được coi là "đáng tin cậy" và có thể sử dụng
# máy chủ này để gửi thư ra bên ngoài (tức là đến các tên miền khác). Bởi
# mặc định, chỉ cho phép "localhost". Từ những người khác chỉ gửi thư đến
# tên miền trong $ mydestination sẽ được chấp nhận.
mydestination = $ mydomain, localhost
# Danh sách các tên miền để chấp nhận thư cho, từ bất kỳ địa chỉ IP nào.
# Chuyển
alias_maps = hash: / etc / bí danh
# Điều này giữ bí danh trên toàn hệ thống. Thật tốt khi đặt nó rõ ràng bởi vì
# giá trị mặc định đôi khi bao gồm NIS, không có nghĩa.
receive_d Friiter = +
# Yêu cầu postfix chia phần cục bộ của địa chỉ ở '+' đầu tiên,
# cái gọi là "địa chỉ cộng": thư được gửi tới diti + foo @ sẽ được gửi
# vào hộp thư diti @.
Đối với Dovecot, Debian chỉ sử dụng các cấu hình ví dụ mặc định và chúng đủ tốt, với mỗi tùy chọn được mô tả.
Bất cứ khi nào bạn thay đổi cấu hình, hãy tải lại trình nền với postfix reload
và / hoặc doveadm reload
.
4. Theo mặc định, Postfix chuyển thư đến /var/mail/$USER
ở định dạng mbox , đủ đơn giản (bạn có thể dễ dàng xem nó bằng trình soạn thảo văn bản) nhưng có nhiều vấn đề, đặc biệt là với IMAP, vì toàn bộ tệp phải được viết lại bất cứ khi nào bạn di chuyển tin nhắn hoặc thậm chí đánh dấu một là "đọc" hoặc "chưa đọc".
Thay đổi cả hai trình nền để sử dụng Maildir. (Có các định dạng khác, nhưng chúng có xu hướng cụ thể đối với máy chủ MTA hoặc MDA hoặc IMAP hoặc bất cứ điều gì; Maildir được hỗ trợ rộng rãi.)
Trong /etc/postfix/main.cf
, thêm phần sau vào phần "Giao hàng":
home_mailbox = Thư /
Định cấu hình Dovecot để sử dụng cùng một đường dẫn, trong /etc/dovecot/conf.d/10-mail.conf
:
mail_location = maildir: ~ / Mail
5. Tại một số điểm, bạn cần nói với Dovecot để sử dụng SSL. Các cài đặt có liên quan là trong /etc/dovecot/conf.d/10-ssl.conf
. Trên thực tế, gói Debian cho Dovecot đã sử dụng SSL, mặc dù với chứng chỉ tự ký hầu như vô dụng. Cấu hình nó để sử dụng chứng chỉ của riêng bạn:
ssl = có
ssl_cert = </etc/ssl/private/diti.me-mail.pem
ssl_key = </etc/ssl/private/diti.me-mail.key
6. Bây giờ bạn có thể gửi thư ra bên ngoài và nhận nó. Vẫn cần phải định cấu hình Postfix để cho phép bạn gửi từ bên ngoài bằng cách kết nối với ứng dụng thư khách của bạn qua SMTP.
Đầu tiên hãy báo cho Postfix sử dụng Dovecot để xác minh thông tin đăng nhập. Các hướng dẫn sau đây chủ yếu được lấy từ wiki của Dovecot .
/etc/dovecot/conf.d/10-master.conf
Nhu cầu của Dovecot để lắng nghe một ổ cắm mà Postfix có thể truy cập; cấu hình mặc định đã có một ví dụ nhận xét:
dịch vụ xác thực {
...
unix_listener / var / spool / postfix / private / auth {
chế độ = 0660
người dùng = hậu tố
nhóm = hậu tố
}
...
}
Và Postfix cần sử dụng nó - /etc/postfix/main.cf
một lần nữa:
# Xác thực
smtpd_sasl_type = dovecot
smtpd_sasl_path = private / auth
# Loại khác có thể là "cyrus", cho Cyrus SASL 'saslauthd'
# daemon. Tôi chọn Dovecot ở đây vì nó hoạt động tốt như một máy chủ SASL và
# nó chỉ đơn giản hơn để cho phép nó xử lý xác thực cho cả hai trình nền.
7. Lưu ý rằng những điều trên không được đặt ở smtpd_sasl_auth_enable
bất cứ đâu. Quy ước hiện tại là không kích hoạt SMTP auth trên toàn cầu mà chỉ giữ tcp / 25 hoàn toàn dưới dạng cổng SMTP "máy chủ đến máy chủ". Trong khi đó, tin nhắn mới từ người dùng được chấp nhận qua SMTP trên tcp / 587, cổng "gửi thư", yêu cầu xác thực. Một số ISP thậm chí chặn tcp / 25 vì spam, nhưng vẫn mở tcp / 587 vì nó thường được bảo mật tốt hơn.
Kích hoạt cổng "Gửi" trong /etc/postfix/master.cf
, với auth auth. Mặc định master.cf
đã có các dòng cần thiết chỉ cần bỏ bình luận, mặc dù một số trong số chúng vẫn nên bị bỏ qua.
nộp inet n - - - - smtpd
-o syslog_name = postfix / đệ trình
-o smtpd_tls_security_level = mã hóa
# Cổng "Gửi" sẽ yêu cầu TLS, thay vì làm tùy chọn
-o smtpd_sasl_auth_enable = có
# ... cũng như cho phép người dùng đăng nhập.
# -o smtpd numject_unlisted_recipient = không
# -o smtpd_client_restrictions = $ mua_client_restrictions
# -o smtpd_helo_restrictions = $ mua_helo_restrictions
# -o smtpd_sender_restrictions = $ mua_sender_restrictions
# Bốn tùy chọn này có thể được để lại nhận xét; nếu được kích hoạt, họ sẽ
# mong bạn đặt quy tắc hạn chế tùy chỉnh trong 'main.cf', nhưng
# những cái mặc định là tốt.
-o smtpd_recipient_restrictions = allow_sasl_authenticated, từ chối
# Người nhận mặc định_restrictions kiểm tra địa chỉ IP và
# $ mydestest. Đối với cổng "Gửi", cho phép mọi thứ miễn là
# khi người dùng đăng nhập, nhưng từ chối tất cả thư nặc danh.
-o milter_macro_daemon_name = XUẤT XỨ
# Nếu sau này bạn quyết định thiết lập proxy DKIM hoặc như vậy, điều này sẽ cho phép
# nó để phân biệt thư do người dùng gửi đến những người nhận được.
# Đây là một phần của cấu hình mặc định, do đó cũng được bao gồm ở đây.
Nếu bạn có ứng dụng thư khách yêu cầu cổng "SSL ẩn" kiểu cũ (tcp / 465), bạn có thể bỏ ghi chú các smtps
dòng trong master.cf
- nếu bạn làm như vậy, hãy giữ các cài đặt tương tự như các submission
cổng.
8. Cuối cùng, thiết lập bí danh cho tài khoản của bạn, bằng cách chỉnh sửa /etc/aliases
. Các postmaster
bí danh được về cơ bản yêu cầu; đó là điểm liên lạc nếu có vấn đề với máy chủ thư của bạn. Chỉ root
và các bí danh tương tự khác là tốt quá.
Định dạng cơ bản được ghi lại trong các bí danh (5):
postmaster: root
admin: root
root: diti
kra: diti
Sử dụng postalias
hoặc newaliases
để cập nhật cơ sở dữ liệu băm /etc/aliases.db
mỗi khi bạn chỉnh sửa tệp này.
Bây giờ, bạn vẫn còn một tài khoản được gọi diti
là Postfix và Dovecot có liên quan, nhưng thư được gửi đến kra@...
cũng được chuyển tiếp đến đó. Một số ứng dụng thư khách (ví dụ Thunderbird) hỗ trợ nhiều "danh tính" hoặc "personas" cho một máy chủ thư, do đó bạn có thể chọn giữa các địa chỉ "Từ:" khác nhau.
Đó là về nó. Tôi có thể quay lại với hướng dẫn cho procmail, tên miền ảo, SPF và / hoặc DKIM sau.