প্রশ্ন সাবডোমেন জন্য CNAME ব্যবহার করা উচিত?


আমি বর্তমানে নিম্নলিখিত DNS কনফিগারেশন আছে এমন একাধিক ওয়েবসাইট পরিচালনা করি:

example.com      - A Record - Production Server IP
test.example.com - A Record - Test Server IP
www.example.com  - CNAME    - example.com
beta.example.com - CNAME    - test.example.com
dev.example.com  - CNAME    - test.example.com

এটি কি সিএনএন রেকর্ডগুলির যথাযথ ব্যবহার? আমি অনলাইন লাগছে এবং একটি স্পষ্ট উত্তর পাওয়া যায় নি। কিছু লোক দাবি করে যে CNAME রেকর্ডগুলি খারাপ (তবে এটি কেন নয় তা স্পষ্ট নয়) এবং নিম্নলিখিত সেটআপটি প্রস্তাব করুন:

example.com      - A Record - Production Server IP
test.example.com - A Record - Test Server IP
www.example.com  - A Record - Production Server IP
beta.example.com - A Record - Test Server IP
dev.example.com  - A Record - Test Server IP

এর মধ্যে কোনটি ভাল পদ্ধতি (এবং কেন)?

বিঃদ্রঃ: সাবডোমেনগুলির তাদের নিজস্ব এমএক্স রেকর্ডগুলির প্রয়োজন নেই, তাই এখানে কোনও সমস্যা নেই।


76
2017-09-16 17:55


উত্স


আমি মনে করি এই উইকি উত্তর হতে হবে। ডিএনএস সঠিক পাওয়ার জন্য এত কঠিন এবং 6 বছর পরেও এই গ্রহণযোগ্য উত্তরের উত্তর কি? - the0ther
@ দ্যther হ্যাঁ, এমনকি আজ থেকে বৈধ উত্তর, থেকে জেসপার মার্টেনসেন, এখনও বৈধ (এমনকি যদি কেউ জিনিসগুলির নামকরণ বা সঠিক টিটিএল মানগুলি ব্যবহার করার বিষয়ে তর্ক করতে পারে তবে এটি CNAME রেকর্ডগুলির ব্যবহার থেকে আলাদা আলাদা পয়েন্ট)। DNS একটি 30 পুরানো প্রোটোকল, তাই CNAME রেকর্ডগুলির মতো মৌলিক জিনিসগুলি সময়ের সাথে সাথে পরিবর্তন হয় না। - Patrick Mevzek


উত্তর:


হ্যাঁ, এটি CNAME এর যথাযথ ব্যবহার। আলোচনার মধ্যে আমি অংশীদার হয়েছি, আর্গুমেন্ট এইরকম চলতে থাকে:

CNAME এর বিরুদ্ধে:

  • একটি (ক্ষুদ্র) পারফরম্যান্স পেনাল্টি রয়েছে, ডাউনস্ট্রীম DNS ক্যাশেগুলির 2 টি DNS লুকানো, একটি CNAME এর জন্য এবং একটি CNAME পয়েন্টগুলিতে A-রেকর্ডের জন্য প্রয়োজন।
  • অস্পষ্ট, কম "কর্তৃত্ব" বা সামঞ্জস্যপূর্ণ সমস্যাগুলির সাথে CNAME সম্পর্কিত বগুড়া আর্গুমেন্ট।

CNAME এর পক্ষে:

  • তারা হার্ডওয়্যার (শারীরিক সার্ভার) এবং পরিষেবাদির মধ্যে একটি পরিষ্কার বিমূর্ততা প্রদান করে।
  • তারা DNS পরিচালনাকে সরল করে তোলে - যখন সার্ভারটি সরানো হয়, তখন আপনাকে কেবল একটি রেকর্ড পরিবর্তন করতে হবে।

বিভিন্ন উপায়ে চেষ্টা করার পর এটি করার জন্য, আমার এখন একটি ব্যক্তিগত প্রিয় শৈলী আছে। এটা:

  • প্রতিটি একটি শারীরিক সার্ভারের জন্য একটি রেকর্ড; মোটামুটি কম টিটিএল (সম্ভবত 30 মিনিট); সার্ভার একটি প্রদান মানুষের বন্ধুত্বপূর্ণ নাম
  • প্রতিটি পরিষেবার জন্য একটি CNAME; একটি উচ্চ টিটিএল (সম্ভবত 24 ঘন্টা) সঙ্গে; উপরের সার্ভারের নাম নির্দেশ করে।
  • উপরের নিয়মগুলির একমাত্র ব্যতিক্রম হিসাবে, ডোমেন রুট একটি এ-রেকর্ড, যা ওয়েব সার্ভার / ওয়েব লোড ব্যালান্সারকে নির্দেশ করে। (@ একটি রেকর্ড হিসাবে প্রয়োজন।)

আমি এই সেটআপ ভাল কাজ করে। এটি CNAMES এর জন্য অতিরিক্ত DNS সন্ধান রাখে; এবং যদি কোনও সার্ভার ক্র্যাশ হয় তবে আমি এখনও প্রায় দ্রুত জনসাধারণের DNS পরিবর্তন করতে পারি।

এখানে একটি (improvised) উদাহরণ BIND সিনট্যাক্স মধ্যে:

;name     ttl   class rr     value 
server01  30m   IN    A      192.168.0.3
server02  30m   IN    A      192.168.0.4

