আমি কীভাবে একটি ডেবিয়ান বাক্সে এক্সিম 4 এর প্রাথমিক_স্ট্রিস্টম নামটি পরিবর্তন করব?


24

কিছু দূরবর্তী এসএমটিপি সার্ভার আমি আমার সার্ভার থেকে HELO গ্রহণ করতে অস্বীকার করার জন্য মেল সরবরাহ করার চেষ্টা করছি:

504 5.5.2 <localhost>: Helo command rejected: need fully-qualified hostname

স্পষ্টতই, আমার এক্সিম 4 সার্ভারটি এর এফকিউডিএন localhostহিসাবে প্রেরণ করে। নেট এবং একগুচ্ছ কনফিগার ফাইল অনুসন্ধান করে শিখেছি যে HELO চলাকালীন FQDN হিসাবে প্রেরিত মানটি primary_hostnameকনফিগারেশন ভেরিয়েবল থেকে আঁকা ।

আমার প্রশ্ন: একটি ডেবিয়ান সিস্টেমে এই ভেরিয়েবলটি পরিবর্তন করার সঠিক উপায় কী? আমি অনুমান করি যে আমি এক্সিম 4 কনফিগার ফাইলগুলির মধ্যে কেবল একটি মান হার্ডকোড করতে পারি, তবে IMHO মানটি স্বয়ংক্রিয়ভাবে/etc/mailname বা অন্য কোনও কেন্দ্রীভূত নাম কনফিগের সাথে মিলিত হলে এটি আরও বোধগম্য হবে বলে মনে হয় ।

আমার অনুভূতি আছে যে আমার প্রশ্নের উত্তর দেবিয়ান উইকির এই পাঠ্যে পাওয়া যাবে :

EHLO / HELO এ এক্সিম দ্বারা ব্যবহৃত নামটি কনফিগারেশন বিকল্প থেকে টানা হয়েছে primary_hostname। ডেবিয়ানের এক্সিম 4 ডিফল্ট কনফিগারেশন সেট করে না primary_hostname। হোস্টের নাম সন্ধানের জন্য এক্সিমের পরে আনম্যাট () এ ডিফল্ট থাকে। যদি সেই কলটি কেবলমাত্র একটি উপাদান ফেরত দেয়, সম্পূর্ণ যোগ্য হোস্টের নামটি পাওয়ার জন্য gethostbyname () বা getipnodebyname () ব্যবহার করা হয়।

যদি আপনার স্থানীয় Host.localdomain হিসাবে Exim HELOs হয়, তবে আপনার পক্ষে সম্ভবত ডিবিয়ান ইনস্টলারটির কয়েকটি সংস্করণ দ্বারা একটি ভুল কনফিগার্ড / ইত্যাদি / হোস্ট তৈরি হয়েছে। এই ক্ষেত্রে, আপনার / ইত্যাদি / হোস্টগুলি ঠিক করুন।

দুর্ভাগ্যক্রমে, আমি লিনাক্স সার্ভার প্রশাসনের সাথে এত কিছুর অর্থ সুনির্দিষ্টভাবে জানার জন্য পরিচিত নই :(

উত্তর:


21

আপনার / ইত্যাদি / হোস্ট ফাইলটিতে কমপক্ষে দুটি রেকর্ড থাকা উচিত। প্রথম রেকর্ডটি ফর্মের হওয়া উচিত:

<IP_ADDRESS> <HOST_FQDN> <HOSTNAME>

দ্বিতীয়টি ফর্মের হওয়া উচিত:

127.0.0.1 localhost

আপনার / ইত্যাদি / হোস্টনাম ফাইলটিতে সার্ভারের এফকিউডিএন রয়েছে এবং এটি চলমান hostname -fআপনার সার্ভারগুলিকে এফকিউডিএন দেয় তাও আপনাকে নিশ্চিত করতে হবে । আপনি যদি নিশ্চিত হন যে এই সমস্তটি ঠিক আছে, এবং এক্সিমটি পুনরায় চালু করুন, আপনার এটি সঠিকভাবে দেখা শুরু করা উচিত।


আমি একটি স্থানীয় মেশিনের নাম / এফ / ডি / হোস্টনাম এফকিউডিএন তে পরিবর্তন করেছি। hostname -fএখনও "লোকালহোস্ট" প্রতিবেদন করে। আপনার উত্তরের / ইত্যাদি / হোস্টগুলির অংশটি বগি বলে মনে হচ্ছে - প্রথম রেকর্ডটি দেখতে কেমন হবে?
জার্ন শো-রোড

1
hostname -fএখনও "লোকালহোস্ট" প্রতিবেদন করার সময় , মনে হয় যে / ইত্যাদি / হোস্টনেমে পরিবর্তনটি কৌশলটি করেছে - আমি এখন আমার মেইল ​​সরবরাহ করতে সক্ষম হয়েছি। আমি এখনও আপনার পোস্টের অনুপস্থিত অংশটি দেখতে চাই :) :)
জার্ন শো-রোড

