ipmi_lan(5) IPMI LAN Interface config file ipmi_lan(5)

ipmi_lan - فایل پیکربندی سرور شبکه IPMI LAN در OpenIPMI

/etc/ipmi/lan.conf

دستورات ipmi_sim و ipmilan با استفاده از این فایل پیکربندی تنظیم می‌شوند.

فیلدهای زیر در بسیاری از دستورات به کار می‌روند:

boolean می‌تواند "true"‏، "false"‏، "on" یا "off" باشد.

priv سطح دسترسی IPMI است. این مقدار می‌تواند "callback"‏، "user"‏، "operator" یا "admin" باشد.

auth نوع احراز هویت IPMI است. این مقدار می‌تواند "none" برای عدم احراز هویت، "straight" برای احراز هویت مستقیم با گذرواژه متن‌آشکار، "md2" برای استفاده از چکیده پیام MD2 یا "md5" برای استفاده از چکیده پیام MD5 باشد.

خطوط خالی و خطوطی که با «#» آغاز می‌شوند نادیده گرفته می‌شوند.

دستورات زیر در فایل پیکربندی مجاز هستند:

نامی را برای BMC تنظیم می‌کند. این مقدار موارد دیگر را کنترل می‌کند، مانند مقدار پیش‌فرض فایل دستورات راه‌اندازی ipmi_sim و مکانی که داده‌های پایدار در آن ذخیره می‌شوند.
usernum شماره کاربر را مشخص می‌کند. توجه داشته باشید که شماره کاربر 0 نامعتبر است و شماره کاربر 1 کاربر ویژه "anonymous" (ناشناس) است که نام کاربری آن نادیده گرفته می‌شود. این مقدار می‌تواند تا 63، یعنی حداکثر کاربر ممکن در IPMI باشد. اگر دسترسی ناشناس می‌خواهید، باید یک کاربر با شماره 1 داشته باشید.

enabled یک مقدار بولی است که مشخص می‌کند آیا کاربر فعال است یا خیر.

username نام کاربر را مشخص می‌کند که به صورت یک نام تعیین می‌شود.

password گذرواژه کاربر را مشخص می‌کند که به صورت یک نام تعیین می‌شود.

max-priv حداکثر سطح دسترسی مجاز برای کاربر را مشخص می‌کند.

max.sessions حداکثر تعداد نشست‌هایی را که کاربر می‌تواند باز کند مشخص می‌کند.

دستوری را برای اجرا در هنگام درخواست روشن شدن (power on) مشخص می‌کند. این ویژگی امکان می‌دهد یک ماشین مجازی راه‌اندازی شود که سپس بتواند مجدداً به شبیه‌ساز متصل گردد. شبیه‌ساز در اینجا فرآیند را مدیریت می‌کند و وضعیت روشن بودن فرآیند به این بستگی دارد که فرآیند وجود دارد یا خیر. اگر درخواست خاموش شدن (poweroff) داده شود، چنانچه فرآیند به یک رابط سریال ماشین مجازی متصل باشد، ابتدا درخواست خاموش‌سازی تمیز (graceful shutdown) داده می‌شود. اگر فرآیند در مدت زمان مشخص‌شده پایان نیابد، سیگنال SIGTERM به آن ارسال می‌شود. در صورتی که اتصالی برقرار نباشد، SIGTERM بلافاصله ارسال می‌گردد. اگر فرآیند در یک بازه زمانی مشخص‌شده دیگر بسته نشود، سیگنال SIGKILL ارسال خواهد شد.
اگر true باشد، دستور startcmd در هنگام راه‌اندازی شبیه‌ساز اجرا می‌شود؛ در غیر این صورت تا زمان صدور دستور روشن شدن (poweron) منتظر می‌ماند.
مدت زمانی (بر حسب ثانیه) را مشخص می‌کند که باید منتظر ماند تا startcmd در زمان درخواست خاموش شدن، یک خاموش‌سازی تمیز انجام دهد. شبیه‌ساز درخواستی را به مقصد ارسال می‌کند، به این میزان ثانیه منتظر می‌ماند و سپس فرآیند را با سیگنال SIGTERM متوقف می‌کند. اگر این مقدار صفر باشد، سیگنال SIGTERM (و همچنین SIGKILL) ارسال نخواهد شد. توجه داشته باشید که اگر شبیه‌ساز به ماشین مجازی متصل نباشد، خاموش‌سازی تمیز نادیده گرفته شده و بلافاصله SIGTERM اعمال می‌شود. زمان پیش‌فرض ۶۰ ثانیه است.
مدت زمانی (بر حسب ثانیه) را مشخص می‌کند که باید برای سیگنال SIGTERM جهت خاتمه دادن به فرآیند منتظر ماند. اگر فرآیند در این مدت پایان نیابد، سیگنال خاتمه قطعی SIGKILL ارسال می‌شود. اگر این مقدار صفر باشد، SIGKILL ارسال نخواهد شد. زمان پیش‌فرض ۲۰ ثانیه است.
مشخص می‌کند که یک درگاه کنسول روی نشانی و درگاه داده‌شده باز شود. می‌توانید با telnet به کنسول متصل شده و دستورات شبیه‌سازی را اجرا کنید. توجه داشته باشید که این یک رخنه امنیتی بسیار بزرگ است و فقط باید برای اشکال‌زدایی در یک محیط کاملاً مهارشده استفاده شود.
channel شماره یا نوع کانال را مشخص می‌کند. این مقدار می‌تواند kcs،‏ smic یا bt باشد یا مقدار 15 باشد. در حال حاضر، فقط کانال رابط سیستم (کانال 15) برای رابط‌های سریال پشتیبانی می‌شود؛ اگر موارد دیگر مشخص شوند، همان کانال 15 در نظر گرفته شده و رابط داده‌شده در دستورات پیکربندی کانال گزارش می‌شود.

