Saya sudah membaca ulang dokumen tentang hal ini serta posting lain di sini dan ini masih sangat tidak jelas bagi saya. Saya telah menguji berbagai hal untuk memahami perbedaan antara alias_maps
dan virtual_alias_maps
dan saya tidak melihat penggunaan 2 pengaturan terpisah ini di postfix. Inilah yang saya temukan sejauh ini (Catatan - Saya menggunakan postfix di server yang sama dengan server web saya sebagai klien nol untuk mengirim email saja) :
1) / etc / alias file:
root: [email protected]
Ketika saya menambahkan di atas ke alias_maps
, saya perhatikan bahwa beberapa layanan seperti fail2ban dapat memilih ini dan mengirimkan email root ke alamat email alias yang disebutkan. Namun, saya juga memperhatikan bahwa beberapa layanan lain (seperti mail
perintah) tidak menghargai ini dan mencoba mengirim email langsung ke [email protected] yang tidak ada (saya pikir ini adalah myorigin
pengaturan postfix yang menambahkan @ mydomain.com) . Untuk memperbaiki ini saya kemudian menambahkanvirtual_alias_maps
2) / etc / postfix / virtual
root [email protected]
Ketika hal di atas ditambahkan, semua layanan menggunakan email alias virtual ini. Saya juga memperhatikan bahwa begitu saya menambahkan di atas, bahkan fail2ban mulai mengabaikan pengaturan awal saya dalam /etc/aliases/
file dan mulai mengikuti alamat email yang diberikan dalam file virtual.
Sekarang ini semakin membingungkan saya -
Mengapa kita perlu
/etc/aliases/
ketika memiliki email di dalam alias alias peta yang tampaknya menimpanya?Apa tujuan dari memiliki 2 pemetaan alias terpisah ini dan kapan kita memutuskan kapan akan menggunakan apa?
Mengapa fail2ban (yang dikonfigurasikan ke email
root@localhost
) pertama-tama mengikuti alamat email yang diberikan padaalias_maps
(/ etc / aliases /) dan kemudian memutuskan untuk mengabaikan yang pernahvirtual_alias_maps
ditambahkan?Mengapa semua layanan tidak membaca alias email yang disebutkan di / etc / alias dan mereka hanya berfungsi ketika alias email ditambahkan di peta alias virtual?
Saya telah menghabiskan beberapa jam sejak kemarin dan masih tidak yakin. Bisakah seseorang membantu saya menghilangkan kebingungan saya?
EDIT:
Ini adalah log surat saat email dikirim ke root menggunakan mail root
perintah. Email alias untuk root disebutkan di / etc / aliases /. Tetapi email tidak berfungsi sampai saya memindahkan alias root ini dari email aliases_maps
kevirtual_aliases_maps
Log ketika alias email root disebutkan dalam /etc/aliases/
:
Nov 14 16:39:27 Debian postfix/pickup[4339]: 0F12643432: uid=0 from=<root>
Nov 14 16:39:27 Debian postfix/cleanup[4495]: 0F12643432: message-id=<[email protected]>
Nov 14 16:39:27 Debian postfix/qmgr[4338]: 0F12643432: from=<[email protected]>, size=517, nrcpt=1 (queue active)
Nov 14 16:39:27 Debian postfix/error[4496]: 0F12643432: to=<[email protected]>, orig_to=<root>, relay=none, delay=0.04, delays=0.03/0/0/0.01, dsn=4.4.1, status=deferred (delivery temporarily suspended: connect to domainname.com[128.199.147.136]:25: Connection refused)
Ini adalah log setelah alias email untuk root dipindahkan dari /etc/aliases/
ke /etc/postfix/virtual
mana pengiriman email berhasil setelah perubahan:
Nov 14 16:44:58 Debian postfix/pickup[4545]: ADD9A43436: uid=0 from=<root>
Nov 14 16:44:58 Debian postfix/cleanup[4563]: ADD9A43436: message-id=<[email protected]>
Nov 14 16:44:58 Debian postfix/qmgr[4544]: ADD9A43436: from=<[email protected]>, size=453, nrcpt=1 (queue active)
Nov 14 16:45:00 Debian postfix/smtp[4551]: ADD9A43436: to=<[email protected]>, orig_to=<root>, relay=somesite.com[108.160.157.120]:25, delay=1.9, delays=0.03/0/0.97/0.88, dsn=2.0.0, status=sent (250 OK id=1XpEqC-0002ry-9s)
Nov 14 16:45:00 Debian postfix/qmgr[4544]: ADD9A43436: removed
I also noticed that some other services (like mail command) does not respect this
-> tolong tunjukkan entri maillog terkait dengan kondisi iniJawaban:
Beberapa latar belakang
Postfix mewarisi beberapa fitur dari sendmail lama seperti milter dan alias. File
/etc/aliases
adalah bagian darialiases
warisan dan diimplementasikan olehalias_maps
. Di sisi lain, postfix memilikivirtual_maps
/virtual_alias_maps
untuk menangani email alias. Jadi apa perbedaan di antara mereka?Parameter
alias_maps
Digunakan hanya untuk pengiriman lokal (8)
Menurut kelas alamat di postfix , email akan dikirimkan oleh lokal (8) jika nama domain penerima terdaftar di
mydestination
The masukan lookup hanya bagian lokal dari alamat email lengkap (misalnya myuser dari [email protected]). Ini membuang bagian domain penerima.
Hasil pencarian dapat berisi satu atau lebih hal berikut ini:
Parameter
virtual_alias_maps
Digunakan oleh pengiriman virtual (5)
Selalu dipanggil pertama kali sebelum kelas alamat lainnya. Tidak peduli apakah domain penerima terdaftar di
mydestination
,virtual_mailbox_domains
atau tempat lain. Ini akan mengganti alamat / alias yang ditentukan di tempat lain.The masukan lookup memiliki beberapa format yang
user @ domain : itu akan cocok dengan user @ domain secara harfiah
pengguna : itu akan cocok dengan pengguna @ situs ketika situs sama dengan
$myorigin
, ketika situs terdaftar$mydestination
, atau ketika terdaftar di$inet_interfaces
atau$proxy_interfaces
. Fungsionalitas ini tumpang tindih dengan fungsionalitas alias lokal (5) database.@ domain : ini akan cocok dengan email yang ditujukan untuk
domain
apa pun bagian lokalnyaHasil pencarian harus
$myorigin
jikaappend_at_myorigin
diatur yaSeperti yang Anda lihat di atas,
alias_maps
(/ etc / alias) memiliki beberapa fitur tambahan (di samping penerusan) seperti pemipaan ke perintah. Ini kontras denganvirtual_alias_maps
email yang hanya diteruskan.The
alias_maps
kelemahan yang Anda dapat membedakan jika penerima asli memiliki bentuk [email protected] atau [email protected] . Keduanya akan dipetakan untuk mem-root entrialias_maps
. Di sisi lain Anda dapat menentukan alamat penerusan yang berbedavirtual_alias_maps
.Sebelum virtual_alias_maps ditambahkan : root @ localhost dihapus oleh
alias_maps
karena localhost terdaftar dimydestination
.Setelah virtual_alias_maps ditentukan : Entri
root
(dalam virtual_alias_maps) tidak memiliki bagian domain dan localhost terdaftarmydestination
, sehingga akan cocokroot [email protected]
.Perintah
mail root
akan mengirim email ke root. Karena kekurangan bagian-bagian domain, postfix trivial-rewrite akan menambahkan myorigin ke bagian-bagian domain. Jadi, email akan dikirim ke root @ myorigin .Sebelum virtual_alias_maps ditambahkan : Sayangnya,
myorigin
tidak terdaftarmydestination
, jadi tidak akan aliasalias_maps
.Setelah virtual_alias_maps ditambahkan : Entri
root
(dalam virtual_alias_maps) tidak memiliki bagian domain dan myorigin (jelas) sama denganmyorigin
, sehingga akan cocokroot [email protected]
.sumber
alias_maps
kelemahan yang Anda dapat membedakan ... kata dapat mungkin dimaksudkan untuk menjadi tidak bisa . Kalau tidak, aku tidak bisa memahaminya./etc/aliases
apakah ada terutama untuk pengiriman lokal, misalnya, mail ke root dari cron, dll, itu bagus untuk menjaga alias lokal Anda terpisah,virtual_alias_maps
juga dapat digunakan dengan SQL DB, dan sebagainya.virtual_alias_maps
adalah untuk ketika Anda memiliki pengguna virtual (dan domain virtual), seringkali yang tidak memetakan ke pengguna sistem, tetapi jika Anda tidak memiliki domain virtual, dan sangat sedikit pengguna, fungsi semacam itu mungkin tidak diperlukan.fail2ban tidak peduli, itu hanya mengirimkan email ke MTA.
Anda harus lebih spesifik, layanan apa, bagaimana dan di mana mereka mengirim surat?
sumber
mail root
perintah benar-benar termasuk dalam kategori ini? Mengapa layanan ini tidak mempertimbangkan info di / etc / aliases ketika ini merupakan pengiriman lokal? (2) Mempertimbangkan ini untuk skenario saya, apakah itu praktik yang baik untuk memiliki pengguna alias alamat email yang disebutkan di keduanya/etc/aliases
sertavirtual_alias_maps
mereka bekerja untuk semuanya?/etc/aliases
secara default, pertanyaan yang benar-benar bodoh, Anda menjalankannyanewaliases
setelah memperbarui file, kan? 2. Saya akan mengatakan bahwa itu berlebihan, jika orang akan menerima surat dari mesin lokal, akan lebih baik mengkonfigurasi skrip untuk menggunakan alamat email yang tepat, dengan cara itu akan dialihkan melalui postfix, dan dikirim ke tujuan yang benar.newaliases
setelah perubahan. Satu-satunya hal yang bisa saya pikirkan mengapa tidak menggunakan alias adalah mungkin karena pengaturan postfix yang menambahkan@$domain_name
setelah pengguna dan karenanyavirtual_alias_maps
diperlukan untuk mengarahkan ulang email-email tersebut. Saya membaca ini di postfix docs dan mungkin itu sebabnyamail
perintah untuk me- root tidak bekerja denganaliases
: postfix.org/STANDARD_CONFIGURATION_README.html#some_local Bagaimanapun, terima kasih banyak telah membantu saya memahami Nick yang lebih baik ini. Saya sangat menghargainya .. :)