Alias_maps और virtual_alias_maps के बारे में भ्रमित


22

मैंने पहले ही इस पर डॉक्स के साथ-साथ अन्य पोस्ट यहाँ भी पढ़ लिए हैं और यह अभी भी मेरे लिए बहुत अस्पष्ट है। मैं विभिन्न चीजों का परीक्षण कर रहा हूं alias_mapsऔर बीच के अंतर को समझने के लिए virtual_alias_mapsमैं पोस्टफिक्स में इन 2 अलग सेटिंग्स का उपयोग नहीं देखता। यह वही है जो मैंने अब तक पाया है (नोट - मैं अपने वेब सर्वर के रूप में उसी सर्वर में पोस्टफिक्स का उपयोग कर रहा हूं जो केवल भेजने के लिए null क्लाइंट के रूप में है :

1) / आदि / उपनाम फ़ाइल:

root: me@somedomain.com

जब मैं ऊपर जोड़ता हूं alias_maps, तो मैंने देखा कि कुछ सेवाएँ जैसे कि विफल 2 चैनल इसे लेने में सक्षम हैं और यह रूट ईमेल को उल्लिखित ईमेल पते पर भेजती है। हालाँकि, मैंने यह भी देखा कि कुछ अन्य सेवाएं (जैसे mailकमांड) इसका सम्मान नहीं करती हैं और root@mydomain.com पर सीधे ईमेल भेजने की कोशिश करती हैं, जो मौजूद नहीं है (मुझे लगता है कि इसकी उपसर्ग myoriginसेटिंग @ mydomain.com को जोड़ रही है) । इसे ठीक करने के लिए मैंने फिर जोड़ाvirtual_alias_maps

2) / आदि / उपसर्ग / आभासी

root     me@someotherdomain.com

जब ऊपर जोड़ा जाता है, तो सभी सेवाएं इस आभासी उपनाम ईमेल का उपयोग करती हैं। मैंने यह भी देखा कि एक बार मैं ऊपर जोड़ देता हूं, यहां तक ​​कि fail2ban /etc/aliases/फ़ाइल में अपनी प्रारंभिक सेटिंग्स को अनदेखा करना शुरू कर देता है और वर्चुअल फ़ाइल में दिए गए ईमेल पते का पालन करना शुरू कर देता है।

अब इसने मुझे और भी भ्रमित कर दिया है -

  1. /etc/aliases/वर्चुअल एलियास मैप के अंदर ईमेल होने पर हमें इसकी आवश्यकता क्यों है ?

  2. इन 2 अलग-अलग उपनामों के मानचित्रण होने का उद्देश्य क्या है और हम यह तय करते हैं कि कब क्या उपयोग करना है?

  3. फेल 2बन (जिसे ईमेल में कॉन्फ़िगर किया गया है root@localhost) पहले alias_maps(/ आदि / उपनाम /) में दिए गए ईमेल पते का पालन क्यों करता है और बाद में इसे अनदेखा करने का फैसला करता है कि एक बार virtual_alias_mapsजोड़ा गया था?

  4. सभी सेवाएँ / etc / उपनामों में उल्लिखित ईमेल उपनामों को क्यों नहीं पढ़ती हैं और वे केवल तब काम करती हैं जब ईमेल उपनामों को आभासी उपनाम मानचित्र में जोड़ा जाता है?

मैंने कल से कई घंटे बिताए हैं और अभी भी अनिश्चित हैं। क्या कोई मेरी उलझन को दूर करने में मेरी मदद कर सकता है?

EDIT: यह मेल लॉग होता है जब ईमेल को mail rootकमांड का उपयोग करके रूट पर भेजा जाता है । जड़ के लिए उपनाम ईमेल / etc / aliases / में उल्लिखित है। लेकिन मेल काम जब तक मैं से इस रूट उपनाम ईमेल कदम नहीं करता है aliases_mapsकरने के लिएvirtual_aliases_maps

जब रूट ईमेल उपनाम का उल्लेख किया जाए तो लॉग इन करें /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)

रूट के लिए ईमेल एलियास को स्थानांतरित करने के बाद यह वह जगह /etc/aliases/है /etc/postfix/virtualजहां से ईमेल डिलीवरी को बदलने के बाद सफल होता है:

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-> कृपया इस शर्त से संबंधित मािलोग प्रविष्टि
masegaloeh

@masegaloeh
नील

जवाबों:


35

कुछ पृष्ठभूमि

पोस्टफिक्स को पुराने सेंडल जैसे मिल्टर और अलायस से कुछ विशेषताएं विरासत में मिलीं। फ़ाइल वंशानुक्रम /etc/aliasesका हिस्सा है aliasesऔर इसके द्वारा कार्यान्वित किया जाता है alias_maps। दूसरी ओर, पोस्टफिक्स में ईमेल एलियासिंग के हैंडल के लिए virtual_maps/ है virtual_alias_maps। तो उनके बीच क्या अंतर है?

