postfix smtp kết nối đã hết thời gian, tại sao?


7

Một máy chủ web CentOS 7 đã cài đặt postfix, dovecot và mailx. Tôi đã có thể tạo kết nối IMAP đến máy chủ để đọc thư trong hộp thư đến bằng ứng dụng khách Thunderbird từ xa, nhưng tôi không thể tạo kết nối SMTP để gửi email từ Thunderbird. Khi tôi làm pháp y, tôi phát hiện ra rằng kết nối SMTP đã cố gắng hết thời gian. Làm cách nào tôi có thể giải quyết vấn đề hết thời gian kết nối này để tôi có thể gửi email từ Thunderbird qua máy chủ?

Pháp y của tôi cho đến nay đã dẫn đến:

Nhập hostnamevào thiết bị đầu cuối tại máy chủ trả về mydomain.com.

nano /usr/lib/firewalld/services/smtp.xml cho biết cổng smtp là 25

Dịch vụ smtp được kích hoạt trong khu vực công cộng vì firewall-cmd --list-allkết quả là:

public (default, active)
  interfaces: enp3s0
  sources: 
  services: dhcpv6-client imaps openvpn smtp
  ports: 
  masquerade: yes
  forward-ports: 
  icmp-blocks: 
  rich rules: 

Nhưng khi tôi cố gắng telnet từ devbox của mình đến máy chủ CentOS 7 từ xa, tôi nhận được kết quả như sau. Gõ telnet mydomain.com 25kết quả là:

Trying my.SERVER.ip.addr...
telnet: connect to address my.SERVER.ip.addr: Connection timed out

Sau đó gõ telnet smtp.mydomain.com 25kết quả vào:

Trying my.SERVER.ip.addr...
telnet: connect to address my.SERVER.ip.addr: Connection timed out

Ngoài ra, gõ openssl s_client -CApath /etc/ssl/certs -starttls smtp -port 25 -host smtp.mydomain.comkết quả trong:

socket: Connection timed out
connect:errno=110

Tương tự, gõ openssl s_client -CApath /etc/ssl/certs -starttls smtp -port 25 -host mydomain.comcũng dẫn đến:

socket: Connection timed out
connect:errno=110

Tôi gõ nano /etc/postfix/main.cfđể bắt đầu kiểm tra cấu hình, nhưng không tìm thấy gì liên quan đến cổng.

BIÊN TẬP:

Theo lời khuyên của FaheemMitha, tôi đã thử telnet mydomain.com 587từ khách hàng và nhận được No route to hostphản hồi. Tôi nghĩ điều này là do chỉ cổng 25 được mở trong tường lửa cho smtp.

Do đó, tôi nghĩ sẽ thử telnet từ máy chủ từ xa mydomain.com. Khi tôi đăng nhập vào máy chủ từ xa thông qua ssh và gõ telnet localhost 25, kết quả là:

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mydomain.com ESMTP Postfix  

Điều này khiến tôi nghi ngờ rằng postfix đang chạy trên cổng 25, nhưng bằng cách nào đó nó không thể chấp nhận các kết nối bên ngoài.

EDIT # 2

Theo đề nghị của @ RedCricket, tôi đã chạy iptables -L. Vì kết quả dài dòng, tôi đã tải chúng lên một trang chia sẻ tệp mà bạn có thể xem bằng cách nhấp vào liên kết này.

Tôi cũng đã thử iptables --flushtheo sau firewall-cmd --reload, và sau đó lặp lại các bài kiểm tra telnet và thunderbird từ phía trên, nhưng tôi vẫn nhận được lỗi hết thời gian kết nối.

Tôi có thể thử cái gì khác?

Tôi đã tải toàn bộ /etc/postfix/main.cflên một trang web chia sẻ tập tin. Bạn có thể đọc nó bằng cách nhấp vào liên kết này.

EDIT # 3

