مشاركة عبر


إدارة سجلات DNS ومجموعات السجلات في Azure DNS باستخدام Azure CLI

توضح لك هذه المقالة كيفية إدارة سجلات DNS لمنطقة DNS الخاصة بك باستخدام Azure CLI عبر الأنظمة الأساسية. يتوفر Azure CLI لأنظمة Windows وMac وLinux. يمكنك أيضاً إدارة سجلات DNS الخاصة بك باستخدام Azure PowerShell أو مدخل Microsoft Azure.

تفترض الأمثلة الواردة في هذه المقالة أنك قمت بالفعل بتثبيت Azure CLI، وقمت بتسجيل الدخول وإنشاء منطقة DNS.

مقدمة

قبل إنشاء سجلات DNS في Azure DNS، تحتاج أولاً إلى فهم كيفية تنظيم Azure DNS لسجلات DNS في مجموعات سجلات DNS.

أسماء السجلات

في AZURE DNS، يتم تحديد السجلات باستخدام الأسماء النسبية. يتضمن اسم المجال المؤهل بالكامل (FQDN) اسم المنطقة، بينما لا يتضمن الاسم النسبي. على سبيل المثال، اسم السجل النسبي wwwفي المنطقةcontoso.com يعطي www.contoso.comاسم السجل المؤهل بالكامل .

سجل القمة هو سجل DNS في جذر (أو قمة) منطقة DNS. على سبيل المثال، في منطقة contoso.comDNS، لسجل القمة أيضاً اسم contoso.comمؤهل بالكامل (ويسمى أحياناً مجال مكشوف). وحسب الاصطلاح، يتم استخدام الاسم النسبي '@' لتمثيل سجلات القمة.

أنواع السجلات

كل سجل DNS له اسم ونوع. يتم تنظيم السجلات إلى أنواع مختلفة وفقا للبيانات التي تحتوي عليها. النوع الأكثر شيوعاً هو سجل 'A'، الذي يعين اسماً إلى عنوان IPv4. هناك نوع شائع آخر هو سجل "MX"، الذي يعين اسماً إلى خادم بريد.

يدعم Azure DNS جميع أنواع سجلات DNS الشائعة: A وAAA وCAA وCNAME وMX وNS وPTR وSA وSRV وTXT. لاحظ أن سجلات SPF يتم تمثيلها باستخدام سجلات TXT.

يتم دعم أنواع السجلات الإضافية إذا تم توقيع المنطقة باستخدام ملحقات أمان DNS (DNSSEC)، مثل تسجيل موقع التفويض (DS) وسجلات موارد مصادقة أمان طبقة النقل (TLSA).

تتم إضافة أنواع سجلات موارد DNSSEC مثل سجلات DNSKEY وRRSIG وNSEC3 تلقائيا عند توقيع منطقة باستخدام DNSSEC. لا يمكن إنشاء هذه الأنواع من سجلات موارد DNSSEC أو تعديلها بعد توقيع المنطقة.

مجموعات السجلات

في بعض الأحيان، تحتاج إلى إنشاء أكثر من سجل DNS واحد مع اسم ونوع محددين. على سبيل المثال، افترض وجود موقع ويب "www.contoso.com" مستضاف على عنواني IP مختلفين. يتطلب الموقع سجلين مختلفين، أحدهما لكل عنوان IP. فيما يلي مثال على مجموعة سجلات:

www.contoso.com.        3600    IN    A    134.170.185.46
www.contoso.com.        3600    IN    A    134.170.188.221

يدير Azure DNS جميع سجلات DNS باستخدام مجموعات السجلات. مجموعة السجلات (المعروفة أيضا باسم مجموعة سجلات الموارد) هي مجموعة سجلات DNS في منطقة لها نفس الاسم ومن نفس النوع. تحتوي معظم مجموعات السجلات على سجل واحد. ومع ذلك، فإن أمثلة مثل تلك المذكورة أعلاه، والتي تحتوي فيها مجموعة السجلات على أكثر من سجل واحد، ليست شائعة.

على سبيل المثال، افترض أنك قمت بالفعل بإنشاء سجل "www" في المنطقة "contoso.com"، مشيراً إلى عنوان IP '134.170.185.46' (السجل الأول أعلاه). لإنشاء السجل الثاني، يمكنك إضافة هذا السجل إلى مجموعة السجلات الموجودة، بدلاً من إنشاء مجموعة سجلات إضافية.