पैरामीटर alias_maps

  • केवल स्थानीय (8) वितरण के लिए उपयोग किया जाता है

  • पोस्टफ़िक्स में एड्रेस क्लास के अनुसार , प्राप्तकर्ता डोमेन नाम सूचीबद्ध होने पर ईमेल स्थानीय (8) द्वारा वितरित करेगाmydestination

  • देखने इनपुट पूर्ण ईमेल पता से केवल स्थानीय भागों (जैसे myuser@example.com से MyUser) था। यह प्राप्तकर्ता के डोमेन भागों को छोड़ देता है।

  • देखने परिणाम कर सकते हैं एक या निम्न में से अधिक शामिल हैं:

    • ईमेल पता : ईमेल को ईमेल पते पर भेज दिया जाएगा
    • / फ़ाइल / नाम : ईमेल / फ़ाइल / नाम के लिए संलग्न किया जाएगा
    • | आदेश : मेल को पहुंचाया आदेश
    • शामिल हैं: / फ़ाइल / नाम : / फ़ाइल / नाम से उपनाम शामिल करें

पैरामीटर virtual_alias_maps

  • वर्चुअल (5) डिलीवरी द्वारा उपयोग किया जाता है

  • हमेशा किसी भी अन्य पता कक्षाओं से पहले पहली बार आह्वान किया । यह परवाह नहीं है कि क्या प्राप्तकर्ता डोमेन में सूचीबद्ध किया गया mydestination, virtual_mailbox_domainsया अन्य स्थानों पर। यह अन्य स्थानों में परिभाषित पते / उर्फ ​​को ओवरराइड करेगा।

  • देखने इनपुट कुछ प्रारूप है

    • उपयोगकर्ता @ डोमेन : यह उपयोगकर्ता @ डोमेन से शाब्दिक रूप से मेल खाएगा

    • उपयोगकर्ता : यह से मेल खाएगी उपयोगकर्ता @site जब साइट के बराबर है $myorigin, जब साइट में सूचीबद्ध है $mydestination, या यह में सूचीबद्ध है जब $inet_interfacesया $proxy_interfacesयह कार्यक्षमता स्थानीय उपनामों (5) डेटाबेस की कार्यक्षमता के साथ ओवरलैप करती है।

    • @domain : यह domainस्थानीय भागों की परवाह किए बिना किसी भी ईमेल से मेल खाएगा

  • देखने परिणाम होना चाहिए

    • मान्य ईमेल पता
    • डोमेन के बिना उपयोगकर्ता। $myoriginयदि उपसर्ग हांappend_at_myorigin सेट किया जाएगा

आभासी उपनाम मानचित्र के अंदर ईमेल होने पर हमें / etc / उपनामों की आवश्यकता क्यों है?

जैसा कि आप ऊपर देख सकते हैं, alias_maps(/ etc / aliases) में कुछ अतिरिक्त विशेषताएं हैं (अग्रेषण के बगल में) जैसे पाइपिंग टू कमांड। यह इसके साथ virtual_alias_mapsही ईमेल अग्रेषित करता है।

इन 2 अलग-अलग उपनामों के मानचित्रण होने का उद्देश्य क्या है और हम यह तय करते हैं कि कब क्या उपयोग करना है?

alias_mapsकमियां यदि मूल प्राप्तकर्ता रूप है आप अंतर कर सकते हैं कर रहे हैं root@example.com या root@example.net । दोनों को मूल प्रविष्टि में मैप किया जाएगा alias_maps। दूसरे हाथों में आप विभिन्न अग्रेषण पते को परिभाषित कर सकते हैं virtual_alias_maps

क्यों विफल किया गया2bban (जो रूट को स्थानीय @ @ पर ईमेल करने के लिए कॉन्फ़िगर किया गया है) पहले alias_maps (/ etc / aliases /) में दिए गए ईमेल पते का पालन करें और बाद में अनदेखा करने का फैसला करता है कि एक बार virtual_alias_maps जोड़ा गया था?

Virtual_alias_maps के जुड़ने से पहले : root @ localhost को अलियास किया गया alias_mapsक्योंकि लोकलहोस्ट को सूचीबद्ध किया गया था mydestination

Virtual_alias_maps परिभाषित होने के बाद : प्रविष्टि root(virtual_alias_maps में) में डोमेन भाग नहीं होते हैं और लोकलहोस्ट को इसमें सूचीबद्ध किया गया था mydestination, इसलिए यह मेल खाएगा root me@example.com

सभी सेवाएँ / etc / उपनामों में उल्लिखित ईमेल उपनामों को क्यों नहीं पढ़ती हैं और वे केवल तब काम करती हैं जब ईमेल उपनामों को आभासी उपनाम मानचित्र में जोड़ा जाता है?

कमांड mail rootरूट पर ईमेल भेजेगा। क्योंकि डोमेन भागों की कमी है, पोस्टफ़िक्स ट्रिवियल-रीराइट को myorigin को डोमेन भागों में जोड़ा जाएगा। तो, मेल रूट @ myorigin पर भेजा जाएगा ।

