| KNSUPDATE(1) | Knot DNS | KNSUPDATE(1) |
نام (NAME)
knsupdate - ابزار بهروزرسانی پویای DNS
خلاصه دستور (SYNOPSIS)
knsupdate [-v] [options] [filename]
knsupdate [-q] [quic_options] [options] [filename]
توضیحات (DESCRIPTION)
این ابزار پیامهای بهروزرسانی پویای DNS را به یک کارساز DNS ارسال میکند. محتوای بهروزرسانی از یک فایل (در صورت مشخص شدن پارامتر filename) یا از ورودی استاندارد خوانده میشود.
قالب بهروزرسانیها متنی بوده و از دستورها تشکیل شده است. هر دستور در یک خط مجزا از ورودی قرار میگیرد. خطوطی که با نقطهویرگول (;) آغاز میشوند توضیح (کامنت) هستند و پردازش نمیشوند.
پارامترها (Parameters)
- filename
- مسیر فایلی که شامل دستورهای knsupdate است.
گزینهها (OPTIONS)
- -T, --tcp
- استفاده از اتصال TCP. (از -v میتوان برای سازگاری با nsupdate استفاده کرد).
- -S, --tls
- استفاده از اتصال TLS.
- -Q, --quic
- استفاده از اتصال QUIC.
- -p, --port number
- تنظیم درگاه برای اتصال به کارساز (اگر صراحتاً در بهروزرسانی تعیین نشده باشد). مقدار پیشفرض برای UDP/TCP برابر ۵۳ و برای QUIC برابر ۸۵۳ است.
- -r, --retry count
- تعداد تلاشهای مجدد برای درخواستهای UDP. مقدار پیشفرض ۳ است.
- -t, --timeout seconds
- کل مهلت زمانی (برای تمام تلاشهای بهروزرسانی UDP) درخواست بر حسب ثانیه. مقدار پیشفرض ۱۲ است. در صورت تنظیم روی صفر، مهلت زمانی نامحدود خواهد بود.
- -y, --tsig [alg:]name:key
- استفاده از کلید TSIG با نام name برای احراز اصالت درخواست. بخش alg الگوریتم را تعیین میکند (پیشفرض hmac-sha256 است) و key راز مشترک با کدگذاری Base64 را مشخص میکند.
- -k, --tsigfile path
- استفاده از کلید TSIG ذخیرهشده در فایل keyfile برای احراز اصالت درخواست. این فایل باید حاوی کلیدی با همان قالبی باشد که توسط گزینه -y پذیرفته میشود.
- -d, --debug
- فعالسازی پیامهای اشکالزدایی (دیباگ).
- -h, --help
- چاپ راهنمای برنامه.
- -V, --version
- چاپ نسخه برنامه. گزینه -VV خلاصه پیکربندی زمان کامپایل برنامه را چاپ میکند.
گزینههای QUIC/TLS
- -H, --hostname string
- فعالسازی اعتبارسنجی نام میزبان کارساز دوردست.
- -P, --pin base64
- استفاده از نمایه حریم خصوصی پین کلید خارج از باند (RFC 7858#section-4.2). مقدار PIN باید یک هش SHA-256 کدگذاریشده در Base64 از X.509 SubjectPublicKeyInfo باشد. میتواند چند بار مشخص شود.
- -A, --ca [path]
- فعالسازی اعتبارسنجی گواهی. گواهیهای مرجع صدور گواهی (CA) از فایل PEM مشخصشده بارگذاری میشوند (در صورت عدم ارائه آرگومان، پیشفرض مخزن گواهی سیستم است). میتواند چند بار مشخص شود.
- -E, --certfile path
- مسیر فایل گواهی کلاینت.
- -K, --keyfile path
- مسیر فایل کلید کلاینت.
- -s, --sni string
- استفاده از نشانگر نام کارساز (SNI) مشخصشده.
دستورها (Commands)
- server name [port]
- کارساز دریافتکننده پیام بهروزرسانی پویا را مشخص میکند. پارامتر name میتواند یک نام میزبان یا یک نشانی IP باشد. اگر port مشخص نشود، درگاه پیشفرض استفاده میشود. مقدار درگاه پیشفرض را میتوان با استفاده از گزینه -p برنامه کنترل کرد.
- local address [port]
- نشانی و درگاه خروجی (address و port) را مشخص میکند. در صورت عدم تعیین، نشانی و درگاه به طور خودکار توسط سیستم تنظیم میشوند. شماره درگاه پیشفرض ۰ است.
- zone name
- مشخص میکند که تمام بهروزرسانیها در محدوده منطقه name انجام شوند. نام منطقه مقدار پیشفرض ندارد و باید صراحتاً تنظیم شود.
- origin name
- پسوند نام دامنه کاملاً معتبر (FQDN) را تعیین میکند که به مالکان غیر FQDN در دستورهای بهروزرسانی افزوده میشود. پیشفرض برچسب پایانی (.) است.
- class name
- مقدار name را به عنوان کلاس پیشفرض برای همه بهروزرسانیها تنظیم میکند. در صورت عدم استفاده، کلاس پیشفرض IN است.
- ttl value
- مقدار value را به عنوان TTL پیشفرض (بر حسب ثانیه) تنظیم میکند. در صورت عدم استفاده، مقدار پیشفرض ۳۶۰۰ است.
- key [alg:]name key
- کلید 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 نادیده گرفته میشود.
- show
- محتوای فعلی پیام بهروزرسانی را نمایش میدهد.
- send
- پیام بهروزرسانی فعلی را ارسال کرده و فهرست بهروزرسانیها را پاک میکند.
- answer
- آخرین پاسخ دریافتی از کارساز را نمایش میدهد.
- debug
- اشکالزدایی را فعال میکند. این دستور مفهومی مشابه گزینه -d برنامه دارد.
- exit
- خروج از برنامه.
نکات (NOTES)
گزینههای -k و -y نمیتوانند به طور همزمان استفاده شوند.
هیچیک از قالبهای فایل کلید tsig-keygen(8) یا dnssec-keygen(1) پشتیبانی نمیشوند. از keymgr(8) برای ایجاد رشته مناسب برای -y یا فایل ارائهشده به -k استفاده کنید.
در صورتی که نام منطقه یا کارساز مشخص نشده باشد، حدس زدن خودکار نام منطقه/کارساز پشتیبانی نمیشود.
خط خالی باعث ارسال بهروزرسانی نمیشود.
حالت تعاملی (Interactive mode)
این ابزار یک حالت تعاملی با قابلیتهای اولیه ویرایش خط، تکمیل خودکار دستور و تاریخچه دستورها فراهم میکند.
رفتار حالت تعاملی را میتوان در ~/.editrc سفارشی کرد. برای جزئیات به editrc(5) مراجعه کنید.
تاریخچه دستورها در ~/.knsupdate_history ذخیره میشود.
وضعیت خروج (EXIT STATUS)
کد خروج ۰ نشاندهنده موفقیت عملیات است. هر کد خروج دیگری بیانگر وقوع خطا است.
مثالها (EXAMPLES)
- 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
همچنین ببینید (SEE ALSO)
نویسندگان (AUTHORS)
CZ.NIC, z.s.p.o. و مشارکتکنندگان https://www.knot-dns.cz
کپیرایت و تکثیر (COPYRIGHT)
Copyright (C) CZ.NIC, z.s.p.o. and contributors
| 2026-06-12 | 3.5.5 |