webmail   24h   IN    CNAME  server01
extranet  24h   IN    CNAME  server02
ftp       24h   IN    CNAME  server02

80
2017-09-16 19:45



অবশেষে পরিষ্কার এবং সংক্ষিপ্তভাবে পেশ করা CNAMEs এর উপর একটি যুক্তিসঙ্গত মতামত। - Tyler
@ জেসপার মার্টেনসেন: আপনি কি দয়া করে একটু ছোট উদাহরণ দিয়ে উত্তরটি হালনাগাদ করতে পারেন, বিশেষ করে আমি আপনার তৃতীয় বিন্দুটি বুঝতে পারিনি যখন আপনি "উপরের নিয়মগুলির একমাত্র ব্যতিক্রম হিসাবে ডোমেন রুট একটি রেকর্ড হিসাবে" প্রথম বিন্দুতে আপনি প্রতিটি শারীরিক স্তর সার্ভারের জন্য একটি রেকর্ড ব্যবহার করেন। (বিটিডব্লিউ লিঙ্ক চলে গেছে) - Marco Demaio
@ মারকো ডেমাইও: "ডোমেন রুট এ-রেকর্ড" সম্পর্কে: একটি দ্বিতীয় স্তর ডোমেন মত company.comএকটি অঞ্চল Apex হয়। এটি একটি SOA রেকর্ড প্রয়োজন। সুতরাং এটি একটি রেকর্ড এবং একটি CNAME হতে হবে না - দেখুন serverfault.com/questions/170194/... - Jesper Mortensen
@ একটি রেকর্ড থাকতে হবে না; বরং, একটি CNAME নিষিদ্ধ করা হয়। - Michael Hampton♦
শুধু আপনার সার্ভার (গুলি) IPv6 ঠিকানাগুলি সমর্থন করে তবে বিশেষ করে এটি কার্যকর করতে চেয়েছিলেন, যেহেতু আপনাকে সার্ভার প্রতি কমপক্ষে দুটি এন্ট্রির প্রয়োজন হবে (প্রতিটি একটি এবং AAAA প্রতিটি রেকর্ড করে) তাই উপ-ডোমেনগুলির জন্য একটি CNAME ব্যবহার করে এই ক্ষেত্রে অনেক, অনেক সহজ। আপনি যদি টিটিএল-এর জন্য জেসপারের সুপারিশগুলি ব্যবহার করেন (অথবা আপনার DNS প্রদানকারীর ভাল স্বয়ংক্রিয় হ্যান্ডলিং আছে) তাহলে কোন বাস্তব কর্মক্ষমতা শাস্তি হওয়া উচিত নয়। - Haravikk


হ্যাঁ এটা উপযুক্ত।

আমার সেরা অভ্যাস, যা অনেক মানুষ ভাগ করে, প্রতিটি সার্ভার আইপি জন্য 1 রেকর্ড তৈরি করা হয়; এবং অন্য কিছু জন্য CNAMES ব্যবহার করুন।

একটি সাধারণ উদাহরণ হতে হবে:

server1.example.com.      IN A      192.168.0.1
server2.example.com.      IN A      192.168.5.2
www                       IN CNAME  server1
ftp                       IN CNAME  server1
beta                      IN CNAME  server2

12
2017-09-16 18:03



আমি এই প্রশ্নের জবাবে বললাম, মেল এখানে কোন সমস্যা নয়, তবে ধরুন আপনি এমএক্স রেকর্ডের সাথে কিভাবে মেল ব্যবহার করবেন তা ধরুন। ধন্যবাদ! - Marco Demaio
এমএক্স রেকর্ড পাশাপাশি সার্ভারের নাম নির্দেশ করবে। IN MX server1 এবং সুবিধার জন্য আমি সেট আপ সুপারিশ করবে imap অথবা pop এবং smtp CNAMEs, সম্ভবত mail, অনেক ই-মেইল প্রোগ্রাম এই অনুমান। সঠিক এসআরভি রেকর্ডগুলি সেট আপ করাও একটি ভাল ধারণা, তবে এটি একটি অপেক্ষাকৃত মৌলিক প্রশ্ন কারণ একটি সহজ কনফিগারেশনের জন্য SRV রেকর্ডগুলি একটু বেশি হতে পারে। - Chris S
একটি দ্রুত মন্তব্য, MXরেকর্ড CNAMEs হতে হবে না, দেখুন serverfault.com/a/232243/2874  এটা সম্ভবত অনুশীলন সূক্ষ্ম কাজ করে - কিন্তু এখনও, ভাল না তাই না। - Jesper Mortensen
যদি আপনি একটি CNAME এ একটি MX বা SRV রেকর্ড নির্দেশ করেন তবে BIND জোনের লোড করতে অস্বীকার করবে ... আমি সম্ভবত এটি পরিষ্কার করে দিয়েছি যে এমএক্স রেকর্ডটি একটি রেকর্ডকে নির্দেশ করতে হবে। ধন্যবাদ. - Chris S
@ChrisS, কিভাবে আপনার উত্তর সম্পাদনা করবেন এবং পরিষ্কারভাবে উল্লেখ করেছেন যে একটি এমএক্স রেকর্ড কোনও CNAME এন্ট্রি নির্দেশ করতে পারে না? - Alexis Wilke