_ (আন্ডারস্কোর) কি কোনও সিএমএল রেকর্ডে অবৈধ?


9

আমাদের হোস্টারের ওয়েব ইন্টারফেসে DKIM কী এর জন্য দীর্ঘ TXT রেকর্ড তৈরি করতে আমাদের সমস্যা হচ্ছে।

প্রতিটি লাইন কেবল 256 টি অক্ষর গ্রহণ করতে পারে।

আমরা একাধিক লাইন চেষ্টা করেছি, তারপরে কিছু পরামর্শ হিসাবে ("প্রথম এবং ")শেষের দিকে যুক্ত করার চেষ্টা করেছি । কোনটিই কাজ করে না।

তারপরে আমরা অন্য হোস্টারে একটি রেকর্ডে একটি নাম তৈরির চেষ্টা করেছি, যেখানে আমরা DKIM TXT রেকর্ড তৈরি করতে পারি

তবে এখন ওয়েবন্টারফেস CNAMEরেকর্ডে অবৈধ নাম সম্পর্কে অভিযোগ করে ।

mail._domainkey.example.com TXTঠিক আছে
mail._domainkey.example.com CNAMEঠিক
mail.domainkey.example.com CNAMEনেই ঠিক আছে, তবে আমরা যা চাই তা তা নয়।

ওয়েবন্টারফেসটি কি কেবল আমাদের পাগল করার জন্য দৃ determined় সংকল্পবদ্ধ, বা আন্ডারস্কোর করা সত্যিই "অবৈধ" CNAME?


1
প্রযোজকটি আমি এটি লিখছি বলে ওয়েব ইন্টারফেসটি ঠিক করছে!
লেন

উত্তর:


18

হ্যাঁ, ডিএনএসের নামগুলিতে (এটিতে এ / এএএএ অন্তর্ভুক্ত রয়েছে) কেবলমাত্র থাকতে পারে [0-9], [a-z], -, তাই আন্ডারস্কোরটি বৈধ নয়। মনে রাখবেন যে কোনও টিএক্সটি রেকর্ডটি কোনও হোস্ট-নেম নয় এবং এই বিধিনিষেধটি এর জন্য প্রযোজ্য নয়। এবং একটি শেষ সম্পাদনা: -প্রথম অক্ষর হিসাবে হয় না ব্যবহার করা যেতে পারে, তাই mail.-domainkey.our.domবৈধ হবে না।

https://en.wikipedia.org/wiki/Hostname#Restrictions_on_valid_hostnames


চূড়ান্ত সম্পাদনা: আমি আংশিক ভুল ছিলাম। যখন কোনও সিএনএম হোস্টনাম হিসাবে ব্যবহৃত হয়, উপরোক্ত বিধিনিষেধগুলি প্রযোজ্য। এটি প্রদর্শিত হয় যে কোনও সিএনএমকে ডি কেআইএম প্রসঙ্গে হোস্টনাম হিসাবে বিবেচনা করা হবে না এবং সেই ক্ষেত্রে, _কোনও সিএনএম প্রবেশের একটি বৈধ অংশ হওয়া উচিত। Https://stackoverflow.com/questions/13650233/:30core-in-cname-required-by-ses-not-allowed-by-registrar/26692491#26692491 দেখুন


তবে কোনও সিএনএম কী হোস্ট-নেম? কিছু ডকুমেন্টেশন একটি নামতে আন্ডারস্কোর ব্যবহার করতে দেখায়, তাই স্পষ্টতই এটি কাজ করে। kb.mailchimp.com/accounts/email-authentication/…
লেন

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

নোট করুন যে উইকিপিডিয়া এন্ট্রি উদ্ধৃত হয়েছে ডিএনএস নয় ইন্টারনেট নামগুলির সাথে করতে হবে।
জিম বি

@ লেন: একটি সিএনএম হ'ল একটি বৈধ হোস্টনাম কারণ এটি কোনও হোস্টের জন্য একটি উপাধি। @ টডউইলকক্স: হ্যাঁ, এটি জানা যায়, এবং এটি এমএস দ্বারা করা একটি (ইচ্ছাকৃত?) অনুমানের লঙ্ঘন যা অন্য সিস্টেমগুলিকে আইনসম্মত না হওয়া সত্ত্বেও ডিএনএস, ডিএইচসিপি,… প্যাকেটে উপস্থিত হওয়ার কারণে কোনও পরিমাণে ঝামেলা সৃষ্টি করে না।
মীরাবিলোস

