HƯỚNG DẪN Cấu hình Postfix sử dụng Gmail như một Mail Relay

Thảo luận trong 'KIẾN THỨC VPS/SERVER' bắt đầu bởi quyet1990, 18/11/16.

  1. quyet1990

    quyet1990 New Member

    Tham gia ngày:
    22/10/16
    Bài viết:
    220
    Đã được thích:
    0
    Nếu bạn có một tài khoản Gmail, bạn có thể cấu hình MTA (Mail Transfer Agent) để chuyển tiếp các thư gửi đi thông qua Gmail. Điều này mang lại cho bạn những lợi ích về độ tin cậy và mạnh mẽ của Gmail

    Trong hướng dẫn này, chúng tôi sẽ sử dụng Postfix như là MTA của chúng tôi. Postfix là một mã nguồn mở, miễn phí, dễ quản lý, nhanh, an toàn về bảo mật. Nó được dùng để gửi thư điện tử, được tạo ra ban đầu tại IBM với mục tiêu là thay thế chương trình gửi mail phổ biến là Sendmail.

    Tại mỗi bước, chúng tôi sẽ bao gồm các hướng dẫn cụ thể cho các hệ điều hành sau:
    Debian 8
    Ubuntu 15.10
    CentOS 7
    OpenSUSE 13.2
    Arch Linux 2016/02/01
    FreeBSD 10,2
    Chúng tôi cũng sẽ cài đặt mailutils/mailx để chúng tôi có thể gửi một email thử nghiệm. Trường hợp cần thiết, chúng tôi sẽ cài đặt các thư viện SASL bổ sung.


    1. Cài đặt phần mềm yêu cầu

    Debian, Ubuntu:
    Mã:
    apt-get update && apt-get install postfix mailutils
    Khi được nhắc nhở cho "General type of mail configuration", chọn Internet Site.
    Khi được nhắc nhở cho một "Mail name", chọn một hostname sẽ được sử dụng trong tiêu đề mail như là nguồn gốc của các email của bạn.
    Bạn có thể được nhắc để thiết lập "Root and postmaster mail recipient." Nhập user root, hoặc user khác sẽ nhận được các thông báo tử hệ thống mail.
    Đối với bất kỳ nhắc nhở khác, bạn có thể chọn các giá trị mặc định.

    Fedora:
    Mã:
    dnf update && dnf install postfix mailx
    CentOS:
    Mã:
    yum update && yum install postfix mailx cyrus-sasl cyrus-sasl-plain
    OpenSUSE:
    Mã:
    zypper update && zypper install postfix mailx cyrus-sasl
    Arch Linux:
    Mã:
    pacman -Sy postfix mailutils
    FreeBSD:
    Biên dịch Postfix từ port collection để kết hợp hỗ trợ SASL:
    Mã:
    portsnap fetch extract update
    Mã:
    cd /usr/ports/mail/postfix
    Mã:
    make config
    Trong hộp thoại cấu hình, chọn hỗ trợ SASL. Tất cả các tùy chọn khác có thể vẫn như cũ. Sau đó:
    Mã:
    make install clean
    Mailx có thể được cài đặt các gói binary:
    Mã:
    pkg install mailx
    2. Cấu hình xác thực gmail
    Tạo hoặc sửa đổi một tập tin mật khẩu sẽ được sử dụng bởi Postfix để thiết lập xác thực với Gmail. Trong thông tin xác thực dưới đây, thay thế tên người dùng với tên người dùng Gmail của bạn và mật khẩu với mật khẩu Gmail của bạn.
    Các tập tin mật khẩu sẽ nằm trong thư mục cấu hình Postfix. Các tập tin có thể được đặt tên là bất cứ điều gì bạn muốn, nhưng tên tập tin được khuyến cáo là sasl_passwd.

    Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux:
    Tập tin cấu hình Postfix nằm trong thư mục /etc/postfix. Tạo hoặc chỉnh sửa tập tin mật khẩu:
    Mã:
    vi /etc/postfix/sasl_passwd
    Thêm dòng:
    Mã:
    [smtp.gmail.com]:587 username@gmail.com:password
    
    Lưu lại và đóng tập tin. Mật khẩu Gmail của bạn được lưu trữ như là plaintext, do đó làm cho tập tin mật khẩu chỉ được truy cập bởi root:
    Mã:
    chmod 600 /etc/postfix/sasl_passwd


    FreeBSD:

    Tập tin cấu hình Postfix nằm trong thư mục /usr/local/etc/postfix. Tạo hoặc chỉnh sửa tập tin mật khẩu:
    Mã:
    vi /usr/local/etc/postfix/sasl_passwd 
    Thêm dòng:
    Mã:
    [smtp.gmail.com]:587 username@gmail.com:password
    
    Lưu lại và đóng tập tin. Làm cho nó chỉ được truy cập bởi root:
    Mã:
    chmod 600 /usr/local/etc/postfix/sasl_passwd


    3. Cấu hình Postfix

    Có sáu thông số phải được đặt trong tập tin cấu hình Postfix main.cf. Các thông số là:

    relayhost, xác định host và số cổng mail relay. Tên hostname sẽ được kèm theo trong dấu ngoặc để chỉ định không tra cứu MX là bắt buộc.
    smtp_use_tls, cho phép (hoặc vô hiệu hóa) an ninh lớp transport.
    smtp_sasl_auth_enable, cho phép (hoặc vô hiệu hóa) xác thực SASL.
    smtp_sasl_security_options, trong các cấu hình sau đây sẽ được thiết lập để trống, để đảm bảo rằng không có tùy chọn bảo mật Gmail-incompatible được sử dụng.
    smtp_sasl_password_maps, trong đó xác định tập tin mật khẩu để sử dụng. Tập tin này sẽ được biên dịch và băm bởi postmap ở bước sau.
    smtp_tls_CAfile, trong đó quy định cụ thể danh sách các chứng nhận để sử dụng khi xác minh danh tính của hostname.

    Debian, Ubuntu, Arch Linux:
    Chỉnh sửa tập tin cấu hình chính Postfix:
    Mã:
    vi /etc/postfix/main.cf
    Thêm hoặc sửa đổi các giá trị sau:
    Mã:
    relayhost = [smtp.gmail.com]: 587
    smtp_use_tls = yes
    smtp_sasl_auth_enable = yes
    smtp_sasl_security_options =
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
    
    Lưu lại và đóng tập tin.

    Fedora, CentOS:
    Chỉnh sửa tập tin cấu hình chính Postfix:
    Mã:
    vi /etc/postfix/main.cf
    Thêm hoặc sửa đổi các giá trị sau:
    Mã:
    relayhost = [smtp.gmail.com]: 587
    smtp_use_tls = yes
    smtp_sasl_auth_enable = yes
    smtp_sasl_security_options =
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt
    
    Lưu lại và đóng tập tin.

    OpenSUSE:
    Chỉnh sửa tập tin cấu hình chính Postfix:
    Mã:
    vi /etc/postfix/main.cf
    Thêm hoặc sửa đổi các giá trị sau:
    Mã:
    relayhost = [smtp.gmail.com]:587
    smtp_use_tls = yes
    smtp_sasl_auth_enable = yes
    smtp_sasl_security_options =
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_tls_CAfile = /etc/ssl/ca-bundle.pem
    
    Lưu lại và đóng tập tin.

    OpenSUSE còn yêu cầu tập tin cấu hình master.cf phải được sửa đổi. Mở nó ra để chỉnh sửa:
    Mã:
    vi /etc/postfix/master.cf
    Xác định vị trí dòng cần sửa:
    Mã:
    #tlsmgr unix - - n 1000? 1 tlsmg
    Uncomment dòng đó
    Mã:
    tlsmgr unix - - n 1000? 1 tlsmg
    Lưu lại và đóng tập tin.

    FreeBSD:
    Chỉnh sửa tập tin cấu hình chính Postfix:
    Mã:
    vi /usr/local/etc/postfix/main.cf
    Thêm hoặc sửa đổi các giá trị sau:
    Mã:
    relayhost = [smtp.gmail.com]:587
    smtp_use_tls = yes
    smtp_sasl_auth_enable = yes
    smtp_sasl_security_options =
    smtp_sasl_password_maps = hash:/usr/local/etc/postfix/sasl_passwd
    smtp_tls_CAfile = /etc/mail/certs/cacert.pem
    
    Lưu lại và đóng tập tin.

    4. Xử lý tập tin mật khẩu
    Sử dụng postmap để biên dịch và băm các nội dung của sasl_passwd. Kết quả sẽ được lưu trữ trong thư mục cấu hình Postfix của bạn trong tập tin sasl_passwd.db.
    Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux:
    Mã:
    postmap /etc/postfix/sasl_passwd
    FreeBSD:
    Mã:
    postmap /usr/local/etc/postfix/sasl_passwd


    5. Khởi động lại Postfix

    Khởi động lại dịch vụ Postfix, để các thay đổi có hiệu lực.
    Debian, Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux:
    Mã:
    systemctl restart postfix.service
    FreeBSD:
    Để khởi động dịch vụ Postfix trong chỉ duy nhất một session:
    Mã:
    service postfix onestart
    Để khởi động Postfix tự động khi hệ thống mở lên, mở tập tin /etc/rc.conf để chỉnh sửa:
    Mã:
    vi /etc/rc.conf
    Thêm dòng:
    Mã:
    postfix_enable = YES
    Lưu lại và đóng tập tin. Sau đó bạn có thể chạy:
    Mã:
    service postfix start
    Để khởi động Postfix.

    6. Kích hoạt tính năng "Less Secure Apps"" trong Gmail
    Theo mặc định, chỉ có một đăng nhập an toàn nhất, chẳng hạn như đăng nhập vào Gmail trên web, được phép cho tài khoản Gmail của bạn. Để cho phép các relay request, đăng nhập vào tài khoản Gmail của bạn và bật tính năng Allow less secure apps.
    Để biết thêm thông tin, xem xét các tài liệu hỗ trợ của Google "Allowing less secure apps to access your account."

    7. Gửi một email thử nghiệm
    Kiểm tra cấu hình mới của bạn bằng cách gửi thư điện tử bằng cách sử dụng lệnh mail. Chạy:
    Mã:
    mail -s "Test subject" recipient@domain.com
    Bạn sẽ được trình bày với một dòng trống (hoặc CC: field, trong đó bạn có thể bỏ qua bằng cách nhấn Enter). Gõ nội dung tin nhắn của bạn sau đó nhấn vào phím Enter cho các dòng mới. Khi bạn đang soạn xong email, nhấn Ctrl-D để gửi nó. Để hủy các email, nhấn Ctrl-C hai lần.

    Để gửi một email precomposed, sử dụng lệnh:
    Mã:
    mail -s "Subject Here" recipient@domain.com < textfile
    Trường textfile là tên của một tập tin chứa văn bản được gửi đi.

    Xử lý sự cố
    Nếu các cấu hình không làm việc, kiểm tra các bản log cho bất kỳ lỗi nào Postfix:
    Debian:
    Mã:
    less /var/log/mail.log
    Ubuntu, Fedora, CentOS, OpenSUSE, Arch Linux:
    Mã:
    journalctl
    FreeBSD:
    Mã:
    less /var/log/maillog
    Nếu bạn nhận được lỗi xác thực từ Gmail, xác minh rằng Allow Less Secure Apps đã được bật trong cài đặt tài khoản Gmail của bạn, như quy định trong bước 6.

    Xác minh rằng tập tin mật khẩu sasl_passwd tồn tại, và nội dung của nó được định dạng chính xác, theo quy định ở bước 2. Nếu bạn thực hiện bất kỳ thay đổi trong tập tin mật khẩu, hãy chắc chắn lặp lại bước 4 và 5 để băm tập tin mật khẩu mới và khởi động lại Postfix.

    Nếu bạn thấy bất kỳ lỗi TLS, kiểm tra lại cấu hình trong main.cf như quy định trong bước 3. Nếu bạn thực hiện bất kỳ thay đổi cấu hình, khởi động lại Postfix như quy định trong bước 5.
     

Chia sẻ trang này

Đang tải...