.\" $Id: omshell.1,v 1.6 2009/11/24 02:06:56 sar Exp $ .\" .\" Copyright (C) 2004-2022 Internet Systems Consortium, Inc. ("ISC") .\" Copyright (c) 2001-2003 by Internet Software Consortium .\" .\" Permission to use, copy, modify, and distribute this software for any .\" purpose with or without fee is hereby granted, provided that the above .\" copyright notice and this permission notice appear in all copies. .\" .\" THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT .\" OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" .\" Internet Systems Consortium, Inc. .\" PO Box 360 .\" Newmarket, NH 03857 USA .\" .\" https://www.isc.org .\" .TH omshell 1 .SH "نام (NAME)" omshell \- پوسته خط فرمان OMAPI .SH "خلاصه دستور (SYNOPSIS)" .B omshell .SH "توضیحات (DESCRIPTION)" پوسته فرمان OMAPI با نام .B omshell یک روش تعاملی برای اتصال، پرس‌وجو و احتمالاً تغییر وضعیت سرور ISC DHCP از طریق رابط مدیریت شیء (OMAPI) فراهم می‌کند. با استفاده از OMAPI و .BR omshell ، نیازی به متوقف کردن سرور، اعمال تغییرات و سپس راه‌اندازی مجدد سرور DHCP نیست، بلکه می‌توانید تغییرات را در حین اجرای سرور اعمال کنید. .B omshell روشی برای دسترسی به OMAPI فراهم می‌کند. .PP رابط OMAPI صرفاً یک مکانیزم ارتباطی است که به شما امکان دستکاری اشیاء را می‌دهد. برای استفاده عملی از .BR omshell ، شما .I باید بدانید چه اشیایی در دسترس هستند و چگونه از آن‌ها استفاده کنید. مستندات مربوط به اشیاء OMAPI را می‌توان در راهنمای سرور ارائه‌دهنده آن‌ها یافت — برای مثال در صفحه راهنمای .B dhcpd(8) و صفحه راهنمای .BR dhclient(8) . .SH "مشارکت‌ها (CONTRIBUTIONS)" .PP این نرم‌افزار، نرم‌افزاری آزاد است. در زمان‌های گوناگون توسعه آن توسط سازمان‌های مختلفی از جمله ISC و Vixie Enterprises پشتیبانی مالی شده است. توسعه نسخه 3.0 تقریباً به‌طور کامل توسط Nominum, Inc تأمین مالی شده است. .PP در حال حاضر توسعه آن توسط ISC میزبانی می‌شود، اما آینده این پروژه به شما بستگی دارد. اگر قابلیت‌هایی مد نظرتان است، لطفاً پیاده‌سازی آن‌ها را در نظر بگیرید. .SH "اشیاء محلی و راه دور (LOCAL AND REMOTE OBJECTS)" .PP در سرتاسر این سند، ارجاعاتی به اشیاء محلی و راه دور وجود دارد. اشیاء محلی مواردی هستند که در .B omshell با دستور .B new ساخته می‌شوند. اشیاء راه دور مواردی روی سرور هستند: اجاره‌ها (leases)، میزبان‌ها (hosts) و گروه‌هایی که سرور DHCP از آن‌ها مطلع است. اشیاء محلی و راه دور به یکدیگر پیوند داده می‌شوند تا مشاهده و تغییر ویژگی‌های شیء امکان‌پذیر شود. همچنین می‌توان اشیاء راه دور جدیدی ایجاد کرد که با اشیاء محلی مطابقت داشته باشند. .SH "برقراری اتصال (OPENING A CONNECTION)" .PP دستور .B omshell از خط فرمان اجرا می‌شود. پس از اجرای omshell، دستورهای متعددی وجود دارد که می‌توان صادر کرد: .PP .B server \fIaddress\fR .RS 0.5i که در آن .I address آدرس IP سرور DHCP مورد نظر برای اتصال است. در صورت عدم تعیین، سرور پیش‌فرض 127.0.0.1 (localhost) خواهد بود. .RE .PP .B port \fInumber\fR .RS 0.5i که در آن .I number شماره پورتی است که OMAPI روی آن گوش می‌دهد. به صورت پیش‌فرض، این مقدار 7911 است. .RE .PP .B key \fIname secret\fR .RS 0.5i این دستور کلید TSIG مورد استفاده برای احراز هویت تراکنش‌های OMAPI را مشخص می‌کند. .I name نام کلید تعریف‌شده در .I dhcpd.conf با عبارت .B omapi-key است. .I secret کلید محرمانه‌ای است که توسط .B dnssec-keygen یا برنامه دیگری برای تولید کلید ساخته شده است. الگوریتم کلید به صورت پیش‌فرض HMAC-MD5 فرض می‌شود. اگر الگوریتم متفاوتی در فایل dhcpd.conf برای کلید مشخص شده باشد، باید از طریق عبارت .I key-algorithm تعیین شود. .RE .PP .B key-algorithm \fIalgorithm\fR .RS 0.5i این دستور الگوریتم رمزنگاری کلید مورد استفاده هنگام احراز هویت تراکنش‌های OMAPI را مشخص می‌کند. مقادیر پشتیبانی‌شده برای .I algorithm عبارتند از: .nf HMAC-MD5 HMAC-SHA1 HMAC-SHA224 HMAC-SHA256 HMAC-SHA384 HMAC-SHA512 .fi مقدار پیش‌فرض HMAC-MD5 است (مقدار به حروف کوچک و بزرگ حساس نیست). .RE .PP .B connect .RS 0.5i این دستور اتصال OMAPI به سرور را طبق مشخصات ارائه‌شده در دستور .I server آغاز می‌کند. .SH "ساخت اشیاء محلی (CREATING LOCAL OBJECTS)" .PP هر شیء تعریف‌شده در OMAPI را می‌توان ساخت، درباره آن پرس‌وجو کرد و/یا آن را تغییر داد. انواع اشیاء موجود در OMAPI در .B dhcpd(8) و .B dhclient(8) تعریف شده‌اند. هنگام استفاده از omshell، اشیاء ابتدا به صورت محلی تعریف می‌شوند، بر اساس نیاز دستکاری شده و سپس با یک شیء روی سرور پیوند می‌خورند. در هر لحظه فقط یک شیء را می‌توان دستکاری کرد. برای ساخت یک شیء محلی، استفاده کنید از: .PP .B new \fIobject-type\fR .RS 0.5i که در آن .I object-type یکی از موارد group، host یا lease است. .RE .PP در این مرحله، شیئی در اختیار دارید که می‌توانید ویژگی‌های آن را مقداردهی کنید. به عنوان مثال، اگر یک شیء lease جدید با .B new lease ساخته شده باشد، هر یک از ویژگی‌های اجاره را می‌توان به صورت زیر تنظیم کرد: .PP .B set \fIattribute-name = value\fR .RS 0.5i نام‌های .B Attribute در .B dhcpd(8) و .B dhclient(8) تعریف شده‌اند. اگر مقادیر رشته‌ای باشند باید درون کوتیشن قرار گیرند. بنابراین برای تنظیم آدرس IP یک اجاره، دستور زیر را اجرا می‌کنید: \fB set ip-address = 192.168.4.50\fR .SH "پیوند دادن اشیاء محلی و راه دور (ASSOCIATING LOCAL AND REMOTE OBJECTS)" .PP در این مرحله، می‌توانید با دستور زیر اطلاعات این اجاره را از سرور پرس‌وجو کنید: .PP .B open .PP اکنون شیء lease محلی که ساخته‌اید و آدرس IP آن را تنظیم کرده‌اید، با شیء lease متناظر در سرور DHCP پیوند می‌خورد. تمام ویژگی‌های اجاره از سرور DHCP اکنون به ویژگی‌های شیء محلی تبدیل شده و در omshell نمایش داده خواهند شد. .SH "مشاهده یک شیء راه دور (VIEWING A REMOTE OBJECT)" .PP برای پرس‌وجوی یک اجاره با آدرس 192.168.4.50 و مشاهده ویژگی‌های آن، پس از اتصال به سرور مراحل زیر را انجام دهید: .PP .B new "lease" .PP این دستور یک شیء lease محلی جدید می‌سازد. .PP .B set ip-address = 192.168.4.50 .PP این دستور آدرس IP شیء .I local را برابر با 192.168.4.50 تنظیم می‌کند. .PP .B open .PP اکنون اگر اجاره‌ای با این آدرس IP وجود داشته باشد، تمام اطلاعات سرور DHCP در مورد آن اجاره خاص را مشاهده خواهید کرد. هر داده‌ای که متن خوانای مستقیم نباشد، به صورت مقادیر هگزادسیمال جداشده با دونقطه نمایش داده می‌شود. در این مثال، خروجی برگشتی از سرور برای کل تراکنش ممکن است به این شکل باشد: .nf .sp 1 > new "lease" obj: lease > set ip-address = 192.168.4.50 obj: lease ip-address = c0:a8:04:32 > open obj: lease ip-address = c0:a8:04:32 state = 00:00:00:02 dhcp-client-identifier = 01:00:10:a4:b2:36:2c client-hostname = "wendelina" subnet = 00:00:00:06 pool = 00:00:00:07 hardware-address = 00:10:a4:b2:36:2c hardware-type = 00:00:00:01 ends = dc:d9:0d:3b starts = 5c:9f:04:3b tstp = 00:00:00:00 tsfp = 00:00:00:00 cltt = 00:00:00:00 .fi .PP همان‌طور که مشاهده می‌کنید، آدرس IP و همچنین زمان‌های شروع و پایان اجاره به صورت هگزادسیمال نمایش داده شده‌اند. .SH "تغییر دادن یک شیء راه دور (MODIFYING A REMOTE OBJECT)" .PP ویژگی‌های اشیاء راه دور با استفاده از دستور .B set مانند قبل به‌روزرسانی می‌شوند و سپس دستور .B update صادر می‌شود. دستور .B set ویژگی‌ها را روی شیء محلی فعلی تنظیم می‌کند و دستور .B update این تغییرات را به سرور ارسال می‌نماید. .PP در ادامه مثال قبلی، اگر دستور .B set client-hostname = "something-else" صادر شود و به دنبال آن دستور .B update اجرا گردد، خروجی تقریباً به این شکل خواهد بود: .nf .sp 1 > set client-hostname = "something-else" obj: lease ip-address = c0:a8:04:32 state = 00:00:00:02 dhcp-client-identifier = 01:00:10:a4:b2:36:2c client-hostname = "something-else" subnet = 00:00:00:06 pool = 00:00:00:07 hardware-address = 00:10:a4:b2:36:2c hardware-type = 00:00:00:01 ends = dc:d9:0d:3b starts = 5c:9f:04:3b tstp = 00:00:00:00 tsfp = 00:00:00:00 cltt = 00:00:00:00 > update obj: lease ip-address = c0:a8:04:32 state = 00:00:00:02 dhcp-client-identifier = 01:00:10:a4:b2:36:2c client-hostname = "something-else" subnet = 00:00:00:06 pool = 00:00:00:07 hardware-address = 00:10:a4:b2:36:2c hardware-type = 00:00:00:01 ends = dc:d9:0d:3b starts = 5c:9f:04:3b tstp = 00:00:00:00 tsfp = 00:00:00:00 cltt = 00:00:00:00 .fi .SH "اشیاء راه دور جدید (NEW REMOTE OBJECTS)" .PP اشیاء راه دور جدید بسیار شبیه به نحوه ویرایش اشیاء موجود در سرور ایجاد می‌شوند. با استفاده از .B new یک شیء محلی بسازید، ویژگی‌ها را به شکل دلخواه تنظیم کنید و سپس شیء راه دور را با همان مشخصات ایجاد کنید با استفاده از: .PP .B create .PP اکنون شیء جدیدی در سرور DHCP وجود دارد که با ویژگی‌های داده‌شده به شیء محلی شما مطابقت دارد. اشیاء ساخته‌شده از طریق OMAPI در فایل dhcpd.leases ذخیره می‌شوند. .PP به عنوان مثال، اگر نیاز به ساخت یک میزبان جدید با آدرس IP برابر 192.168.4.40 باشد، به روش زیر انجام می‌شود: .nf .sp 1 > new host obj: host > set name = "some-host" obj: host name = "some-host" > set hardware-address = 00:80:c7:84:b1:94 obj: host name = "some-host" hardware-address = 00:80:c7:84:b1:94 > set hardware-type = 1 obj: host name = "some-host" hardware-address = 00:80:c7:84:b1:94 hardware-type = 1 > set ip-address = 192.168.4.40 obj: host name = "some-host" hardware-address = 00:80:c7:84:b1:94 hardware-type = 1 ip-address = c0:a8:04:28 > create obj: host name = "some-host" hardware-address = 00:80:c7:84:b1:94 hardware-type = 00:00:00:01 ip-address = c0:a8:04:28 > .fi .PP فایل dhcpd.leases شما سپس ورودی‌ای مانند زیر خواهد داشت: .nf .sp 1 host some-host { dynamic; hardware ethernet 00:80:c7:84:b1:94; fixed-address 192.168.4.40; } .fi .PP خط .I dynamic; نشان‌دهنده این است که این مدخل میزبان از dhcpd.conf نیامده، بلکه به صورت پویا از طریق OMAPI ایجاد شده است. .SH "بازنشانی ویژگی‌ها (RESETTING ATTRIBUTES)" .PP اگر می‌خواهید ویژگی خاصی را از یک شیء حذف کنید، می‌توانید با دستور .B unset این کار را انجام دهید. پس از حذف ویژگی، باید از دستور .B update برای به‌روزرسانی شیء راه دور استفاده کنید. بنابراین، اگر میزبان "some-host" از مثال قبل دیگر آدرس IP ایستا نداشته باشد، دستورها در omshell به شکل زیر خواهند بود: .nf .sp 1 obj: host name = "some-host" hardware-address = 00:80:c7:84:b1:94 hardware-type = 00:00:00:01 ip-address = c0:a8:04:28 > unset ip-address obj: host name = "some-host" hardware-address = 00:80:c7:84:b1:94 hardware-type = 00:00:00:01 ip-address = > .fi .SH "تازه‌سازی اشیاء (REFRESHING OBJECTS)" .PP یک شیء محلی را می‌توان با استفاده از دستور .B refresh با ویژگی‌های فعلی شیء راه دور بازخوانی و تازه کرد. این برای اشیایی که به صورت دوره‌ای تغییر می‌کنند، مانند اجاره‌ها (leases)، جهت بررسی به‌روزرسانی آن‌ها مفید است. این دستور کاربرد خاصی برای میزبان‌ها ندارد. .SH "حذف اشیاء (DELETING OBJECTS)" .PP هر شیء راه دوری که قابل ایجاد باشد، قابل حذف نیز هست. این کار با ساخت یک شیء محلی جدید، تنظیم ویژگی‌ها، پیوند شیء محلی و راه دور با استفاده از .BR open ، و سپس استفاده از دستور .B remove انجام می‌شود. اگر میزبان "some-host" از مثال قبل به اشتباه ساخته شده باشد، می‌توان آن را به شکل زیر تصحیح کرد: .nf .sp 1 obj: host name = "some-host" hardware-address = 00:80:c7:84:b1:94 hardware-type = 00:00:00:01 ip-address = c0:a8:04:28 > remove obj: > .fi .SH "راهنما (HELP)" .PP دستور .B help تمام دستورهای موجود در .B omshell را به همراه برخی نکات نحوه استفاده (سینتکس) چاپ می‌کند. .SH "همچنین ببینید (SEE ALSO)" dhcpctl(3), omapi(3), dhcpd(8), dhclient(8), dhcpd.conf(5), dhclient.conf(5). .SH "نویسنده (AUTHOR)" دستور .B omshell توسط ISC نگهداری می‌شود. برای کسب اطلاعات بیشتر درباره Internet Systems Consortium به .B https://www.isc.org مراجعه کنید.