2
@ মিরাবিলোসস "একটি সিএনএম একটি বৈধ হোস্টনাম" নো, টার্গেট (আরডিটিএ) একটি ডোমেইন নাম, হোস্টনাম নয় (একটি ডোমেন নাম সমস্ত সম্ভাব্য হোস্টনামের সুপারসেট)। _foo CNAME _barসম্পূর্ণরূপে বৈধ, আপনি পরীক্ষা করতে পারেন named-checkzone
প্যাট্রিক মেভিজেক

2

যে কোনও বৈধ অক্ষর DNS এ অনুমোদিত। Https://tools.ietf.org/html/rfc2181#section-11 দেখুন

"ডিএনএস নিজেই নির্দিষ্ট লেবেলগুলিতে কেবলমাত্র একটি বিধিনিষেধ স্থাপন করে যা সংস্থানীয় রেকর্ড সনাক্ত করতে ব্যবহার করা যেতে পারে That এই একটি সীমাবদ্ধতা লেবেলের দৈর্ঘ্য এবং পুরো নামের সাথে সম্পর্কিত any যে কোনও একটি লেবেলের দৈর্ঘ্য 1 এবং 63 অক্টোটের মধ্যে সীমাবদ্ধ। "

ক্লায়েন্টের অবশ্যই নাম মান EG যাচাই করতে হবে একটি এমএক্স রেকর্ডে মান "এলিস" থাকতে পারে তবে দেখার পরে সেই মানটি প্রত্যাখ্যান করা উচিত যেহেতু "এলিস" কোনও বৈধ ইমেল ঠিকানা নয়।

এই ক্ষেত্রে দেখে মনে হচ্ছে আপনার হোস্টারটি আপনার ইনপুটটিকে "বৈধতা দিচ্ছে", এবং আপনার পক্ষে এটি ম্যানুয়ালি প্রবেশ করতে সক্ষম হওয়া উচিত।


"ডিএনএসে কোনও বৈধ অক্ষরের অনুমতি রয়েছে" এটি এর চেয়ে কিছুটা জটিল। ডোমেন নাম এবং হোস্ট নাম আছে। অন্যথায় যদি বলা হয় তবে ব্যতীত, সর্বত্র আপনার কাছে এমন লেবেল রয়েছে যা ডোমেন নাম যা প্রকৃতপক্ষে কোনও চরিত্রের অর্থ, তাই _বা অন্য কিছু যা আপনি খুব পছন্দ করেন। তবে, কিছু রেকর্ডের জন্য, আপনি কেবল ডোমেন নাম নয় কেবল হোস্টনাম ব্যবহার করতে পারেন। হোস্টনামগুলি কেবলমাত্র অক্ষরের অঙ্ক এবং হাইফেন, অন্য কিছু নয়। উদাহরণস্বরূপ, কোনও Aবা AAAAরেকর্ডের মালিক কোনও হোস্টনাম, কোনও ডোমেন নাম নয়। একটি NSরেকর্ডের আরডিটিএ (লক্ষ্য) একটি হোস্টনামও, কোনও ডোমেন নাম নয়।
প্যাট্রিক মেভিজেক

1
"একটি এমএক্স রেকর্ডারে" অ্যালিস "মান থাকতে পারে তবে দেখার পরে সেই মানটি প্রত্যাখ্যান করা উচিত যেহেতু" এলিস "একটি বৈধ ইমেল ঠিকানা নয়" " এমএক্স আরআরএস কখন থেকে রেফারেন্স ইমেইল ঠিকানা দেয়?
একটি সিভিএন

0

আরএফসি 1034: লেবেলগুলিকে অবশ্যই আর্পানেট হোস্টের নামগুলি অনুসরণ করতে হবে। তাদের অবশ্যই একটি অক্ষর দিয়ে শুরু হওয়া উচিত, কোনও অক্ষর বা অঙ্ক দিয়ে শেষ হওয়া উচিত এবং কেবল অভ্যন্তরীণ অক্ষর হিসাবে কেবল অক্ষর, সংখ্যা এবং হাইফেন থাকতে হবে। দৈর্ঘ্যের উপরও কিছু বিধিনিষেধ রয়েছে। লেবেলগুলি অবশ্যই 63 টি বর্ণ বা তার চেয়ে কম হওয়া উচিত।