أنواع سجلات SOA وCNAME تكون استثنائية. لا تسمح معايير DNS بسجلات متعددة تحمل الاسم نفسه من هذه الأنواع، لذلك يمكن أن تحتوي مجموعات السجلات هذه على سجل واحد فقط.

لمزيد من المعلومات حول سجلات DNS في Azure DNS، راجع سجلات ومناطق DNS.

تكوين سجل DNS

لإنشاء سجل DNS، استخدم الأمر az network dns record-set <record-type> add-record (حيث يكون <record-type> هو نوع السجل، مثل srv وtxt وما إلى ذلك) للحصول على مساعدة، راجع az network dns record-set --help.

عند إنشاء سجل، تحتاج إلى تحديد المعلومات التالية:

  • اسم مجموعة الموارد
  • اسم المنطقة
  • اسم مجموعة التسجيل
  • نوع السجل

يجب أن يكون اسم مجموعة السجلات المقدم اسماً نسبياً، ما يعني أنه يجب استبعاد اسم المنطقة. إذا لم تكن مجموعة السجلات موجودة بالفعل، فسيقوم هذا الأمر بإنشائها لك. ومع ذلك، سيضيف هذا الأمر السجل الذي تحدده إذا كانت مجموعة السجلات موجودة بالفعل.

إذا تم إنشاء مجموعة سجلات جديدة، فسيتم استخدام مدة افتراضية للعيش (TTL) تبلغ 3600. للحصول على إرشادات عن كيفية استخدام TTLs المختلفة، راجع إنشاء مجموعة سجلات DNS.

يقوم المثال التالي بإنشاء سجل A يسمى www في المنطقة contoso.com في مجموعة الموارد MyResourceGroup. عنوان IP لسجل A هو 203.0.113.11.

az network dns record-set a add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name www --ipv4-address 203.0.113.11

لإنشاء سجل معين في قمة المنطقة (في هذه الحالة، "contoso.com")، استخدم اسم السجل "@"، متضمناً علامات الاقتباس:

az network dns record-set a add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --ipv4-address 203.0.113.11

قم بإنشاء مجموعة سجل DNS

في الأمثلة أعلاه، إما تمت إضافة سجل DNS إلى مجموعة سجلات موجودة، أو تم إنشاء مجموعة السجلات ضمنياً. يمكنك أيضاً إنشاء مجموعة السجلات بشكل صريح قبل إضافة السجلات إليها. يدعم Azure DNS مجموعات السجلات "الفارغة"، والتي يمكن أن تعمل كعنصر نائب لحجز اسم DNS قبل إنشاء سجلات DNS. تظهر مجموعات السجلات الفارغة في مستوى تحكم Azure DNS، لكنها لا تظهر على خوادم أسماء Azure DNS.

يتم إنشاء مجموعات السجلات باستخدام الأمر az network dns record-set <record-type> create. للحصول على المساعدة، انظر az network dns record-set <record-type> create --help.

يتيح لك إنشاء مجموعة السجلات بشكل صريح تحديد خصائص مجموعة السجلات مثل Time-To-Live (TTL) وبيانات التعريف. يمكن استخدامبيانات التعريف لمجموعة السجلات لربط البيانات الخاصة بالتطبيق بكل مجموعة سجلات، كأزواج مفتاح - قيمة.

ينشئ المثال التالي مجموعة سجلات فارغة من النوع "أ" مع مدة البقاء لمدة 60 ثانية، باستخدام المعلمة --ttl (نموذج قصير -l):

az network dns record-set a create --resource-group myresourcegroup --zone-name contoso.com --name www --ttl 60

يُنشئ المثال التالي مجموعة سجلات مع إدخالين لبيانات التعريف، "dept = finance" و"environment = production"، باستخدام المعلمة --metadata:

az network dns record-set a create --resource-group myresourcegroup --zone-name contoso.com --name www --metadata "dept=finance" "environment=production"

بعد إنشاء مجموعة سجلات فارغة، يمكن إضافة السجلات باستخدام azure network dns record-set <record-type> add-record كما هو موضح في إنشاء سجل DNS.

إنشاء سجلات لأنواع أخرى

بعد الاطلاع بالتفصيل على كيفية إنشاء سجلات "أ"، توضح الأمثلة التالية كيفية إنشاء سجل لأنواع السجلات الأخرى التي يدعمها Azure DNS.