Virtual_alias_maps से पहले जोड़ा गया : दुर्भाग्य से, myoriginइसमें सूचीबद्ध नहीं है mydestination, इसलिए यह उपनाम नहीं करेगा alias_maps

Virtual_alias_maps के बाद : प्रविष्टि root(virtual_alias_maps में) के पास डोमेन पुर्जे और myorigin (स्पष्ट रूप से) समान नहीं हैं myorigin, इसलिए यह मेल खाएगा root me@example.com


1
वाक्य में कमियां आप अंतर कर सकते हैं कर रहे हैं ... शब्द कर सकते हैं शायद माना जाता था नहीं कर सकते हैं । अन्यथा मैं इसका कोई मतलब नहीं निकाल सकता। alias_maps
डैनियल बॉमर

2
  1. /etc/aliasesमुख्य रूप से स्थानीय वितरण के लिए है, उदाहरण के लिए, क्रोन से रूट करने के लिए मेल, आदि, अपने स्थानीय उपनामों को अलग रखना अच्छा है, virtual_alias_mapsएसक्यूएल डीबी के साथ भी उपयोग किया जा सकता है, और इसी तरह।

  2. virtual_alias_maps जब आपके पास वर्चुअल उपयोगकर्ता (और वर्चुअल डोमेन) होते हैं, तो अक्सर वह सिस्टम उपयोगकर्ताओं के लिए मैप नहीं करता है, लेकिन यदि आपके पास वर्चुअल डोमेन नहीं है, और बहुत कम उपयोगकर्ता हैं, तो उस प्रकार की कार्यक्षमता आवश्यक नहीं हो सकती है।

  3. fail2ban परवाह नहीं करता है, यह सिर्फ एमटीए के लिए ईमेल प्रस्तुत करता है।

  4. आपको और अधिक विशिष्ट होने की आवश्यकता है, कौन सी सेवाएं, वे कैसे और कहाँ मेल भेजते हैं?


धन्यवाद @NickW कुछ बातें: (1) नहीं: 4 के लिए, मेल कमांड सेवा में से एक है जो ऐसा करती है। मेरा मतलब है कि अगर / etc / उपनाम मुख्य रूप से स्थानीय उपयोगकर्ताओं के लिए स्थानीय वितरण के लिए हैं, तो mail rootक्या वास्तव में इस श्रेणी में नहीं आना चाहिए? जब यह एक स्थानीय डिलीवरी है, तो यह सेवा / etc / aliases की जानकारी पर विचार क्यों कर रही है? (२) मेरे परिदृश्य के लिए इन पर विचार करते हुए, क्या यह एक अच्छा अभ्यास है कि उपयोगकर्ता उपनाम ईमेल पते दोनों में उल्लिखित हैं और /etc/aliasesसाथ ही virtual_alias_mapsवे सब कुछ के लिए काम करते हैं?
नील

1
1. ठीक है, मेल कमांड को /etc/aliasesडिफ़ॉल्ट रूप से उपयोग करना चाहिए , वास्तव में बेवकूफ सवाल है, आपने newaliasesफ़ाइल को अपडेट करने के बाद चलाया था , है ना? 2. मैं कहूंगा कि यह ओवरकिल है, अगर लोगों को स्थानीय मशीन से मेल प्राप्त होगा, तो यह उनके उचित ईमेल पते का उपयोग करने के लिए स्क्रिप्ट को कॉन्फ़िगर करने के लायक होगा, इस तरह इसे पोस्टफिक्स के माध्यम से रूट किया जाएगा, और सही गंतव्य पर पहुंचाया जाएगा।
निकडब्ल्यू

हाय @NickW हाँ मैंने newaliasesबदलाव के बाद उपनामों का पुनर्निर्माण किया । केवल एक चीज जो मैं सोच सकता हूं कि इसका उपयोग उपनाम क्यों नहीं है शायद @$domain_nameउपयोगकर्ता के बाद पोस्टफ़िक्स सेटिंग के कारण होता virtual_alias_mapsहै और इसलिए उन ईमेलों को पुनर्निर्देशित करने की आवश्यकता होती है। मैं इसे पोस्टफिक्स डॉक्स में पढ़ता हूं और शायद यही कारण है कि mailरूट करने के लिए कमांड के साथ काम नहीं कर रहा है aliases: पोस्टफिक्स डॉट ओआरजीएसईआरडीईआरडीईआरडॉटइन_आरएडीएमईएमई.ओएएसईएमईएमओएल_ओक्लोमी किसी भी तरह, मुझे इस बेहतर निक को समझने में मदद करने के लिए बहुत बहुत धन्यवाद। मैं वास्तव में इसकी सराहना करता हूं .. :)
नील

खुशी है कि मदद की :)
निक डब्ल्यूडब्ल्यू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.