ওহো! ফর্ম্যাটিং ফ্লাব স্থির :-)
পল ল্যাথ্রপ

1
/etc/hostnameসাধারণত দেবিয়ান সিস্টেমে এফকিউডিএন থাকে না, কেবলমাত্র সংক্ষিপ্ত হোস্টনাম।
জোসিপ রডিন

ওয়েল, প্রথম লাইনটি /etc/hostsহতে পারে 127.0.0.2 mydomain.com myhostname( 127.0.0.2পাশাপাশি কাজ করে 127.0.0.1, যেহেতু লুপব্যাকটি একটি ক্লাস এ নেটওয়ার্ক)। আপনি সম্ভবত দুটি রেখা একত্রিত করতে পারেন 127.0.0.1 mydomain.com myhostname localhost, তবে localhostএটি একটি আধ্যাত্মিক হোস্টনাম 127.0.0.1, তাই না? এটি আপনার হোস্ট-নেম হিসাবে এফকিউডিএন নয়, হোস্টনাম রয়েছে এমন সমস্ত দেওয়া। এছাড়াও, পরিবর্তনগুলি /etc/hostnameতাত্ক্ষণিকভাবে কার্যকর হয় না, আপনি পেয়েছেন hostname myhostname। অথবা সার্ভার পুনরায় চালু করুন।
এক্স-ইউরি

8

আপনি যদি একটি একক কনফিগারেশন ফাইল ব্যবহার করেন, PRIMARY_HOST_NAME পরিবর্তনশীলকে পছন্দসই নামটিতে সেট করুন:

উদাহরণস্বরূপ /etc/exim4/exim4.conf এ:

PRIMARY_HOST_NAME = mybox.mydomain.com

অথবা MAIN_HARDCODE_PRIMARY_HOSTNAMEআপনি যদি বিভক্ত ফাইল কনফিগারেশন ব্যবহার করে থাকেন তবে আপডেট-এক্সিম 4.conf.conf এ সেট করুন।

নিরাপদ থাকতে এক্সিম পুনরায় চালু করুন।


তালিকাভুক্ত হোস্টটি কেবল একটি টীকা নয় যে অন্যথায় এক্সিম প্রেরণ করে HELO 'mybox.mydomain.com'যা গুগলে মেল পাঠানো বিরতি দেয়, সম্ভবত অন্যরা।
mkomarinski

1
ডকুমেন্টেশনে এই "PRIMARY_HOST_NAME" পরিবর্তনশীল নামের কোনও উল্লেখ আমি পাই না can't আপনি এটি কোথায় পেলেন?
জোসিপ রডিন

ডিবিয়ানে আপনাকে update-exim4.confকনফিগার পরিবর্তন করার পরে চালাতে হবে । এবং পুনরায় আরম্ভের পরে সাধারণত প্রয়োজন হয় না।
এক্স-ইউরি