addr نشانی IP مورد نظر برای گوش دادن به اتصالات را مشخص می‌کند.

port درگاه مورد نظر برای گوش دادن به اتصالات را مشخص می‌کند.

گزینه‌های معتبر عبارتند از:

codec name مشخص می‌کند که کدام کدک روی درگاه سریال استفاده شود. گزینه‌های معتبر عبارتند از: TerminalMode،‏ Direct،‏ RadisysAscii و VM. سه مورد اول پیاده‌سازی‌های رابط‌های سریال IPMI روی سیستم‌های خاص هستند و ممکن است برای شبیه‌سازی آن سیستم‌ها استفاده شوند. گزینه VM احتمالاً جالب‌ترین مورد است؛ این گزینه برای استفاده به همراه یک ماشین مجازی مانند qemu طراحی شده است.

oem name پیاده‌سازی برخی دستورات و گزینه‌های سفارشی OEM را روی رابط مشخص می‌کند. گزینه‌های معتبر عبارتند از PigeonPoint و Radisys.

attn c1[,c2[...]] فهرستی از نویسه‌ها را که با کاما از هم جدا شده‌اند، مشخص می‌کند تا به عنوان نویسه توجه (attention) روی رابط استفاده شوند. به طور کلی مقدار پیش‌فرض درست است. نویسه‌ها به صورت ارقام ده‌دهی، هشت‌هشتی یا شانزده‌شانزدهی با شیوه زبان C مشخص می‌شوند.

ipmb addr نشانی IPMI رابط را مشخص می‌کند. مقدار پیش‌فرض 0x20 معمولاً درست است، اما هنگام شبیه‌سازی سیستم‌های ATCA ممکن است نیاز باشد.

اجازه برقراری اتصال سریال روی شبکه محلی (SOL - Serial Over LAN) را به دستگاه داده‌شده می‌دهد. این اتصال روی رابط 1 برای MC خواهد بود.

device مسیر کامل نام دستگاه است. همچنین می‌تواند به شکل "tcp:address:port" یا "telnet:address:port" باشد تا اتصال روی tcp (بدون یا با پردازش telnet) برقرار شود. این قابلیت برای فراهم کردن دسترسی SOL به درگاه‌های qemu مفید است.

default_baud نرخ باود (baud rate) پیش‌فرض اولیه را برای استفاده تعیین می‌کند. این مقدار با تنظیمات پایدار SOL بازنویسی می‌شود.

history یک دستگاه تاریخچه روی رابط 2 SOL ایجاد می‌کند. مقدار size اندازه بافر است. داده‌های دریافتی از دستگاه همواره در بافر تاریخچه ذخیره می‌شوند. اتصال به رابط 2 SOL باعث تخلیه (dump) کامل بافر تاریخچه خواهد شد. اگر backupfile مشخص شده باشد، تاریخچه پایدار خواهد شد. با این حال، تاریخچه فقط در صورتی ذخیره می‌شود که یک سیگنال قابل‌گرفتن یا خاموش‌سازی عادی رخ دهد؛ بنابراین قطع ناگهانی برق یا سیگنال‌های مرگبار باعث از دست رفتن داده‌ها خواهند شد.

historyfru تاریخچه را از طریق شماره FRU داده‌شده روی MC در دسترس قرار می‌دهد.

توجه داشته باشید که اگر اتصال برقرار نشود، شبیه‌ساز به تلاش خود برای برقراری ارتباط ادامه خواهد داد. به این ترتیب می‌توانید درگاه‌های سریال UDP یا نشست‌های qemu را رفع اشکال کنید و اتصال به طور خودکار بازبرقرار خواهد شد.

