KNSUPDATE(1) Knot DNS KNSUPDATE(1)

knsupdate - ابزار به‌روزرسانی پویای DNS

knsupdate [-v] [options] [filename]

knsupdate [-q] [quic_options] [options] [filename]

این ابزار پیام‌های به‌روزرسانی پویای DNS را به یک کارساز DNS ارسال می‌کند. محتوای به‌روزرسانی از یک فایل (در صورت مشخص شدن پارامتر filename) یا از ورودی استاندارد خوانده می‌شود.

قالب به‌روزرسانی‌ها متنی بوده و از دستورها تشکیل شده است. هر دستور در یک خط مجزا از ورودی قرار می‌گیرد. خطوطی که با نقطه‌ویرگول (;) آغاز می‌شوند توضیح (کامنت) هستند و پردازش نمی‌شوند.

مسیر فایلی که شامل دستورهای knsupdate است.

استفاده از اتصال TCP. (از -v می‌توان برای سازگاری با nsupdate استفاده کرد).
استفاده از اتصال TLS.
استفاده از اتصال QUIC.
تنظیم درگاه برای اتصال به کارساز (اگر صراحتاً در به‌روزرسانی تعیین نشده باشد). مقدار پیش‌فرض برای UDP/TCP برابر ۵۳ و برای QUIC برابر ۸۵۳ است.
تعداد تلاش‌های مجدد برای درخواست‌های UDP. مقدار پیش‌فرض ۳ است.
کل مهلت زمانی (برای تمام تلاش‌های به‌روزرسانی UDP) درخواست بر حسب ثانیه. مقدار پیش‌فرض ۱۲ است. در صورت تنظیم روی صفر، مهلت زمانی نامحدود خواهد بود.
استفاده از کلید TSIG با نام name برای احراز اصالت درخواست. بخش alg الگوریتم را تعیین می‌کند (پیش‌فرض hmac-sha256 است) و key راز مشترک با کدگذاری Base64 را مشخص می‌کند.
استفاده از کلید TSIG ذخیره‌شده در فایل keyfile برای احراز اصالت درخواست. این فایل باید حاوی کلیدی با همان قالبی باشد که توسط گزینه -y پذیرفته می‌شود.
فعال‌سازی پیام‌های اشکال‌زدایی (دیباگ).
چاپ راهنمای برنامه.
چاپ نسخه برنامه. گزینه -VV خلاصه پیکربندی زمان کامپایل برنامه را چاپ می‌کند.