تختلف المعلمات المستخدمة لتحديد بيانات السجل اعتماداً على نوع السجل. على سبيل المثال، بالنسبة لسجل من النوع "A"، يمكنك تحديد عنوان IPv4 باستخدام المعلمة --ipv4-address <IPv4 address>. يمكن سرد المعلمات لكل نوع سجل باستخدام az network dns record-set <record-type> add-record --help.

في كل حالة، نعرض كيفية إنشاء سجل واحد. تتم إضافة السجل إلى مجموعة السجلات الموجودة، أو إنشاء مجموعة سجلات ضمنياً. لمزيد من المعلومات عن إنشاء مجموعات السجلات وتحديد معلمة مجموعة السجلات بشكل صريح، راجع إنشاء مجموعة سجلات DNS.

لا يوجد مثال لإنشاء مجموعة سجلات SOA، حيث يتم إنشاء وإزالة SOAs مع كل منطقة DNS. لا يمكن إنشاء سجل SOA أو إزالته بشكل منفصل. ومع ذلك، يمكن تعديلSOA، كما هو موضح في مثال لاحق.

قم بإنشاء سجل AAAA

az network dns record-set aaaa add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-aaaa --ipv6-address FD00::1

تكوين سجل CAA

az network dns record-set caa add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-caa --flags 0 --tag "issue" --value "ca1.contoso.com"

إنشاء سجل CNAME.

إشعار

لا تسمح معايير DNS بسجلات CNAME في قمة المنطقة (--Name "@")، كما أنها لا تسمح بمجموعات السجلات التي تحتوي على أكثر من سجل واحد.

لمزيد من المعلومات، راجع سجلات CNAME.

az network dns record-set cname set-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-cname --cname www.contoso.com

قم بإنشاء سجل MX

في هذا المثال، نستخدم اسم مجموعة السجلات "@" لإنشاء سجل MX في قمة المنطقة (في هذه الحالة، "contoso.com").

az network dns record-set mx add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --exchange mail.contoso.com --preference 5

قم بإنشاء سجل NS

az network dns record-set ns add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-ns --nsdname ns1.fabrikam.com

تكوين سجل PTR

في هذه الحالة، يمثل "my-arpa-zone.com" منطقة ARPA التي تمثل نطاق IP الخاص بك. يتوافق كل سجل PTR تم تعيينه في هذه المنطقة مع عنوان IP ضمن نطاق IP هذا. اسم السجل "10" هو آخر ثماني بتات من عنوان IP ضمن نطاق IP الذي يمثله هذا السجل.

az network dns record-set ptr add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name my-arpa.zone.com --ptrdname myservice.contoso.com

قم بإنشاء سجل SRV

عند إنشاء مجموعة سجلات SRV، حدد _service و_protocol في اسم مجموعة السجلات. ليست هناك حاجة إلى تضمين "@" في اسم مجموعة السجلات عند إنشاء سجل SRV تم تعيينه في قمة المنطقة.

az network dns record-set srv add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name _sip._tls --priority 10 --weight 5 --port 8080 --target sip.contoso.com

تكوين سجل TXT

يوضح المثال التالي كيفية إنشاء سجل TXT. لمزيد من المعلومات عن الحد الأقصى لطول السلسلة المدعوم في سجلات TXT، راجع سجلات TXT.

az network dns record-set txt add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-txt --value "This is a TXT record"

الحصول على مجموعة قياسية

لاسترداد مجموعة سجلات موجودة، استخدم az network dns record-set <record-type> show. للحصول على المساعدة، انظر az network dns record-set <record-type> show --help.

عند إنشاء سجل أو مجموعة سجلات، يجب أن يكون اسم مجموعة السجلات المعطى اسماً نسبياً. هذا الاسم لا يتضمن اسم المنطقة. تحتاج أيضاً إلى تحديد نوع السجل والمنطقة التي تحتوي على مجموعة السجلات ومجموعة الموارد التي تحتوي على المنطقة.

يسترد المثال التالي السجل www من النوع أ من المنطقة contoso.com في مجموعة الموارد MyResourceGroup:

az network dns record-set a show --resource-group myresourcegroup --zone-name contoso.com --name www

قائمة مجموعات السجلات

يمكنك سرد جميع السجلات في منطقة DNS باستخدام الأمر az network dns record-set list. للحصول على المساعدة، انظر az network dns record-set list --help.

