Alias_maps ve virtual_alias_maps hakkında karıştı


22

Bu konudaki dokümanları ve buradaki diğer yayınları çoktan okudum ve bu hala benim için belirsiz. Ben arasındaki farkı anlamak için çeşitli işler test edilmiş alias_mapsve virtual_alias_mapsben postfix bu 2 ayrı ayarların kullanımını görmüyorum. Şu ana kadar bulduğum şey buydu (Not - Postfix'i, web sunucumla aynı sunucuda, sadece e-posta göndermek için boş istemci olarak kullanıyorum) :

1) / etc / aliases dosyası:

root: me@somedomain.com

Yukarıdakileri eklediğimde, alias_mapsfail2ban gibi bazı servislerin bunu seçebildiğini ve belirtilen diğer ad e-posta adreslerine kök e-postalar gönderdiğini fark ettim. Ancak, diğer bazı hizmetlerin ( mailkomut gibi ) buna saygı göstermediğini ve e-postayı doğrudan varolmayan root@mydomain.com adresine göndermeye çalıştığını da farkettim (sanırım myorigin@ alanadim.com adresini ekleyen postfix ayarı olduğunu düşünüyorum ). . Bunu düzeltmek için sonra ekledivirtual_alias_maps

2) / etc / postfix / sanal

root     me@someotherdomain.com

Yukarıdakiler eklendiğinde, tüm hizmetler bu sanal diğer adı e-postasını kullanır. Ayrıca yukarıdakileri eklediğimde, fail2ban'ın bile /etc/aliases/dosyadaki ilk ayarlarımı görmezden gelmeye başladığını ve sanal dosyada verilen e-posta adresini izlemeye başladığını fark ettim .

Şimdi bu beni daha da karıştırdı.

  1. /etc/aliases/E-postayı sanal takma adlar haritasına koyarken neden buna ihtiyacımız var?

  2. Bu iki ayrı takma ad haritasının amacı nedir ve ne zaman ne kullanılacağına ne zaman karar veririz?

  3. Neden fail2ban (e-postayla yapılandırılmış root@localhost) ilk önce alias_maps(/ etc / aliases /) içinde verilen e-posta adresini takip etti ve daha sonra bir kere virtual_alias_mapseklendiğini görmezden geldi?

  4. Neden tüm servisler / etc / aliases içinde belirtilen e-posta takma adlarını okumuyor ve sadece e-posta takma adı sanal takma ad haritasına eklendiğinde çalışıyor?

Dünden beri birkaç saat geçirdim ve hala emin değilim. Birisi kafamı karıştırmama yardımcı olabilir mi?

DÜZENLEME: Bu mail rootkomut kullanılarak e-posta kök köküne gönderildiğinde posta günlüğüdür . Kök için takma ad e-postası / etc / aliases / içinde belirtilir. Ben bu kök adlar e taşıyana kadar Ama posta iş yapmaz aliases_mapsetmekvirtual_aliases_maps

Kök e-posta takma adının belirtildiği günlüğe giriş yapın /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=<20141114110927.0F12643432@Debian.domainname.com>

Nov 14 16:39:27 Debian postfix/qmgr[4338]: 0F12643432: from=<root@domainname.com>, size=517, nrcpt=1 (queue active)

Nov 14 16:39:27 Debian postfix/error[4496]: 0F12643432: to=<root@domainname.com>, 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)

Bu taşınır root için e-posta takma sonra günlüğü olduğu /etc/aliases/için /etc/postfix/virtuale-posta dağıtım değişiklikten sonra başarılı olduğu:

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=<20141114111458.ADD9A43436@Debian.domainname.com>

Nov 14 16:44:58 Debian postfix/qmgr[4544]: ADD9A43436: from=<root@domainname.com>, size=453, nrcpt=1 (queue active)

Nov 14 16:45:00 Debian postfix/smtp[4551]: ADD9A43436: to=<admin@somesite.com>, 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-> Lütfen bu durumla ilgili posta girişini göster
masegaloeh