আমারও আরডুইনোতে সমস্যা আছে, যেখানে কিছু লিবিস ESP_245537 এর মতো একটি হোস্টনাম দেয়, যখন ডিএইচসিপি সার্ভার ডিএনএস আপডেট করার চেষ্টা করে তখন এই নামটি প্রত্যাখ্যান হয়।
লেন

এটা ভুল. একটি সিএনএম-এর লেবেল অগত্যা একটি হোস্ট-নেম নয়, তাই সমস্ত অক্ষর এখানে সহ বৈধ _
প্যাট্রিক মেভিজেক

1
এমনকি এটি ছাড়াও এগুলি পুরানো নিয়ম। তারা অঙ্কের সাথে শুরু হোস্টনামগুলি নিষিদ্ধ করছিল, তবে 3com.comউদাহরণ হিসাবে এই নিয়মটি শিথিল করা হয়েছিল, দেখুন সরঞ্জামগুলি toolsietf.org/html/rfc1123# পৃষ্ঠা 13 "হোস্ট নেম সিনট্যাক্সের একটি দিকটি এখানে পরিবর্তিত হয়েছে: প্রথম চরিত্রের উপর নিষেধাজ্ঞা কোনও চিঠি বা অঙ্কের অনুমতি দিতে স্বাচ্ছন্দ্য বোধ করা হয়। "
প্যাট্রিক মেভিজেক

@ লেন যদি esp_245537হোস্টনাম হিসাবে ব্যবহৃত হয় তবে ডিএনএস আপডেটটি বৈধ হোস্ট-নেম না হওয়ায় তা প্রত্যাখ্যান করতে হবে। যদি এটি ডোমেন নাম হিসাবে ব্যবহৃত হয়, তবে ডিএনএস আপডেটটি সফল হওয়া উচিত (অন্যথায় এটি একটি বাগ), কারণ এটি একটি বৈধ ডিএনএস লেবেল।
প্যাট্রিক মেভিজেক

আমি ইঙ্গিতগুলি দেখেছি যে অবৈধ অক্ষরগুলি ডিএইচসিপি থেকে ডিএনএসে অনুবাদ করা সম্ভব, তবে এটি কখনই কার্যকর হয়নি।
লেন

0

@ সোভেনের উত্তর, সম্পাদনা সহ, ইতিমধ্যে সঠিক তবে কেবল জিনিসগুলিকে সরাসরি বাক্য বলার জন্য।

টিএল; ডিআর হ্যাঁ আন্ডারস্কোর CNAMEউভয় পক্ষের একটি রেকর্ডে বৈধ , এটির জন্য নীচে পড়ুন।

আরএফসি 1034 এবং অন্যরা "ডোমেন নাম" এর উপর ভিত্তি করে রেকর্ডগুলি সংজ্ঞায়িত করে যা কোনও অক্ষর সহ লেবেল, তাই সহ _

তবে কিছু রেকর্ডের মালিকের নাম এবং / অথবা সংস্থান ডেটা (আরডিটিএ) এর জন্য কঠোর নিয়ম রয়েছে। কেবলমাত্র একটি হোস্টনাম গ্রহণ করা হবে এবং প্রকৃতপক্ষে নিয়মগুলি এখনই রয়েছে (তারা অতীতে স্বচ্ছন্দ ছিল যেখানে কোনও হোস্টনাম একটি অঙ্ক দিয়ে শুরু করতে পারেনি) যে কোনও ASCII চিঠি (কোনও ক্ষেত্রে সংবেদনশীলতা নেই), কোনও এএসসিআইআই ডিজিট এবং হাইফেন ব্যবহার করতে পারেন , আরও কিছু অতিরিক্ত অবস্থানের নিয়ম: শুরু বা শেষের কোনও হাইফেন এবং 3 এবং 4 পজিশনে কোনও ডাবল হাইফেন নেই (কারণ কেবলমাত্র আইনের অনুমতিপ্রাপ্ত আইডিএনগুলির জন্য "সংরক্ষণ" xn--)।