يعرض هذا المثال جميع مجموعات السجلات في المنطقة contoso.com، في مجموعة الموارد MyResourceGroup:

az network dns record-set list --resource-group myresourcegroup --zone-name contoso.com

يعرض هذا المثال جميع مجموعات السجلات التي تطابق نوع السجل المحدد (في هذه الحالة، سجلات "A"):

az network dns record-set a list --resource-group myresourcegroup --zone-name contoso.com 

إضافة سجل إلى مجموعة السجلات الموجودة

يمكنك استخدام az network dns record-set <record-type> add-record لإنشاء سجل في مجموعة سجلات جديدة، أو لإضافة سجل إلى مجموعة سجلات موجودة.

لمزيد من المعلومات، راجع إنشاء سجل DNS وإنشاء سجلات لأنواع أخرى أعلاه.

إزالة سجل من مجموعة السجلات الموجودة.

لإزالة سجل DNS من مجموعة سجلات موجودة، استخدم az network dns record-set <record-type> remove-record. للحصول على المساعدة، انظر az network dns record-set <record-type> remove-record -h.

يقوم هذا الأمر بحذف سجل DNS من مجموعة السجلات. إذا تم حذف آخر سجل في مجموعة سجلات، فسيتم أيضاً حذف مجموعة السجل نفسها. للاحتفاظ بمجموعة السجلات الفارغة بدلاً من ذلك، استخدم الخيار --keep-empty-record-set.

عند استخدام az network dns record-set <record-type> add-record الأمر ، تحتاج إلى تحديد السجل الذي يتم حذفه والمنطقة للحذف منها. تم وصف هذه المعلمات في إنشاء سجل DNS وإنشاء سجلات لأنواع أخرى أعلاه.

يحذف المثال التالي السجل A بقيمة '203.0.113.11' من مجموعة السجلات المسماة www في المنطقة contoso.com، في مجموعة الموارد MyResourceGroup.

az network dns record-set a remove-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "www" --ipv4-address 203.0.113.11

تعديل مجموعة السجلات الموجودة

تحتوي كل مجموعة سجلات على مدة البقاء (TTL)و بيانات التعريفوسجلات نظام أسماء النطاقات. توضح الأقسام التالية كيفية تعديل كل خاصية من هذه الخصائص.

لتعديل سجل A أو AAAA أو CAA أو MX أو NS أو PTR أو SRV أو TXT

لتعديل سجل موجود من النوع A أو AAAA أو CAA أو MX أو NS أو PTR أو SRV أو TXT، يجب عليك أولاً إضافة سجل جديد ثم حذف السجل الحالي. للحصول على إرشادات مفصلة عن كيفية حذف السجلات وإضافتها، راجع الأقسام السابقة من هذه المقالة.

يوضح المثال التالي كيفية تعديل سجل "A"، من عنوان IP 203.0.113.11 إلى عنوان IP 203.0.113.22:

az network dns record-set a add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name www --ipv4-address 203.0.113.22
az network dns record-set a remove-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name www --ipv4-address 203.0.113.11

لا يمكنك إضافة أو إزالة أو تعديل السجلات في سجل NS الذي تم إنشاؤه تلقائياً والذي تم تعيينه في قمة المنطقة (--Name "@"، بما في ذلك علامات الاقتباس). لمجموعة السجلات هذه، التغييرات الوحيدة المسموح بها هي تعديل مجموعة السجلات TTL وبيانات التعريف.

لتعديل سجل CNAME

على عكس معظم أنواع السجلات الأخرى، يمكن أن تحتوي مجموعة سجلات CNAME على سجل واحد فقط. لهذا السبب لا يمكنك استبدال القيمة الحالية بإضافة سجل جديد وإزالة السجل الحالي مثل أنواع السجلات الأخرى.

بدلاً من ذلك، لتعديل سجل CNAME، استخدم az network dns record-set cname set-record. للحصول على المساعدة، راجع az network dns record-set cname set-record --help

يعدل المثال مجموعة سجلات CNAME www في المنطقة contoso.com، في مجموعة الموارد MyResourceGroup، للإشارة إلى "www.fabrikam.net" بدلاً من قيمته الحالية:

az network dns record-set cname set-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name test-cname --cname www.fabrikam.net

لتعديل سجل SOA

