| omshell(1) | General Commands Manual | omshell(1) |
نام (NAME)
omshell - پوسته خط فرمان OMAPI
خلاصه دستور (SYNOPSIS)
omshell
توضیحات (DESCRIPTION)
پوسته فرمان OMAPI با نام omshell یک روش تعاملی برای اتصال، پرسوجو و احتمالاً تغییر وضعیت سرور ISC DHCP از طریق رابط مدیریت شیء (OMAPI) فراهم میکند. با استفاده از OMAPI و omshell، نیازی به متوقف کردن سرور، اعمال تغییرات و سپس راهاندازی مجدد سرور DHCP نیست، بلکه میتوانید تغییرات را در حین اجرای سرور اعمال کنید. omshell روشی برای دسترسی به OMAPI فراهم میکند.
رابط OMAPI صرفاً یک مکانیزم ارتباطی است که به شما امکان دستکاری اشیاء را میدهد. برای استفاده عملی از omshell، شما باید بدانید چه اشیایی در دسترس هستند و چگونه از آنها استفاده کنید. مستندات مربوط به اشیاء OMAPI را میتوان در راهنمای سرور ارائهدهنده آنها یافت — برای مثال در صفحه راهنمای dhcpd(8) و صفحه راهنمای dhclient(8).
مشارکتها (CONTRIBUTIONS)
این نرمافزار، نرمافزاری آزاد است. در زمانهای گوناگون توسعه آن توسط سازمانهای مختلفی از جمله ISC و Vixie Enterprises پشتیبانی مالی شده است. توسعه نسخه 3.0 تقریباً بهطور کامل توسط Nominum, Inc تأمین مالی شده است.
در حال حاضر توسعه آن توسط ISC میزبانی میشود، اما آینده این پروژه به شما بستگی دارد. اگر قابلیتهایی مد نظرتان است، لطفاً پیادهسازی آنها را در نظر بگیرید.
اشیاء محلی و راه دور (LOCAL AND REMOTE OBJECTS)
در سرتاسر این سند، ارجاعاتی به اشیاء محلی و راه دور وجود دارد. اشیاء محلی مواردی هستند که در omshell با دستور new ساخته میشوند. اشیاء راه دور مواردی روی سرور هستند: اجارهها (leases)، میزبانها (hosts) و گروههایی که سرور DHCP از آنها مطلع است. اشیاء محلی و راه دور به یکدیگر پیوند داده میشوند تا مشاهده و تغییر ویژگیهای شیء امکانپذیر شود. همچنین میتوان اشیاء راه دور جدیدی ایجاد کرد که با اشیاء محلی مطابقت داشته باشند.
برقراری اتصال (OPENING A CONNECTION)
دستور omshell از خط فرمان اجرا میشود. پس از اجرای omshell، دستورهای متعددی وجود دارد که میتوان صادر کرد:
server address
port number
key name secret
key-algorithm algorithm
HMAC-MD5 HMAC-SHA1 HMAC-SHA224 HMAC-SHA256 HMAC-SHA384 HMAC-SHA512مقدار پیشفرض HMAC-MD5 است (مقدار به حروف کوچک و بزرگ حساس نیست).
connect
ساخت اشیاء محلی (CREATING LOCAL OBJECTS)
هر شیء تعریفشده در OMAPI را میتوان ساخت، درباره آن پرسوجو کرد و/یا آن را تغییر داد. انواع اشیاء موجود در OMAPI در dhcpd(8) و dhclient(8) تعریف شدهاند. هنگام استفاده از omshell، اشیاء ابتدا به صورت محلی تعریف میشوند، بر اساس نیاز دستکاری شده و سپس با یک شیء روی سرور پیوند میخورند. در هر لحظه فقط یک شیء را میتوان دستکاری کرد. برای ساخت یک شیء محلی، استفاده کنید از:
new object-type
در این مرحله، شیئی در اختیار دارید که میتوانید ویژگیهای آن را مقداردهی کنید. به عنوان مثال، اگر یک شیء lease جدید با new lease ساخته شده باشد، هر یک از ویژگیهای اجاره را میتوان به صورت زیر تنظیم کرد:
set attribute-name = value
پیوند دادن اشیاء محلی و راه دور (ASSOCIATING LOCAL AND REMOTE OBJECTS)
در این مرحله، میتوانید با دستور زیر اطلاعات این اجاره را از سرور پرسوجو کنید:
open
اکنون شیء lease محلی که ساختهاید و آدرس IP آن را تنظیم کردهاید، با شیء lease متناظر در سرور DHCP پیوند میخورد. تمام ویژگیهای اجاره از سرور DHCP اکنون به ویژگیهای شیء محلی تبدیل شده و در omshell نمایش داده خواهند شد.
مشاهده یک شیء راه دور (VIEWING A REMOTE OBJECT)
برای پرسوجوی یک اجاره با آدرس 192.168.4.50 و مشاهده ویژگیهای آن، پس از اتصال به سرور مراحل زیر را انجام دهید:
new lease
این دستور یک شیء lease محلی جدید میسازد.
set ip-address = 192.168.4.50
این دستور آدرس IP شیء local را برابر با 192.168.4.50 تنظیم میکند.
open
اکنون اگر اجارهای با این آدرس IP وجود داشته باشد، تمام اطلاعات سرور DHCP در مورد آن اجاره خاص را مشاهده خواهید کرد. هر دادهای که متن خوانای مستقیم نباشد، به صورت مقادیر هگزادسیمال جداشده با دونقطه نمایش داده میشود. در این مثال، خروجی برگشتی از سرور برای کل تراکنش ممکن است به این شکل باشد:
> 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
همانطور که مشاهده میکنید، آدرس IP و همچنین زمانهای شروع و پایان اجاره به صورت هگزادسیمال نمایش داده شدهاند.
تغییر دادن یک شیء راه دور (MODIFYING A REMOTE OBJECT)
ویژگیهای اشیاء راه دور با استفاده از دستور set مانند قبل بهروزرسانی میشوند و سپس دستور update صادر میشود. دستور set ویژگیها را روی شیء محلی فعلی تنظیم میکند و دستور update این تغییرات را به سرور ارسال مینماید.
در ادامه مثال قبلی، اگر دستور set client-hostname = something-else صادر شود و به دنبال آن دستور update اجرا گردد، خروجی تقریباً به این شکل خواهد بود:
> 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
اشیاء راه دور جدید (NEW REMOTE OBJECTS)
اشیاء راه دور جدید بسیار شبیه به نحوه ویرایش اشیاء موجود در سرور ایجاد میشوند. با استفاده از new یک شیء محلی بسازید، ویژگیها را به شکل دلخواه تنظیم کنید و سپس شیء راه دور را با همان مشخصات ایجاد کنید با استفاده از:
create
اکنون شیء جدیدی در سرور DHCP وجود دارد که با ویژگیهای دادهشده به شیء محلی شما مطابقت دارد. اشیاء ساختهشده از طریق OMAPI در فایل dhcpd.leases ذخیره میشوند.
به عنوان مثال، اگر نیاز به ساخت یک میزبان جدید با آدرس IP برابر 192.168.4.40 باشد، به روش زیر انجام میشود:
> 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 >
فایل dhcpd.leases شما سپس ورودیای مانند زیر خواهد داشت:
host some-host {
dynamic;
hardware ethernet 00:80:c7:84:b1:94;
fixed-address 192.168.4.40;
}
خط dynamic; نشاندهنده این است که این مدخل میزبان از dhcpd.conf نیامده، بلکه به صورت پویا از طریق OMAPI ایجاد شده است.
بازنشانی ویژگیها (RESETTING ATTRIBUTES)
اگر میخواهید ویژگی خاصی را از یک شیء حذف کنید، میتوانید با دستور unset این کار را انجام دهید. پس از حذف ویژگی، باید از دستور update برای بهروزرسانی شیء راه دور استفاده کنید. بنابراین، اگر میزبان "some-host" از مثال قبل دیگر آدرس IP ایستا نداشته باشد، دستورها در omshell به شکل زیر خواهند بود:
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 = <null> >
تازهسازی اشیاء (REFRESHING OBJECTS)
یک شیء محلی را میتوان با استفاده از دستور refresh با ویژگیهای فعلی شیء راه دور بازخوانی و تازه کرد. این برای اشیایی که به صورت دورهای تغییر میکنند، مانند اجارهها (leases)، جهت بررسی بهروزرسانی آنها مفید است. این دستور کاربرد خاصی برای میزبانها ندارد.
حذف اشیاء (DELETING OBJECTS)
هر شیء راه دوری که قابل ایجاد باشد، قابل حذف نیز هست. این کار با ساخت یک شیء محلی جدید، تنظیم ویژگیها، پیوند شیء محلی و راه دور با استفاده از open، و سپس استفاده از دستور remove انجام میشود. اگر میزبان "some-host" از مثال قبل به اشتباه ساخته شده باشد، میتوان آن را به شکل زیر تصحیح کرد:
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: <null> >
راهنما (HELP)
دستور help تمام دستورهای موجود در omshell را به همراه برخی نکات نحوه استفاده (سینتکس) چاپ میکند.
همچنین ببینید (SEE ALSO)
dhcpctl(3), omapi(3), dhcpd(8), dhclient(8), dhcpd.conf(5), dhclient.conf(5).
نویسنده (AUTHOR)
دستور omshell توسط ISC نگهداری میشود. برای کسب اطلاعات بیشتر درباره Internet Systems Consortium به https://www.isc.org مراجعه کنید.