ฉันพยายามกำหนดค่า postfix relay ใน kubernetes บน Alpine โดยใช้ saslauthd
ไฟล์นักเทียบท่า:
จากเทือกเขาแอลป์:3.15
อัปเดต RUN apk && \
apk เพิ่ม --no-cache postfix \
libsasl \
ไซรัส-sasl \
cyrus-sasl-เข้าสู่ระบบ \
ไซรัส-sasl-ธรรมดา \
opensl \
เงา \
ใบรับรอง ca \
ทุบตี \
rsyslog \
หัวหน้างาน && \
/usr/bin/newaliases && \
cp /etc/passwd /etc/passwd_orig && \
# ทำความสะอาด
(rm "/tmp/"* 2>/dev/null || จริง) && (rm -rf /var/cache/apk/* 2>/dev/null || จริง)
เปิดเผย 25
สำเนา ./configs/supervisord.conf /etc/supervisor/supervisord.conf
Supervisord.conf:
[หัวหน้างาน]
โนดาเอมอน=จริง
logfile=/var/log/supervisord.log
logfile_maxbytes=0
[โปรแกรม: rsyslog]
command=/usr/sbin/rsyslogd -n
[โปรแกรม: postfix]
command=/usr/libexec/postfix/master -c /etc/postfix -d
[โปรแกรม:saslauthd]
command=/usr/sbin/saslauthd -a เงา
startecs=0
การตั้งค่าคอนฟิกเซิร์ฟเวอร์คือ:
แมว /etc/default/saslauthd
กลไก = "เงา"
แมว /etc/postfix/sasl/smtpd.conf
pwcheck_method: saslauthd
mech_list: เข้าสู่ระบบธรรมดา
แมว /etc/postfix/mail.cf
ความเข้ากันได้_ระดับ = 2
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = โปรแกรมแก้ไขภายหลัง
known_local_recipient_reject_code = 550
debug_peer_level = 2
debugger_command =
PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
ddd $daemon_directory/$process_name $process_id & สลีป 5
sendmail_path = /usr/sbin/sendmail
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = เลื่อนลง
html_directory = ไม่
manpage_directory = /usr/share/man
sample_directory = /etc/postfix
readme_directory = /usr/share/doc/postfix/readme
inet_protocols = ipv4
meta_directory = /etc/postfix
shlib_directory = /usr/lib/postfix
บิฟ = ไม่
append_dot_mydomain = ไม่
Broken_sasl_auth_clients = ใช่
inet_interfaces = ทั้งหมด
mailbox_size_limit = 0
mydestination = โลคอลโฮสต์
โดเมนของฉัน = example.com
ชื่อโฮสต์ของฉัน = server.example.com
myorigin = server.example.com
รีเลย์โฮสต์ = รีเลย์โฮสต์ DNS
smtp_fallback_relay = รีเลย์โฮสต์ DNS
smtp_sasl_auth_enable = ใช่
smtp_sasl_password_maps = lmdb:/etc/postfix/sasl_passwd
smtp_sasl_security_options = ไม่ระบุตัวตน
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
check_relay_domains
smtpd_sasl_auth_enable = ใช่
smtpd_sasl_local_domain = server.example.com
cyrus_sasl_config_path = /etc/postfix/sasl
smtpd_sasl_path = smtpd
smtpd_sasl_security_options = ไม่ระบุตัวตน
แมว /etc/postfix/sasl_passwd
รีเลย์โฮสต์ DNS รีเลย์ผู้ใช้: รหัสผ่านรีเลย์
หลังจากระบุรูปแบบที่เข้ารหัส base64 ของ \0ชื่อผู้ใช้\0รหัสผ่าน ฉันใช้ telnet เพื่อตรวจสอบการเชื่อมต่อและการรับรองความถูกต้อง
AUTH LOGIN การรับรองความถูกต้อง wokrs ถูกต้อง แต่ AUTH PLATN ไม่ใช่ ฉันได้รับข้อผิดพลาดจากไคลเอ็นต์ telnet ของฉัน:
535 5.7.8 ข้อผิดพลาด: การรับรองความถูกต้องล้มเหลว: โปรโตคอลไม่ถูกต้อง / ยกเลิก
และบันทึกถัดไปจากฝั่งเซิร์ฟเวอร์:
2022-03-04T08:07:49.626134+00:00 mailrelay-0 postfix/smtpd[56]:
คำเตือน: การตรวจสอบความถูกต้องของ SASL ล้มเหลว: สามารถค้นหาผู้เขียน/en เท่านั้น (หมายเลข
รหัสผ่าน) 2022-03-04T08:07:49.626159+00:00 mailrelay-0
postfix/smtpd[56]: คำเตือน:
10-244-20-10.openvpn.openvpn.svc.cluster.local[10.244.20.10]: SASL
การตรวจสอบสิทธิ์แบบธรรมดาล้มเหลว: โปรโตคอลไม่ถูกต้อง / ยกเลิก
โปรดบอกฉันว่าปัญหาคืออะไร
ขอขอบคุณ.