BackupMX

Postfix as backup MX

MX Backup - Postfix Email Server


Create public DNS entries

Remember to create an MX record with an lower priority than the primary mail server, or else this will not work!


Example:

example.com. 43200 IN MX 10    mail.example.com.

example.com. 43200 IN MX 20    backup.example.com.


#  vi /etc/postfix/main.cf


myhostname = ptrentry.example.com

smtpd_banner = $myhostname ESMTP

mynetworks = 127.0.0.0/24

maximal_queue_lifetime = 30d


relay_recipient_maps = 

relay_domains = hash:/etc/postfix/relaydomains

transport_maps = hash:/etc/postfix/transportmaps


smtpd_recipient_restrictions =

  permit_mynetworks,

  reject_unauth_destination

 

 

Time to configure the relay domains.

This is the domains that we trust, and we want to act as backup for. Add the domains you want in this file.


# vi /etc/postfix/relaydomains


example.com OK

example1.com OK

example2.com OK


# vi /etc/postfix/transportmaps


example.com   smtp:mail.example.com:25

example1.com  smtp:mail.example1.com:587

example2.com  smtp:[192.168.10.20]:25


postmap /etc/postfix/relaydomains

postmap /etc/postfix/transportmaps

Systemctl restart postfix


    --------X------------https://www.linuxbabe.com/mail-server/how-to-set-up-a-backup-email-server-postfix-ubuntu





পোস্টফিক্স ইনস্টল করার পরে, কনফিগারেশন ফাইলটি খুলুন।

vi /etc/postfix/main.cf

ডিফল্টরূপে, /etc/postfix/main.cfফাইলে নিম্নলিখিত লাইন থাকে।

smtpd_relay_restrictions = permit_mynetworks,

                           permit_sasl_authenticated, 

                           defer_unauth_destination

ব্যাখ্যা:

আমাদের relay_domainsডোমেন নামগুলি নির্দিষ্ট করে প্যারামিটার যোগ করতে হবে, যাতে ইমেলগুলি অনলাইনে ফিরে আসার পরে প্রাথমিক ইমেল সার্ভারে রিলে করা যায়।

relay_domains = worldcm.net

আপনি যদি একাধিক ডোমেন নামের জন্য ব্যাকআপ MX হোস্ট হিসাবে এটি করতে চান তবে আপনি একাধিক ডোমেন নামও নির্দিষ্ট করতে পারেন।

relay_domains = worldcm.net, 2nd-domain.com

এটা বাঞ্ছনীয় যে আপনি myhostname এর ডিফল্ট মান পরিবর্তন করুন mx2.your-domain.com

myhostname = mx2.worldcm.net

নিশ্চিত করুন যে এর মান mydestinationআপনার প্রধান ডোমেন নাম অন্তর্ভুক্ত করে না, অথবা আপনার ব্যাকআপ MX হোস্ট প্রাথমিক ইমেল সার্ভারে রিলে করার পরিবর্তে স্থানীয় সিস্টেমে ইমেল সরবরাহ করবে। নিম্নলিখিত মান সূক্ষ্ম.

mydestination = $myhostname, mx2.worldcm.net, localhost, localhost.localdomain, localhost

পোস্টফিক্স প্যারামিটারে নির্দিষ্ট সময়ের জন্য সারিবদ্ধ বার্তাগুলি সরবরাহ করার চেষ্টা চালিয়ে যাচ্ছে maximal_queue_lifetime, যা প্রেরকের কাছে ফিরে আসার আগে কতক্ষণ বিলম্বিত বার্তাগুলি সারিতে থাকবে তা নির্ধারণ করে। ডিফল্ট মান হল 5 দিন, নীচের কমান্ডের সাথে দেখা যাবে।

postconf -d | grep maximal_queue_lifetime

আউটপুট:

maximal_queue_lifetime = 5d


SMTP প্রোটোকল (RFC 2821) সুপারিশ করে যে SMTP সার্ভার পাঠানোর ব্যর্থ ইমেল ডেলিভারির অন্তত 4-5 দিনের মধ্যে পুনরায় চেষ্টা করা উচিত । সুতরাং আপনি যদি একটি ব্যাকআপ MX হোস্ট চালান, আপনি সম্ভবত 10 দিনের মতো সারির জীবনকাল বাড়াতে চান। ফাইলের শেষে নিম্নলিখিত লাইন যোগ করুন main.cf

maximal_queue_lifetime = 10d


সংরক্ষণ করুন এবং ফাইলটি বন্ধ করুন। তারপর পরিবর্তনগুলি কার্যকর হওয়ার জন্য পোস্টফিক্স পুনরায় চালু করুন।

systemctl restart postfix


একটি বিলম্বিত বার্তা প্রদানের প্রচেষ্টার মধ্যে সর্বনিম্ন সময় minimal_backoff_timeপরামিতি দ্বারা নির্ধারিত হয়, যা ডিফল্টরূপে 300s (5 মিনিট)। ডেলিভারি আবার ব্যর্থ হলে, অপেক্ষার সময় বাড়ানো হয়। একটি বিলম্বিত বার্তা প্রদানের প্রচেষ্টার মধ্যে সর্বাধিক অপেক্ষার সময়টি প্যারামিটার দ্বারা নির্ধারিত হয় maximal_backoff_time, যা ডিফল্টরূপে 4000s (প্রায় 66.66 মিনিট)