على عكس معظم أنواع السجلات الأخرى، يمكن أن تحتوي مجموعة سجلات SOA على سجل واحد فقط. لهذا السبب لا يمكنك استبدال القيمة الحالية بإضافة سجل جديد وإزالة السجل الحالي مثل أنواع السجلات الأخرى.

بدلاً من ذلك، لتعديل سجل SOA، استخدم az network dns record-set soa update. للحصول على المساعدة، انظر az network dns record-set soa update --help.

يوضح المثال التالي كيفية تعيين خاصية "البريد الإلكتروني" لسجل SOA للمنطقة contoso.com:

az network dns record-set soa update --resource-group myresourcegroup --zone-name contoso.com --email admin.contoso.com

لتعديل سجلات NS في قمة المنطقة

يتم إنشاء سجل NS الذي تم تعيينه في قمة المنطقة تلقائياً مع كل منطقة DNS. يحتوي على أسماء خوادم أسماء Azure DNS المعينة للمنطقة.

يمكنك إضافة المزيد من خوادم الأسماء إلى مجموعة سجلات NS هذه، لدعم مجالات الاستضافة المشتركة مع أكثر من موفر DNS واحد. يمكنك أيضاً تعديل TTL وبيانات التعريف لمجموعة السجلات تلك. ومع ذلك، لا يمكنك إزالة أو تعديل خوادم أسماء Azure DNS المعبأة مسبقاً.

ينطبق هذا القيد فقط على سجل NS الذي تم تعيينه في قمة المنطقة. يمكن تعديل مجموعات سجلات NS الأخرى في منطقتك (على النحو المستخدم لتفويض المناطق الفرعية) دون قيود.

يوضح المثال التالي كيفية إضافة خادم اسم آخر إلى سجل NS الذي تم تعيينه في قمة المنطقة:

az network dns record-set ns add-record --resource-group myresourcegroup --zone-name contoso.com --record-set-name "@" --nsdname ns1.fabrikam.com 

لتعديل TTL لمجموعة سجلات موجودة

لتعديل TTL لمجموعة سجلات موجودة، استخدم azure network dns record-set <record-type> update. للحصول على المساعدة، انظر azure network dns record-set <record-type> update --help.

يوضح المثال التالي كيفية تعديل مجموعة سجلات TTL، في هذه الحالة إلى 60 ثانية:

az network dns record-set a update --resource-group myresourcegroup --zone-name contoso.com --name www --set ttl=60

لتعديل بيانات التعريف لمجموعة السجلات الحالية

يمكن استخدامبيانات التعريف لمجموعة السجلات لربط البيانات الخاصة بالتطبيق بكل مجموعة سجلات، كأزواج مفتاح - قيمة. لتعديل بيانات التعريف لمجموعة السجلات الحالية، استخدم az network dns record-set <record-type> update. للحصول على المساعدة، انظر az network dns record-set <record-type> update --help.

يوضح المثال التالي كيفية تعديل مجموعة سجل بإدخالي بيانات التعريف، "dept=finance" و"environment=production". أي بيانات تعريف موجودة يتم استبدالها بالقيم المقدمة.

az network dns record-set a update --resource-group myresourcegroup --zone-name contoso.com --name www --set metadata.dept=finance metadata.environment=production

شطب مجموعة السجلات

يمكن حذف مجموعات السجلات باستخدام الأمر az network dns record-set <record-type> delete. للحصول على المساعدة، انظر azure network dns record-set <record-type> delete --help. يؤدي حذف مجموعة السجلات أيضاً إلى شطب جميع السجلات الموجودة ضمن مجموعة السجلات.

إشعار

لا يمكنك شطب مجموعات سجلات SOA وNS في قمة المنطقة (--name "@"). يتم إنشاؤها تلقائياً عند إنشاء المنطقة، ويتم حذفها تلقائياً عند حذف المنطقة.

يحذف المثال التالي مجموعة السجلات المسماة www من النوع أ من المنطقة contoso.com في مجموعة الموارد MyResourceGroup:

az network dns record-set a delete --resource-group myresourcegroup --zone-name contoso.com --name www

ستتم مطالبتك بتأكيد عملية الحذف. لمنع هذه المطالبة، استخدم مفتاح --yes.

الخطوات التالية

تعرف على المزيد عن المناطق والسجلات في Azure DNS.
تعرف على كيفية حماية مناطقك وسجلاتك عند استخدام Azure DNS.