@masegaloeh Gönderimi posta günlüğüyle güncellendi
Neel

Yanıtlar:


35

Bazı arka plan

Postfix, milter ve diğer adlar gibi eski sendmail’deki bazı özellikleri miras aldı. Dosya mirasın bir /etc/aliasesparçasıdır aliasesve tarafından uygulanmaktadır alias_maps. Öte yandan, postfix, virtual_maps/ virtual_alias_mapsemail eposta takma işlemine sahiptir . Öyleyse aralarındaki fark nedir?

Parametre alias_maps

  • Sadece yerel (8) teslimat için kullanılır

  • Posta adresindeki adres sınıfına göre , eğer alıcı alan adları listede listeleniyorsa , e-posta yerel (8) tarafından teslim edilir .mydestination

  • Arama girişi tam e-posta adresiyle yalnızca yerel parçaları (örn myuser myuser@example.com itibaren) idi. Alıcının etki alanı bölümlerini atar.

  • Arama sonucu kutu bir veya birden fazla aşağıdakilerden içerir:

    • e-posta adresi : e-posta, e-posta adresine iletilir
    • / dosya / ad : e-posta / dosya / ad'a eklenecek
    • | komut : posta yöneltilen komutu
    • : include: / file / name: / file / name kaynağının diğer adını içerir

Parametre virtual_alias_maps

  • Sanal (5) teslimat tarafından kullanılır

  • Her zaman başka bir adres sınıfından önce ilk kez çağrılır . Bu alıcı etki alanının listelenen edilip umursamıyor mydestination, virtual_mailbox_domainsya da başka yerlerde. Başka yerlerde tanımlanan adresi / diğer adı geçersiz kılar.

  • Arama girişi bazı biçimdedir

    • user @ domain : user @ domain ile tam olarak eşleşecektir

    • Kullanıcı : o maç olacak kullanıcı sitesi eşit olduğu zaman @site $myoriginsitesi listelenen zaman, $mydestinationya da listelenen edildiğinde $inet_interfacesveya $proxy_interfaces. Bu işlev, yerel diğer ad (5) veritabanının işlevselliği ile çakışmaktadır.

    • @alana : domainyerel parçalardan bağımsız olarak amaçlanan herhangi bir e-postayla eşleşecek

  • Arama sonucu olmalıdır

    • Geçerli E
    • etki alanı olmayan kullanıcı. Postfix ekler $myorigineğer append_at_myoriginseti evet

Sanal takma adlar haritasındaki e-postaya sahipken neden / etc / aliases'e ihtiyacımız var?

Yukarıda gördüğünüz gibi, alias_maps(/ etc / aliases) komut verme için boru gibi bazı ek özelliklere sahiptir. Bu virtual_alias_mapssadece ileri e-posta ile tezat oluşturuyor .

Bu iki ayrı takma ad haritasının amacı nedir ve ne zaman ne kullanılacağına ne zaman karar veririz?

alias_mapsDezavantajları orijinal alıcı formu varsa sen ayırt edebilir vardır root@example.com veya root@example.net . Her ikisi de içindeki kök girişine eşlenecek alias_maps. Diğer ellerde ile farklı yönlendirme adresleri tanımlayabilirsiniz virtual_alias_maps.