... ভাল, eximসাধারণত পুনরায় লোড ছাড়াই কনফিগারেশনের পরিবর্তনগুলি লক্ষ্য করা যায় বলে মনে হচ্ছে। তবে এটি পুনরায় লোড করা তর্কতামূলকভাবে নিরাপদ, কারণ আমি মনে করি যে ডিমন নিজেই পুনরায় লোড না হওয়া পর্যন্ত কনফিগারেশনটি পুনরায় পড়বে না। তারপরে, আপনি এটিকে শব্দটি তৈরি করেন /etc/exim4/exim4.confঠিক উপরের লাইনটি থাকতে পারে তবে আপনি ফাইলটি তৈরি করার মুহুর্তটি /var/lib/exim4/config.autogeneratedউপেক্ষা করা হবে ...
x-yuri

... "এসএমটিপি গ্রহণের জন্য ফরেক্স প্রক্রিয়াগুলির এক্সিম শুরু হয় বা চলমান সারিটি নতুন কনফিগারেশন ফাইল ব্যবহার করবে, যখন মূল প্রধান এক্সিম-ডেমন এখনও পুরানো কনফিগারেশন ফাইলটি ব্যবহার করবে" " সুতরাং, একক কনফিগারেশন ফাইলের জন্য এটি ব্যবহার করা ভাল /etc/exim4/exim4.conf.localmacros, বিভাজনের জন্য /etc/exim4/conf.d/main/000_localmacros( mainডায়ারে ফাইলগুলি প্রথমে প্রক্রিয়া করা হয়)। এবং পরিবর্তনগুলি করার পরে update-exim4.conf+ চালান systemctl reload exim4
এক্স-ইউরি

4

এক্সিম 4 ইনস্টলের সময় প্রাথমিক হোস্টনামটি অনুরোধ করা হয়। আপনি কমান্ড চালাতে পারেন

sudo dpkg-reconfigure exim4-config

আবার অনুরোধ জানাতে হবে।

আমি যতদূর জানি, যদি আপনি ইতিমধ্যে 'স্প্লিট কনফিগারেশন' (/etc/exim4/conf.d এর অধীনে প্রচুর ছোট ফাইল) ব্যবহার করেন এবং অনুরোধ করা হয় তখন এটির সাথে আটকে থাকতে পছন্দ করেন, dpkg-পুনরায় কনফিগার করার কোনওটি ওভাররাইট করা উচিত নয় আপনার বিদ্যমান কনফিগারেশন পরিবর্তনের জন্য সেটিংসের পরিবর্তে এটি আপনাকে অনুরোধ জানায়, তবে, বরাবরের মতো, আপনাকে নিরাপদে থাকার জন্য প্রথমে একটি ব্যাকআপ নেওয়া উচিত।


2
এটি কেবলমাত্র একটি "মেল নাম [যা] একক, সম্পূর্ণ যোগ্যতাসম্পন্ন ডোমেন নাম (এফকিউডিএন) হওয়া উচিত" বলে মনে হচ্ছে। তবে এই সেটিংটি ইতিমধ্যে সঠিক, এবং HELO এখনও "লোকালহোস্ট" বলে মনে হচ্ছে to
জার্ন শো-রোড

আপনি কি বিষয়ে কথা বলছি, একটি মেইল নাম যে, আশ্চর্য, আশ্চর্য যায় /etc/mailnameডিফল্টরূপে এটি অযোগ্য ঠিকানাগুলিকে যোগ্য করতে ব্যবহৃত হয় । যেগুলি কেবলমাত্র ব্যবহারকারীর নাম থেকে গঠিত। থেকে ডোমেন নাম যুক্ত করে /etc/mailname। ফলস্বরূপ ঠিকানাটি Fromহেডারে ব্যবহৃত হয় ।
এক্স-ইউরি

2

primary_hostnameপরিবর্তনশীল সিস্টেমের সম্পূর্ণরূপে নির্ধারিত একটি ডোমেইনের নাম (FQDN) অনুযায়ী পূর্ণ। ডেবিয়ান এবং সম্পর্কিত সিস্টেমে এটি সাধারণত ফাইল /etc/hostnameএবং /etc/hostsফাইলের বিষয়বস্তু ব্যবহার করে গঠিত হয় । হোস্ট-নেম ফাইল সংক্ষিপ্ত হোস্ট-নেম (যেমন থাকা উচিত foo), এবং হোস্ট ফাইল একটি এন্ট্রি সমাধানে থাকা উচিত fooমধ্যে foo.bar.bazতার ডোমেইন সাফিক্স (সাধারণত একটি DNS- র এন্ট্রির সঙ্গে মিলে) সঙ্গে, অর্থাত্ হোস্টনাম।