Một địa chỉ email hợp lệ someone.else@some_other_domain.com gửi email đến me@mydomain.com mà không gặp vấn đề gì. Do đó, như một thử nghiệm, tôi đã có ứng dụng khách Thunderbird từ xa của mình cố gắng gửi email đến ai đó.else@some_other_domain.com như một phần của công việc được ghi lại ở trên OP này. Sáng nay, tôi nhận được tin nhắn trả lại cho người gửi trong Thunderbird của tôi do email kiểm tra. Tôi giải thích tin nhắn trả về này có nghĩa là ít nhất một trong số các tin nhắn thử nghiệm của tôi từ Thunderbird đã vào SMTP trên mydomain.com, nhưng mydomain.com không thể tra cứu hoặc kết nối với some_other_domain.com. Đây là thông điệp:

This is the mail system at host mydomain.com.

I'm sorry to have to someone.elserm you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The mail system

<someone.else@some_other_domain.com>: Host or domain name not found. Name service error for
    name=some_other_domain.com type=MX: Host not found, try again

Reporting-MTA: dns; mydomain.com
X-Postfix-Queue-ID: 2C915811BD1C
X-Postfix-Sender: rfc822; me@mydomain.com
Arrival-Date: Mon, 23 Feb 2015 16:46:34 -0500 (EST)

Final-Recipient: rfc822; someone.else@some_other_domain.com
Action: failed
Status: 4.4.3
Diagnostic-Code: X-Postfix; Host or domain name not found. Name service error
    for name=some_other_domain.com type=MX: Host not found, try again

ForwardedMessage.eml
Subject: key enclosed
From: me@mydomain.com
Date: 02/23/2015 01:46 PM
To:    someone.else@some_other_domain.com

this is the body of the email  

Do đó, dường như đôi khi kết nối từ devbox từ xa của tôi đến mydomain.com bị đóng và vào thời điểm khác, kết nối từ mydomain.com đến phần còn lại của internet bị đóng.

EDIT # 4

Theo lời khuyên của @ derobert, trước tiên tôi đã thử hai lệnh telnet từ devbox đến máy chủ, sau đó tôi đã cố gắng gửi email từ me@mydomain.com bằng ứng dụng Thunderbird trên devbox của mình và sau đó tôi đã chạy lệnh tcpdump trên cả hai devbox và trên máy chủ. Gõ tcpdump port 25vào thiết bị đầu cuối devbox dẫn đến kết quả như sau:

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

nghe trên tun0, RAW loại liên kết (IP thô), kích thước chụp 65535 byte ^ C 0 gói được bắt 0 gói nhận bởi bộ lọc 0 gói bị bỏ bởi kernel

Tiếp theo, gõ tcpdumptrên máy chủ dẫn đến kết quả đầu ra lớn đến mức các kết quả cuộn vô tận cho đến khi tôi gõ Ctrl-C. Vì vậy, sau đó tôi đã gõ tcpdump port 25và nhận được kết quả như sau:

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel

Vì tò mò, sau đó tôi đã gõ tcpdump port 25lại đồng thời trên cả devbox và máy chủ và để nó mở mà không cần gõ Ctrl-Cvà tôi đã cố gắng gửi email thủ công từ me@mydomain.com bằng ứng dụng Thunderbird trên devbox của mình. Tôi vẫn gặp lỗi Hết thời gian kết nối tương tự, nhưng không có hoạt động nào được báo cáo bởi các tcpdump port 25lệnh mở . Và tổng số cũng tăng lên 0 khi tôi gõ Ctrl-Cvào cả hai thiết bị đầu cuối sau đó.

Câu trả lời:


5

Sau nhiều lần khắc phục sự cố , chúng tôi đã xác định rằng ISP ở phía máy khách đang chặn cổng 25 (SMTP) đi. Điều đó đã được xác nhận bằng cách sử dụng một trang web kiểm tra máy chủ thư ngẫu nhiên trên Internet và thấy rằng nó có thể kết nối với máy chủ thư tốt. Các gói SMTP từ máy khách hoàn toàn không đến (xác nhận qua tcpdump).

Giải pháp là cấu hình lại trình nghe SMTP trên một cổng khác. 465 (SMTP qua SSL) và 587 (gửi thư, RFC6409) là các tùy chọn phổ biến.


Cảm ơn bạn và +1 đã dành thời gian để giúp tôi biết rằng đây là sự cố cổng. Đối với những độc giả khác về điều này, xin lưu ý rằng câu hỏi của người nghe SMTP vẫn chưa được giải quyết và nằm trong câu hỏi khác này: unix.stackexchange.com/questions/187807/
CodeMed
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.