Tôi đã kế thừa một máy chủ postfix chạy trên RedHat. Đây là một bản dựng không có giấy tờ, nhưng rất quan trọng đối với hoạt động kinh doanh (Không phải tất cả chúng ta đều thích chúng sao?)
Nó đã phát triển các vấn đề với việc gửi thư bị chậm trễ và tồn đọng. Các sự cố được báo cáo lần đầu cách đây vài tuần nhưng có thể xảy ra sau một khoảng thời gian không xác định.
Trải nghiệm *nix của tôi không được tốt, nhưng tôi đã có thể khám phá hệ thống đủ để xác định rằng khi máy chủ gặp phải tình trạng tồn đọng, nó sẽ báo cáo thời gian chờ kết nối tới các chuyển tiếp SMTP ngược dòng tại tổ chức của tôi.
Lỗi Ví dụ:
*3D27412A016
4187
Thứ ba ngày 19 tháng 4 17:04:26
[email protected]
(tạm ngừng truyền: kết nối với UpstreamRelayA4.doi.net[10.xx.xx.206]:25: Đã hết thời gian kết nối)
Người dù[email protected]*
Tuy nhiên, chủ sở hữu chuyển tiếp ngược dòng báo cáo rằng họ không có lỗi phù hợp trong nhật ký của họ từ máy chủ SMTP này. Đối với tổ chức của tôi, chỉ có một bản ghi MX với 4 máy chủ chuyển tiếp. Có thể truy cập tất cả 4 từ máy chủ SMTP của tôi qua telnet trên cổng 25, tuy nhiên, 3 trong số 4 đã hết thời gian trong nhật ký hậu tố.
Bất kỳ mẹo nào về cách theo dõi lý do tại sao postfix cho rằng chúng đã hết thời gian?
Đã thêm 20/4/22 - đầu ra postconf -n
[USERNAME@mailer ~]$ postconf -n
alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
bị hỏng_sasl_auth_clients = có
thư mục lệnh = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
debug_peer_level = 2
debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb
$daemon_directory/$ process_name $ process_id & ngủ 5
disable_vrfy_command = có
html_directory = không
inet_interfaces = tất cả
inet_protocols = ipv4
local_recipient_maps =
mail_owner = hậu tố
mail_spool_directory = /var/mail
hộp thư_size_limit = 0
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
maximal_queue_lifetime = 1d
message_size_limit = 30720000
mydestination = $myhostname, localhost.$mydomain, localhost
myhostname = mailer.domain.org.com
mạng của tôi =
127.0.0.0/8,165.83.0.0/16,10.0.0.0/8,64.241.25.0/24,172.16.0.0/12
nguồn gốc của tôi = $ tên miền của tôi
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.10.1/README_FILES
relayhost = relayLOCATION.parentorg.com
sample_directory = /usr/share/doc/postfix-2.10.1/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_tls_note_starttls_offer = có
smtp_use_tls = có
smtpd_delay_reject = có
smtpd_helo_required = có
smtpd_helo_restrictions=
permit_mynetworks,reject_non_fqdn_helo_hostname,reject_invalid_helo_hostname,permit
smtpd_policy_service_max_idle = 5s
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_sasl_auth_enable = có
smtpd_sasl_authenticated_header = có
smtpd_sasl_local_domain =
smtpd_sasl_security_options = vô danh
smtpd_sender_restrictions = permit_mynetworks,reject_non_fqdn_sender,permit
smtpd_tls_CAfile = /etc/postfix/ssl/mailer_DOMAIN_ORG_COM.pem
smtpd_tls_auth_only = không
smtpd_tls_cert_file = /etc/postfix/ssl/mailer_DOMAIN_ORG_COM.crt
smtpd_tls_key_file = /etc/postfix/ssl/mailer_DOMAIN_ORG_COM.key
smtpd_tls_loglevel = 1
smtpd_tls_security_level = có thể
smtpd_use_tls = có
tls_random_source = dev:/dev/urandom
transport_maps = hash:/etc/postfix/transport
[USERNAME@mailer ~]$
Đã thêm 20/4/22 - đầu ra postconf -M
[USERNAME@mailer ~]$ postconf -M
smtp inet n - n - - smtpd
xe bán tải fifo n - n 60 1 xe bán tải
dọn dẹp unix n - n - 0 dọn dẹp
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - n 1000? 1 tlsmgr
viết lại unix - - n - - viết lại tầm thường
thoát unix - - n - 0 thoát
trì hoãn unix - - n - 0 thoát
dấu vết unix - - n - 0 bị trả lại
xác minh unix - - n - 1 xác minh
tuôn ra unix n - n 1000? 0 tuôn ra
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
chuyển tiếp unix - - n - - smtp -o fallback_relay=
showq unix n - n - - showq
lỗi unix - - n - - lỗi
loại bỏ unix - - n - - loại bỏ
unix cục bộ - n n - - cục bộ
unix ảo - n n - - ảo
lmtp unix - - n - - lmtp
đe unix - - n - 1 đe
scache unix - - n - 1 scache
maildrop unix - n n - - pipe flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
old-cyrus unix - n n - - pipe flags=R user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -m ${extension} ${user}
cyrus unix - n n - - pipe user=cyrus argv=/usr/lib/cyrus-imapd/deliver -e -r ${sender} -m ${extension} ${user}
uucp unix - n n - - pipe flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($người nhận)
ifmail unix - n n - - pipe flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($người nhận)
bsmtp unix - n n - - cờ ống = Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
thử lại unix - - n - - lỗi
proxywrite unix - - n - 1 proxymap
[USERNAME@mailer ~]$
Đã thêm 20/4/22 - Thiết bị giữa các chuyển tiếp thư
Chúng tôi không có khả năng hiển thị mạng hoặc thiết bị bảo mật giữa các rơle. Traceroute chỉ biểu thị 3 bước nhảy, tất cả đều có khả năng là bộ định tuyến tiêu chuẩn dựa trên địa chỉ IP của chúng trong bố cục mạng của chúng tôi.
Đã thêm 20/4/22 - Phiên bản Postfix
Postfix dường như là phiên bản 2.10.1, phiên bản này sẽ cài đặt vào khoảng năm 2013 trên trang Bản phát hành Postfix
Đã thêm 22/4/22 - openssl Kiểm tra kết nối
[USERNAME@mailer ~]$ openssl s_client -connect UPSTREAM_RELAY.ORG.net:25 -starttls smtp -crlf
ĐÃ KẾT NỐI(00000003)
độ sâu=1 DC = mạng, DC = ORG, CN = CA_Server
xác minh lỗi:num=20:không thể lấy chứng chỉ nhà phát hành địa phương
---
Chuỗi chứng chỉ
0 s:/C=US/ST=STATE/L=CITY/O=PARENT_ORG/OU=PARENT_ORG/CN=UPSTREAM_RELAY.ORG.net
i:/DC=net/DC=ORG/CN=CA_Server
1 giây:/DC=net/DC=ORG/CN=CA_Server
i:/CN=ORGRootCA2
---
Chứng chỉ máy chủ
-----BẮT ĐẦU GIẤY CHỨNG NHẬN----
[Nội dung chứng chỉ đã bị xóa]
-----GIẤY CHỨNG NHẬN KẾT THÚC-----
chủ đề=/C=US/ST=STATEA/L=CITY/O=PARENT_ORG/OU=PARENT_ORG/CN=UPSTREAM_RELAY.ORG.net
nhà phát hành=/DC=net/DC=ORG/CN=CA_Server
---
Không có tên CA chứng chỉ ứng dụng khách nào được gửi
Thông báo ký ngang hàng: SHA1
Khóa tạm thời máy chủ: ECDH, P-384, 384 bit
---
Bắt tay SSL đã đọc 5841 byte và ghi 538 byte
---
Mới, TLSv1/SSLv3, Mật mã là ECDHE-RSA-AES256-SHA384
Khóa công khai của máy chủ là 2048 bit
Đàm phán lại an toàn IS được hỗ trợ
Nén: KHÔNG CÓ
Mở rộng: KHÔNG CÓ
Không có ALPN nào được thương lượng
Phiên SSL:
Giao thức: TLSv1.2
Mã: ECDHE-RSA-AES256-SHA384
ID phiên: [ĐÃ XÓA]
Phiên-ID-ctx:
Khóa chính: [ĐÃ LOẠI BỎ]
Key-Arg : Không có
Hiệu trưởng Krb5: Không
Danh tính PSK: Không có
Gợi ý nhận dạng PSK: Không có
Thời gian bắt đầu: 1650649689
Thời gian chờ: 300 (giây)
Xác minh mã trả về: 20 (không thể lấy chứng chỉ của tổ chức phát hành địa phương)
---
250 XSHADOWREQUEST
(Bảng điều khiển chức năng sau này)
Đã thêm 22/4/22 - Maillog grep cho máy chủ không hoạt động
[TÊN NGƯỜI DÙNG@mailer ~]$ sudo mailq | grep UPSTREAM_RELAY_103.ORG.net
(việc gửi tạm thời bị đình chỉ: hội thoại với UPSTREAM_RELAY_103.ORG.net[10.x.x.125] đã hết thời gian trong khi gửi hết dữ liệu -- thư có thể được gửi nhiều lần)
(cuộc trò chuyện với UPSTREAM_RELAY_103.ORG.net[10.x.x.125] đã hết thời gian khi gửi hết dữ liệu -- tin nhắn có thể được gửi nhiều lần)
[Đã xóa trùng lặp, Tất cả các mục nhập cho máy chủ đó đều giống hệt nhau]
Chỉnh sửa lần cuối 27/4/2022
Trong quá trình khắc phục sự cố vào tuần trước, chúng tôi đã phát hiện ra rằng /etc/resolv.conf có một máy chủ tên không còn tồn tại. Sau khi loại bỏ điều này và khởi động lại postfix, chúng tôi dường như không còn nhận được thời gian chờ trong nhật ký nữa và thư sẽ chuyển đi nhanh chóng.
Như @anx đã đề cập trong các nhận xét, điều này không có ý nghĩa gì liên quan đến thời gian chờ kết nối, nhưng ngay sau khi nó được sửa và postfix được khởi động lại, tốc độ gửi đi của chúng tôi đã tăng lên đáng kể và chúng tôi không có bất kỳ sự cố trì hoãn kể từ đó, mặc dù đã thêm hơn 20.000 email thử nghiệm gửi đi mỗi ngày (Tăng khoảng 30% so với lượng thư thông thường).