উদাহরণস্বরূপ, কোনও Aবা AAAAরেকর্ডের মালিকের নাম একটি হোস্টনাম, কোনও ডোমেন নাম নয়। এই test.example.com A 192.0.2.1সমস্ত কেন নয় তা বৈধ:

_test.example.com A 192.0.2.1
-test.example.com A 192.0.2.1
test-.example.com A 192.0.2.1

named-checkzoneপ্রোগ্রামের সাহায্যে জিনিসগুলি পরীক্ষা করা সহজ ( bindনেমসার্ভার সফ্টওয়্যারের অংশ তবে পৃথকভাবে ব্যবহার ও ইনস্টল করা হতে পারে এবং অন্যের নেমসার্ভারগুলিতে একই রকম চেকিং সরঞ্জাম থাকতে পারে এবং সম্ভবত এটির জন্য অনলাইন ইন্টারফেসও থাকতে পারে), কেবল একটি ফাইলের মধ্যে রেকর্ড রাখুন এবং রান করুন এটা:

$ cat z1.txt
test.example.com. 1 IN A 192.0.2.1
_test.example.com. 1 IN A 192.0.2.1
-test.example.com. 1 IN A 192.0.2.1
test-.example.com. 1 IN A 192.0.2.1
$ /usr/local/sbin/named-checkzone example.com z1.txt
z1.txt:2: _test.example.com: bad owner name (check-names)
z1.txt:3: -test.example.com: bad owner name (check-names)
z1.txt:4: test-.example.com: bad owner name (check-names)

( INটিটির আগে সংখ্যাটি টিটিএল, এটি আমাদের সমস্যার সাথে এখানে সম্পর্কিত নয়, তবে কেবল একটি রেকর্ডের সিনট্যাক্স বৈধতা পাস করার জন্য প্রয়োজন)।

অন্যান্য রেকর্ডগুলির জন্য, এটি বিপরীত: কারণ NSমালিকের উপর কোনও বিধিনিষেধ নেই, তবে "টার্গেট" এর উপর নিষেধাজ্ঞাগুলি হ'ল ডেটা। ডেটাটি কেবল একটি ডোমেন নাম হতে পারে, কোনও ডোমেন নাম নয়, কারণ আপনাকে ডিএনএস কোয়েরিগুলিতে প্রতিক্রিয়া জানানো শারীরিক হোস্ট এমন অনুমোদনযোগ্য নেমসার্ভারগুলিতে নির্দেশ করতে হবে।

এখন সম্পর্কে CNAME, বিভাগে FC.6 বিভাগে আরএফসি 1034 সম্পর্কিত প্রাসঙ্গিক উদ্ধৃতি এখানে:

"মালিক: এটি ডোমেন নাম যেখানে আরআর পাওয়া যায়।" যার অর্থ ডিফল্টরূপে কোনও নাম, কেবল একটি হোস্টনাম নয় (সিএনএম রেকর্ডের উত্স হিসাবে)

"আরডিটিএ: যা কোনও ধরণের এবং কখনও কখনও শ্রেণি নির্ভর ডেটা যা সংস্থানটি বর্ণনা করে:"

"সিএনএম একটি ডোমেন নাম।"

সুতরাং কোনও CNAME(এর বামে কী রয়েছে) এর মালিক এবং এর সাথে সংযুক্ত উত্সের ডেটা, এর গন্তব্য / লক্ষ্য (এটির ডানদিকে যা রয়েছে) কেবল ডোমেন নাম এবং কেবল হোস্টনাম নয়। মূলত যে কোনও অক্ষর, তাই _উভয় পক্ষেই অনুমোদিত।

আবার, এর সাথে পরীক্ষা করা সহজ named-checkzone:

$ cat z2.txt
_foo 1 CNAME _bar
$ /usr/local/sbin/named-checkzone example.com z2.txt
zone example.com/IN: has 0 SOA records
zone example.com/IN: has no NS records
zone example.com/IN: not loaded due to errors.

এ সম্পর্কে যে কোনও ত্রুটি নেই CNAME(অন্য ত্রুটিগুলি আমার জাল অঞ্চলে যেহেতু আমি কোনও জোন রাখিনি SOAবা NSসত্য অঞ্চলের মতো রেকর্ডও রাখেনি )

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