شیء اشتراکی (shared object) داده‌شده را در برنامه بارگذاری می‌کند.

module مسیر کامل ماژول است. این مسیر باید داخل گیومه باشد.

options یک رشته اختیاری در گیومه است که گزینه‌ها را به ماژول ارسال می‌کند. محتوای این رشته از پیش تعیین نشده است و خود ماژول آن را تعریف می‌کند.

ماژول ممکن است تعدادی تابع داشته باشد که فراخوانی می‌شوند:

ipmi_sim_module_print_version(sys_data_t *sys, char *options) زمانی فراخوانی می‌شود که ipmi_sim با گزینه چاپ نسخه اجرا شود. به این ترتیب نسخه همه ماژول‌های بارگذاری‌شده می‌تواند چاپ شود. ماژول باید نسخه خود را چاپ کند. شما باید این تابع را فراهم کنید.

ipmi_sim_module_init(sys_data_t *sys, char *options) پس از خوانده شدن فایل پیکربندی و پیش از هرگونه مقداردهی اولیه دیگر فراخوانی می‌شود. ماژول باید بیشتر کارهای مقداردهی اولیه خود را در اینجا انجام دهد. شما باید این تابع را فراهم کنید.

ipmi_sim_module_post_init(sys_data_t *sys) پس از پایان مقداردهی اولیه ipmi_sim فراخوانی می‌شود. این تابع اختیاری است.

پارامتر sys برای اغلب توابعی که با کد اصلی ipmi_sim در ارتباط هستند (مانند ثبت وقایع، تایمرها و چند مورد از فراخوانی‌های MC) استفاده می‌شود. محتوای آن برای ماژول نامشخص و مات (opaque) است.

یک ناحیه پیکربندی شبکه محلی (LAN) را آغاز می‌کند. این دستور تنظیمات اتصال LAN را با استفاده از کانال داده‌شده مشخص می‌کند. ممکن است بیش از یک بار در یک فایل مشخص شود تا از چندین اتصال LAN پشتیبانی کند. دستورات بعد از این تا endlan، دستورات مختص LAN هستند که در زیر فهرست شده‌اند. channel کانالی را مشخص می‌کند که پیکربندی LAN برای آن تنظیم می‌شود.

دستورات زیر تنها درون یک بخش startlan معتبر هستند.

IP-address نشانی IP مورد استفاده برای یک درگاه IP را مشخص می‌کند. حداکثر ۴ نشانی می‌تواند مشخص شود. اگر هیچ نشانی‌ای مشخص نشود، پیش‌فرض آن یک درگاه روی 0.0.0.0 (برای تمام نشانی‌های روی ماشین) در درگاه 623 است.

UDP-port یک درگاه اختیاری را برای گوش دادن مشخص می‌کند. مقدار پیش‌فرض آن 623 (درگاه استاندارد) است.

هشداردهی PEF را روشن یا خاموش می‌کند (در حال حاضر پشتیبانی نمی‌شود).
احراز هویت به ازای هر پیام را روشن یا خاموش می‌کند.
حداکثر سطح دسترسی مجاز روی این رابط را تعیین می‌کند.
auth سطوح مجاز احراز هویت را برای سطح دسترسی callback مشخص می‌کند. تنها سطوح مشخص‌شده در این خط برای این سطح احراز هویت مجاز هستند. اگر این خط وجود نداشته باشد، احراز هویت callback نمی‌تواند استفاده شود.
auth سطوح مجاز احراز هویت را برای سطح دسترسی user مشخص می‌کند. تنها سطوح مشخص‌شده در این خط برای این سطح احراز هویت مجاز هستند. اگر این خط وجود نداشته باشد، احراز هویت user نمی‌تواند استفاده شود.
auth سطوح مجاز احراز هویت را برای سطح دسترسی operator مشخص می‌کند. تنها سطوح مشخص‌شده در این خط برای این سطح احراز هویت مجاز هستند. اگر این خط وجود نداشته باشد، احراز هویت operator نمی‌تواند استفاده شود.
auth سطوح مجاز احراز هویت را برای سطح دسترسی admin مشخص می‌کند. تنها سطوح مشخص‌شده در این خط برای این سطح احراز هویت مجاز هستند. اگر این خط وجود نداشته باشد، احراز هویت این سطح نمی‌تواند استفاده شود.
امکان تعیین یک GUID شانزده بایتی را برای اتصال IPMI LAN فراهم می‌کند. اگر این مورد مشخص نشود، دستور GUID پشتیبانی نخواهد شد.

/etc/ipmi_lan.conf

ipmilan(8),ipmi_sim(1)

IPMI به طور غیرضروری پیچیده است.

Corey Minyard <cminyard@mvista.com>

06/26/12 OpenIPMI