কমান্ড থেকে আউটপুট hostname(কোনও পরামিতি ছাড়াই) প্রাক্তনটিকে ফিরিয়ে দেবে এবং hostname -fআউটপুটটি পরে ফিরে আসবে।

হোস্টনাম ফাইলটি সাধারণত ইনস্টলেশনের পরে পূর্ণ হয়, এবং হোস্ট ফাইলটি ডিফল্ট লোকালহোস্ট রেকর্ডগুলির পাশে এর মধ্যে অন্য একটি রেকর্ড থাকতে সম্পাদনা করা যেতে পারে - এটি ফর্মের হওয়া উচিত:

<IP address> <hostname FQDN> <hostname>

তিনটি কলাম ফাঁকা বা ট্যাব দ্বারা পৃথক করা উচিত, এতে কিছু আসে যায় না। আইপি ঠিকানাটি লোকালহোস্টের মতোই 127.0.0.1 হতে পারে তবে হোস্টনাম অংশটি সিস্টেমের হোস্টনামের সাথে মিলেছে, এবং মাঝের অংশটি FQDN হওয়া উচিত, যেমন একটি ডোমেন প্রত্যয় সহ হোস্টনাম।

লাইনটি কাজ করছে কিনা তা যাচাই করতে, কেবল চালান hostname -fএবং পরীক্ষা করুন যে এটি আপনার সার্ভারের এফকিউডিএন দেয়।

শেষ পর্যন্ত এক্সিম পুনরায় চালু করুন, উদাহরণস্বরূপ:

sudo service exim4 restart

এরপরে আপনার এটি সঠিকভাবে দেখা শুরু করা উচিত। এটির চলকটি চালিয়ে যাচাই করা যেতে পারে:

/usr/sbin/exim4 -bP primary_hostname

(এনবি: আমি প্রথমে ২০০৯ সাল থেকে উত্তরের সম্পাদনা হিসাবে এটি করেছি, তবে এটি প্রত্যাখ্যান করা হয়েছিল I আমি মূলত যে জিনিসগুলি ফিক্স করছিলাম সেগুলি হ'ল: ডিফল্ট লোকালহোস্ট রেকর্ডটির পুনরাবৃত্তি করার প্রয়োজন ছিল না, কেবল সংযোজনটি কী হবে তা ব্যাখ্যা করুন; কোনটি ব্যাখ্যা করুন আইপি ঠিকানা ব্যবহার করা যেতে পারে; এফকিউডিএন কী তা ব্যাখ্যা করুন; এক্সিম নিজে কীভাবে যাচাই করবেন তা ব্যাখ্যা করুন))


/usr/sbin/exim4 -bP primary_hostnameকাজ করে না আপনি পোর্ট 25 এর প্রমাণীকরণ যাচাইকারী , বা অন্য যে কোনও মেইলবক্সে যেখানে আপনি আসলটি দেখতে পাবেন সেখানে কোনও পরীক্ষার ইমেল প্রেরণ করে HELO হোস্টনাম যাচাই করতে পারেন। এটি এখানে আরও । আপনার উত্তর আপডেট করার বিবেচনা করুন।
এক্স-ইউরি

এটি আমার ডেবিয়ান স্থিতিশীল মেশিনে প্রসারিত (প্রসারিত) কাজ করে। আপনি দয়া করে ব্যাখ্যা করতে পারেন যে এটি আপনার পক্ষে কার্যকর নয়? ডকুমেন্টেশন দ্রষ্টব্য এ exim.org/exim-html-current/doc/html/spec_html/... পরিষ্কারভাবে বলছেন যে ডিফল্ট helo_dataহয় $primary_hostname। ডেবিয়ান সিস্টেমগুলিতে, আপনি REMOTE_SMTP_HELO_DATAভেরিয়েবলটি ব্যবহার করে এটি ওভাররাইড করতে পারেন , তবে আপনি যদি কেবলমাত্র আপনার প্রাথমিক হোস্টনামটি সঠিকভাবে সেট করেন তবে এটি প্রয়োজনীয় নয়।
জোসিপ রডিন

আমি বিশ্বাস করি আমি চেষ্টা করেছি এবং এটি যুক্তি না নেওয়ার বিষয়ে অভিযোগ করেছে। তবে এখন এটি পুনরুত্পাদন করতে পারে না, তাই মনে করবেন না আমার খারাপ। "যদি আপনি কেবলমাত্র আপনার প্রাথমিক হোস্টনামটি সঠিকভাবে সেট করে থাকেন" তবে এটি সাধারণত গৃহীত হয় না যে হোস্টনেম কোনও কিছুর সমাধান করতে হবে। সুতরাং আসুন "যদি আপনি হোস্টনামটি সেট করেন তবে যেভাবে এক্সিম আপনাকে প্রত্যাশা করে ..." এবং এটিকে রেখে দিন :)
এক্স-ইউরি