Neden fail2ban (root @ localhost'a e-posta gönderecek şekilde yapılandırılmış) ilk önce alias_maps (/ etc / aliases /) içinde verilen e-posta adresini takip etti ve daha sonra sanal_alias_maps eklendiğinde bunu görmezden gelmeye karar verdi?

Virtual_alias_maps eklenmeden önce : root @ localhost, alias_mapslocalhost listelendiği için takma ad aldı mydestination.

Virtual_alias_maps tanımlandıktan sonra : Girdi root(virtual_alias_maps'ta) etki alanı bölümlerine sahip değil ve localhost listelendi mydestination, böylece eşleşecek root me@example.com.

Neden tüm servisler / etc / aliases içinde belirtilen e-posta takma adlarını okumuyor ve sadece e-posta takma adı sanal takma ad haritasına eklendiğinde çalışıyor?

Komut mail rootkök dizine e-posta gönderecek. Etki alanı bölümlerinin olmaması nedeniyle, önemsiz yeniden yazma postfix myorigin'i etki alanı bölümlerine ekleyecektir. Böylece mail root @ myorigin'e gönderilecektir .

Virtual_alias_maps eklenmeden önce : Maalesef, myoriginlistede yer almıyor mydestination, bu nedenle diğer isimleri kullanmaz alias_maps.

Virtual_alias_maps eklendikten sonra : Girdi root(virtual_alias_maps'ta) etki alanı bölümlerine sahip değildir ve myorigin (açıkça) aynıdır myorigin, bu nedenle eşleşir root me@example.com.


1
Cümlede dezavantajları ... sen ayırt edebilir olan kelime olabilir muhtemelen olması gerekiyordu olamaz . Aksi halde, hiçbir anlam ifade edemiyorum. alias_maps
Daniel Böhmer

2
  1. /etc/aliasesÖncelikle yerel dağıtım için, örneğin, cron'dan kök kökene posta, vb., yerel takma adlarınızı ayrı tutmak güzel virtual_alias_maps, ayrıca SQL DB'ler ile de kullanılabilir.

  2. virtual_alias_maps genellikle sistem kullanıcıları ile eşleşmeyen, sanal kullanıcılara (ve sanal etki alanlarına) sahip olduğunuz içindir, ancak sanal etki alanlarınız yoksa ve çok az kullanıcı varsa, bu tür bir işlevsellik gerekli olmayabilir.

  3. fail2ban umursamıyor, sadece MTA'ya e-posta gönderiyor.

  4. Daha spesifik olmanız gerekir, hangi hizmetleri, nasıl ve nereye posta gönderirler?


Teşekkürler @NickW birkaç şey: (1) No: 4 için mail komutu bunu yapan hizmetlerden biridir. Eğer / etc / aliases öncelikle yerel kullanıcılara yerel dağıtım yapmak için ise, mail rootaslında bu kategoriye girmemeli midir? Yerel bir teslimat olduğunda neden / etc / aliases içindeki bilgileri dikkate alarak bu hizmet neden olmasın? (2) Bunları benim senaryom için göz önünde bulundurursak, kullanıcının takma adların her ikisinde /etc/aliasesde olduğu gibi e-posta adreslerini de belirtmesi iyi bir uygulama virtual_alias_mapsmıdır?
Neel

1
1. Tamam, mail komutu /etc/aliasesvarsayılan olarak kullanmalı , gerçekten aptalca bir soru, newaliasesdosyayı güncelledikten sonra çalıştırdınız , değil mi? 2. Eğer insanlar yerel makineden posta alacaklarsa, betiklerin uygun e-posta adreslerini kullanacak şekilde yapılandırılmaya değer olduğunu, bu şekilde posta ekine yönlendirileceğini ve doğru hedefe ulaştırılacağını söyleyebilirim.
Nick

hi @NickW evet newaliasesDeğişiklikten sonra takma takma adları yeniden yaptım . Neden takma ad kullanmadığını düşünebildiğim tek şey, belki @$domain_namekullanıcının ardından ekleyen postfix ayarından kaynaklanıyor ve bu nedenle virtual_alias_mapsbu e-postaları yönlendirmek için gerekli. Bunu postfix belgelerinde okudum ve belki de mailroot komutunun çalışmadığı neden aliases: postfix.org/STANDARD_CONFIGURATION_README.html#some_local Her neyse, bunu daha iyi anlamama yardımcı olduğum için teşekkür ederim. Gerçekten minnettarım .. :)
Neel

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.