فعال‌سازی اعتبارسنجی نام میزبان کارساز دوردست.
استفاده از نمایه حریم خصوصی پین کلید خارج از باند (RFC 7858#section-4.2). مقدار PIN باید یک هش SHA-256 کدگذاری‌شده در Base64 از X.509 SubjectPublicKeyInfo باشد. می‌تواند چند بار مشخص شود.
فعال‌سازی اعتبارسنجی گواهی. گواهی‌های مرجع صدور گواهی (CA) از فایل PEM مشخص‌شده بارگذاری می‌شوند (در صورت عدم ارائه آرگومان، پیش‌فرض مخزن گواهی سیستم است). می‌تواند چند بار مشخص شود.
مسیر فایل گواهی کلاینت.
مسیر فایل کلید کلاینت.
استفاده از نشانگر نام کارساز (SNI) مشخص‌شده.

کارساز دریافت‌کننده پیام به‌روزرسانی پویا را مشخص می‌کند. پارامتر name می‌تواند یک نام میزبان یا یک نشانی IP باشد. اگر port مشخص نشود، درگاه پیش‌فرض استفاده می‌شود. مقدار درگاه پیش‌فرض را می‌توان با استفاده از گزینه -p برنامه کنترل کرد.
نشانی و درگاه خروجی (address و port) را مشخص می‌کند. در صورت عدم تعیین، نشانی و درگاه به طور خودکار توسط سیستم تنظیم می‌شوند. شماره درگاه پیش‌فرض ۰ است.
مشخص می‌کند که تمام به‌روزرسانی‌ها در محدوده منطقه name انجام شوند. نام منطقه مقدار پیش‌فرض ندارد و باید صراحتاً تنظیم شود.
پسوند نام دامنه کاملاً معتبر (FQDN) را تعیین می‌کند که به مالکان غیر FQDN در دستورهای به‌روزرسانی افزوده می‌شود. پیش‌فرض برچسب پایانی (.) است.
مقدار name را به عنوان کلاس پیش‌فرض برای همه به‌روزرسانی‌ها تنظیم می‌کند. در صورت عدم استفاده، کلاس پیش‌فرض IN است.
مقدار value را به عنوان TTL پیش‌فرض (بر حسب ثانیه) تنظیم می‌کند. در صورت عدم استفاده، مقدار پیش‌فرض ۳۶۰۰ است.
کلید TSIG به نام name را برای احراز اصالت درخواست مشخص می‌کند. الگوریتم اختیاری alg نیز قابل تعیین است. این دستور اثری مشابه گزینه -y برنامه دارد.
[prereq] nxdomain name
یک پیش‌شرط برای عدم وجود رکورد متعلق به name اضافه می‌کند.
[prereq] yxdomain name
یک پیش‌شرط برای وجود داشتن رکورد متعلق به name اضافه می‌کند.
[prereq] nxrrset name [class] type
یک پیش‌شرط برای عدم وجود رکوردی از نوع type متعلق به name اضافه می‌کند. کلاس اینترنت (class برابر IN) مورد انتظار است.
[prereq] yxrrset name [class] type [data]
یک پیش‌شرط برای وجود داشتن رکوردی از نوع type متعلق به name با داده‌های اختیاری data اضافه می‌کند. کلاس اینترنت مورد انتظار است.
[update] add name [ttl] [class] type data
درخواستی برای افزودن یک رکورد منبع جدید به منطقه اضافه می‌کند. لطفاً توجه داشته باشید که اگر name یک نام دامنه کاملاً معتبر نباشد، نام مبدأ (origin) فعلی به انتهای آن افزوده می‌شود.
[update] del[ete] name [ttl] [class] [type] [data]
درخواستی برای حذف تمام رکوردهای منبع (یا رکوردهای منطبق با class، type یا data) از منطقه اضافه می‌کند. الزامات مربوط به پارامتر name مانند دستور update add است. مقدار ttl نادیده گرفته می‌شود.
محتوای فعلی پیام به‌روزرسانی را نمایش می‌دهد.
پیام به‌روزرسانی فعلی را ارسال کرده و فهرست به‌روزرسانی‌ها را پاک می‌کند.
آخرین پاسخ دریافتی از کارساز را نمایش می‌دهد.
اشکال‌زدایی را فعال می‌کند. این دستور مفهومی مشابه گزینه -d برنامه دارد.
خروج از برنامه.

گزینه‌های -k و -y نمی‌توانند به طور همزمان استفاده شوند.

هیچ‌یک از قالب‌های فایل کلید tsig-keygen(8) یا dnssec-keygen(1) پشتیبانی نمی‌شوند. از keymgr(8) برای ایجاد رشته مناسب برای -y یا فایل ارائه‌شده به -k استفاده کنید.

در صورتی که نام منطقه یا کارساز مشخص نشده باشد، حدس زدن خودکار نام منطقه/کارساز پشتیبانی نمی‌شود.

خط خالی باعث ارسال به‌روزرسانی نمی‌شود.

این ابزار یک حالت تعاملی با قابلیت‌های اولیه ویرایش خط، تکمیل خودکار دستور و تاریخچه دستورها فراهم می‌کند.

رفتار حالت تعاملی را می‌توان در ~/.editrc سفارشی کرد. برای جزئیات به editrc(5) مراجعه کنید.

تاریخچه دستورها در ~/.knsupdate_history ذخیره می‌شود.

کد خروج ۰ نشان‌دهنده موفقیت عملیات است. هر کد خروج دیگری بیانگر وقوع خطا است.

1.
ارسال یک به‌روزرسانی از منطقه example.com به کارساز 192.168.1.1. این به‌روزرسانی شامل دو رکورد جدید است:
$ knsupdate
knsupdate> server 192.168.1.1
knsupdate> zone example.com.
knsupdate> origin example.com.
knsupdate> ttl 3600
knsupdate> add test1.example.com. 7200 A 192.168.2.2
knsupdate> add test2 TXT "hello"
knsupdate> show
knsupdate> send
knsupdate> answer
knsupdate> exit

kdig(1), khost(1), keymgr(8), editrc(5).

CZ.NIC, z.s.p.o. و مشارکت‌کنندگان https://www.knot-dns.cz

Copyright (C) CZ.NIC, z.s.p.o. and contributors

2026-06-12 3.5.5