আমি দুঃখিত, তবে আমি এক দশকেরও বেশি সময় ধরে মূল্যের মূল বিবেচনায় লম্বা ডেবিয়ান-ডেভেল আলোচনার কোনও স্থির সিদ্ধান্ত নেওয়া বুদ্ধিমান বলে মনে করি না। আপনি যদি এ জাতীয় কোনও বিষয়ে নীতিমালার কোনও নথি দেখান তবে এটি আরও সহায়ক হবে।
জোসিপ রডিন

এটিই আমি খুঁজে পেলাম best আপনি যদি আরও ভাল কিছু বা আপনার কথার প্রমাণ পেতে পারেন তবে আপনি আমাকে বললে আমি খুশি হব। আপাতত আমি যা বলতে পারি তা হ'ল আজকাল এমনও কিছু লোক রয়েছে যারা হোস্ট নেম রাখেন না /etc/hosts। এবং আমি যা বলি তা হ'ল যা সাধারণত গৃহীত হয় না তা যথাযথভাবে কল না করা।
এক্স-ইউরি

1

/ ইত্যাদি / হোস্টগুলিতে একই স্ট্রিং যুক্ত করার পরে, হোস্টনাম -f আপনার FQDN ফিরিয়ে দেবে


অন্য কথায়, myhostnameযায় /etc/hostname(অনুসরণ করে hostname myhostname)। এবং 127.0.0.1 mydomain.com myhostname.com localhostযায় /etc/hostseximকেবল ক্ষেত্রে প্লাস পুনরায় লোড করুন ।
এক্স-ইউরি

0

আমি একই সমস্যা আছে। আমাকে মেইলের হোস্টনেম পরিবর্তন করতে হবে, কারণ কিছু ইমেলগুলি যখন পাঠানো হয়েছিল তখন ব্যর্থ হয়। এই ত্রুটিটি সহ:

host receiver.server.com [200.200.200.200]: 550 <info@sender.server.com>: Sender address rejected: Domain not found

তাই আমি তা পরিবর্তন /etc/exim.configPARAM primary_hostname

এই ফাইলের কিছু কোড:

smtp_connect_backlog = 50
smtp_accept_max = 100

#primary_hostname = myhostname.com 
deliver_queue_load_max = 3

হাহ, এই পোস্টটি আমাকে "প্রাথমিক_হোস্টনাম" দিয়ে সহায়তা করে এবং এখন আমার এক্সিম আগের চেয়ে আরও ভাল কাজ করে :)

0

ডাব্লুএইচএম তে গিয়ে এক্সিম কনফিগারেশন পরিচালক -> অ্যাডভান্সড এডিটর M

আপনি "অতিরিক্ত কনফিগারেশন সেটিংস যুক্ত করুন" (একটি বড় নীল বোতাম) খুঁজে না পাওয়া পর্যন্ত এটিকে নীচে স্ক্রোল করুন।

নতুন লাইনে [প্রাথমিক_ হোস্টনেম] যোগ করুন = [মাইডোমেন.কম]

নীচে স্ক্রোল করুন এবং সংরক্ষণ ক্লিক করুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.