নিশ্চিত করুন যে আপনার ফায়ারওয়াল টিসিপি পোর্ট 25 এর সাথে অন্তর্মুখী সংযোগের অনুমতি দেয়।

Relay Recipients

$relay_domains ডিফল্টরূপে, ব্যাকআপ MX হোস্টে পোস্টফিক্স যেকোন ঠিকানা গ্রহণ করবে যদি প্রাথমিক ইমেল সার্ভার ব্যাকআপ MX হোস্টকে বলে যে প্রাপকের ইমেল ঠিকানাটি বিদ্যমান নেই, তাহলে ব্যাকআপ MX হোস্টকে অবশ্যই মূল প্রেরকের কাছে বার্তাটি বাউন্স করতে হবে।

স্প্যামাররা প্রায়ই তৈরি করা ঠিকানাগুলিতে বার্তা পাঠায়, তাই আপনার ব্যাকআপ MX হোস্ট অপ্রয়োজনীয়ভাবে প্রচুর ইমেল গ্রহণ করবে যা অবশ্যই বাউন্স হবে৷ স্প্যামার যদি প্রেরকের ঠিকানা হিসাবে অন্য লোকের আসল ঠিকানা ব্যবহার করে, তাহলে নির্দোষ ব্যক্তি আপনার সার্ভার থেকে বাউন্স ইমেল পাবেন। কখনও কখনও তারা মনে করে যে আপনি একজন স্প্যামার।

এটি অত্যন্ত সুপারিশ করা হয় যে আপনি ব্যাকআপ MX হোস্টে বৈধ প্রাপকের ঠিকানাগুলির একটি তালিকা বজায় রাখুন৷ ফাইলে    /etc/postfix/main.cf,   নিম্নলিখিত লাইন যোগ করুন।

relay_recipient_maps = hash:/etc/postfix/relay_recipients


তারপর আপনি /etc/postfix/relay_recipients  নিচের মত ফাইলে বৈধ প্রাপকের ঠিকানা উল্লেখ করতে পারেন।

[email protected]   OK

[email protected]   OK

[email protected]   OK



স্পষ্টতই, ম্যানুয়ালি প্রাপকের ঠিকানা যোগ করা শুধুমাত্র ছোট ইমেল সার্ভারের জন্য কার্যকর। বড় ইমেল সার্ভারের জন্য, এটি সময় সাপেক্ষ। পরিবর্তে, আপনি MySQL/MariaDB বা LDAP ব্যবহার করে রিয়েল-টাইম লুকআপ করতে পারেন। যদি আপনার ইমেল সার্ভার ইমেল অ্যাকাউন্টের তথ্য সংরক্ষণ করতে MariaDB ব্যবহার করে, তাহলে আপনি MariaDB মাস্টার-স্লেভ রেপ্লিকেশন সেট আপ করতে পারেন , তাই ব্যাকআপ ইমেল সার্ভারের ডাটাবেসে একই ইমেল অ্যাকাউন্ট থাকবে। মনে রাখবেন যে আপনাকে প্রাথমিক ইমেল সার্ভার থেকে ব্যাকআপ হোস্টে MySQL/MariaDB লুকআপ কনফিগারেশন অনুলিপি করতে হবে /etc/postfix/main.cf file, তাই ব্যাকআপ হোস্ট জানে কিভাবে ডাটাবেস অনুসন্ধান করতে হয়।

একবার আপনি    relay_recipient_maps প্যারামিটার সেট করলে, আপনাকে অবশ্যই ব্যাকআপ পরিষেবা প্রদানকারী সমস্ত ডোমেনের জন্য ইমেল ঠিকানা অন্তর্ভুক্ত করতে হবে। আপনি যদি একটি ডোমেনের জন্য সমস্ত বৈধ ইমেল ঠিকানা না জানেন তবে আপনি নীচের মত একটি ওয়াইল্ডকার্ড এন্ট্রি ব্যবহার করতে পারেন৷

[email protected]   OK

[email protected]   OK

[email protected]   OK

@2nd-domain.com         OK



শেষ এন্ট্রি হল একটি ওয়াইল্ডকার্ড এন্ট্রি যা দ্বিতীয় ডোমেনের যেকোনো ইমেল ঠিকানার অনুমতি দেয়। সংরক্ষণ করুন এবং ফাইলটি বন্ধ করুন। তারপর relay_recipients.dbফাইল তৈরি করুন।

postmap /etc/postfix/relay_recipients










/etc/postfix/main.cf:

relay_domains = $mydestination the.backed-up.domain.name
smtpd_recipient_restrictions = permit_mynetworks
                          check_relay_domain



Require valid users

As things stand, any email submitted to your backup server addressed to a domain in relay_domains will be accepted, and the backup server will attempt to deliver it to the primary server. This is open to abuse by bots that send email to many addresses at once that may not exist (foo@yourdomain.com) causing the mail queue on the backup MX to fill up, and resources to be wasted on both your backup and primary mail servers as repeated connection attempts are made. The solution to the problem is to provide the backup with a list of valid users on the main server, so that it can reject email to addresses that don't exist. This parameter specifies the file to use:

relay_recipient_maps = hash:/etc/postfix/relay_recipients

You can then create the file:

vi /etc/postfix/relay_recipients

... and populate it like this with any addresses you want to enable forwarding for:

you@yourdomain.com OK

root@yourdomain.com OK

webmaster@yourdomain.com OK

postmaster@yourdomain.com OK

Then use the postmap command to create a database out of the file:

 postmap /etc/postfix/relay_recipients