-
- 19 تیر 1405
- شبکه VoIP
سیستم مدیریت مرکز تلفن ایزابل (Issabel) که بر پایه استریسک (Asterisk) و سیستمعامل لینوکس (معمولاً CentOS) بنا شده است، دارای یک رابط کاربری گرافیکی (GUI) بسیار قدرتمند است. با این حال، به عنوان یک مدیر سیستم یا متخصص شبکه، برای عیبیابی دقیقتر، مانیتورینگ زنده و مدیریت حرفهایتر،تسلط برمحیط خط فرمان (Command Line Interface) امری کاملاً ضروری است
۱. دستورات ورود و مدیریت کنسول استریسک (Asterisk CLI)
برای بررسی وضعیت تماسها، داخلیها و خطاهای مربوط به پردازش تماس، باید وارد محیط کنسول استریسک شوید. این دستورات در محیط لینوکس (Bash) وارد میشوند.
-
asterisk -rvvv: مهمترین دستور برای ورود به کنسول استریسک. هرچه تعداد حروفvبیشتر باشد (Verbose)، جزئیات بیشتری از لاگها و تماسها در لحظه نمایش داده میشود. -
asterisk -x "COMMAND": اجرای یک دستور خاص در استریسک بدون نیاز به ورود کامل به محیط کنسول (مثلاًasterisk -x "core show channels").
نکته مهم: تمامی دستورات بخش زیر، باید پس از ورود به کنسول استریسک (با اجرای دستور asterisk -rvvv) وارد شوند.
پرکاربردترین دستورات داخل محیط استریسک:
-
core show channels: نمایش تعداد تماسهای فعال و کانالهای درگیر در لحظه. -
sip show peers: نمایش لیست تمام داخلیها و ترانکهای مبتنی بر پروتکل SIP (چنسپ) به همراه وضعیت اتصال (آنلاین یا آفلاین بودن) و IP آنها. -
pjsip show endpoints: معادل دستور بالا، اما برای داخلیها و ترانکهایی که از پروتکل جدیدتر PJSIP استفاده میکنند. -
core reload: بارگذاری مجدد (Reload) هسته استریسک و اعمال تغییراتی که در فایلهای پیکربندی انجام شده است (بدون قطع تماسهای فعلی). -
dialplan show: نمایش کامل مسیردهی تماسها (Dialplan) برای بررسی نحوه رفتار سیستم با شمارههای مختلف. -
core restart now: ریستارت کردن کامل سرویس استریسک (توجه: این کار تمام تماسهای فعال را قطع میکند). -
core restart gracefully: ریستارت کردن استریسک به صورت ملایم (صبر میکند تا تماسهای فعلی تمام شوند و تماس جدیدی قبول نمیکند، سپس ریستارت میشود).
۲. مدیریت سرویسهای سیستم (Systemctl Commands)
گاهی اوقات مشکل از خود سیستمعامل یا سرویسهای جانبی است. این دستورات در محیط لینوکس (خارج از محیط استریسک) برای مدیریت سرویسهای ایزابل استفاده میشوند:
-
systemctl restart asterisk: ریستارت کردن سرویس اصلی استریسک. -
systemctl restart httpd: ریستارت کردن وبسرور آپاچی (در صورتی که رابط گرافیکی یا پنل تحت وب ایزابل باز نمیشود یا کند شده است). -
systemctl restart mariadb: ریستارت کردن سرویس دیتابیس (MySQL/MariaDB). لاگهای تماس (CDR) در اینجا ذخیره میشوند. -
systemctl restart network: راهاندازی مجدد سرویس شبکه سیستم (در صورت تغییر IP یا مشکلات ارتباطی).
۳. مانیتورینگ سیستم و عیبیابی (Troubleshooting)
بررسی منابع سرور و پیدا کردن خطاهای احتمالی، بخش مهمی از نگهداری سیستم تلفنی ایزابل است.
-
tail -f /var/log/asterisk/full: مشاهده زنده و لحظهای لاگهای استریسک. این دستور برای پیدا کردن دلیل قطع شدن تماسها یا رجیستر نشدن داخلیها معجزه میکند! -
htopیاtop: نمایش میزان مصرف پردازنده (CPU) و حافظه رم (RAM) توسط پردازشهای مختلف. -
df -h: بررسی میزان فضای خالی هارد دیسک. پر شدن هارد (مخصوصاً به دلیل ضبط مکالمات) یکی از دلایل رایج از کار افتادن ایزابل است. -
free -m: مشاهده وضعیت حافظه RAM سیستم بر حسب مگابایت. -
ping 8.8.8.8: بررسی دسترسی سرور ایزابل به اینترنت.
۴. امنیت و مدیریت شبکه
امنیت در مراکز تلفن ویپ (VoIP) به دلیل خطر هک شدن و حملات تماس (Toll Fraud) بسیار حیاتی است. ایزابل از Fail2Ban برای جلوگیری از این حملات استفاده میکند.
-
fail2ban-client status: نمایش وضعیت سرویس Fail2Ban و لیست زندانها (Jails) فعال. -
fail2ban-client status asterisk: نمایش لیست IPهایی که به دلیل تلاشهای ناموفق برای هک کردن استریسک مسدود (Ban) شدهاند. -
fail2ban-client set asterisk unbanip [IP_ADDRESS]: خارج کردن یک آدرس IP خاص از لیست سیاه مسدودیها (بلاکلیست). -
tcpdump -i eth0 -s 0 -w capture.pcap: ضبط کردن پکتهای شبکه برای عیبیابی فوقپیشرفته و بررسی آنها در نرمافزار Wireshark.
جدول خلاصه سریع دستورات
برای دسترسی سریعتر، پرکاربردترین دستورات در جدول زیر خلاصه شدهاند:
| هدف / کاربرد | دستور مورد نیاز | محیط اجرا |
| ورود به محیط استریسک با لاگ کامل | asterisk -rvvv |
لینوکس (Bash) |
| مشاهده داخلیهای SIP و وضعیت آنها | sip show peers |
کنسول استریسک |
| مشاهده تماسهای در حال انجام | core show channels |
کنسول استریسک |
| مشاهده زنده لاگهای سیستم | tail -f /var/log/asterisk/full |
لینوکس (Bash) |
| بررسی فضای خالی هارد دیسک | df -h |
لینوکس (Bash) |
| رفع مسدودی یک IP در ایزابل | fail2ban-client set asterisk unbanip [IP] |
لینوکس (Bash) |
۵. مدیریت شبکه و نوشتن روت استاتیک (Static Route)
در بسیاری از پروژههای ویپ، سرور ایزابل دارای دو کارت شبکه است (یکی برای شبکه داخلی و دیگری برای اتصال به مودم سیپ ترانک سرویسدهنده مانند مخابرات). در این حالت، برای اینکه ایزابل بداند ترافیک مربوط به ترانک را از کدام کارت شبکه خارج کند، باید برای آن مسیر یا روت استاتیک بنویسیم.
سیستمعامل پایه ایزابل لینوکس (CentOS) است، بنابراین از دستورات استاندارد لینوکس برای مسیریابی استفاده میکنیم:
مشاهده وضعیت فعلی روتها
قبل از هر کاری، بهتر است جدول مسیریابی (Routing Table) فعلی سرور را بررسی کنید:
-
ip routeیاroute -n: نمایش جدول کامل روتهای سیستم. در خروجی این دستور میتوانید ببینید که ترافیک هر IP از کدام گیتوی (Gateway) و کارت شبکه (Interface) عبور میکند.
الف) نوشتن روت موقت (Temporary Route)
این نوع روت بلافاصله اعمال میشود اما با ریستارت شدن سرور یا سرویس شبکه، پاک خواهد شد. این روش برای تست و عیبیابی اولیه بسیار مناسب است.
-
ساختار دستور:
ip route add [Network/Subnet] via [Gateway_IP] dev [Interface_Name] -
مثال کاربردی: فرض کنید IP سرور مخابرات (مقصد)
10.104.130.0/24است و مودم مخابرات که به کارت شبکه دوم شما (eth1) متصل شده، دارای IP192.168.1.1است. دستور به شکل زیر خواهد بود:
ip route add 10.104.130.0/24 via 192.168.1.1 dev eth1
ب) نوشتن روت دائمی (Persistent Route)
برای اینکه روت شما پس از ریستارت شدن سرور از بین نرود، باید آن را در فایلهای پیکربندی شبکه ایزابل ذخیره کنید.
مرحله اول: ابتدا با استفاده از ویرایشگر متنی nano، یک فایل روت برای کارت شبکه مورد نظر (مثلاً eth1) ایجاد یا باز کنید:
nano /etc/sysconfig/network-scripts/route-eth1
مرحله دوم: خط زیر را در این فایل بنویسید (بر اساس مثال بالا): 10.104.130.0/24 via 192.168.1.1 (پس از نوشتن، کلیدهای Ctrl+X را بزنید، سپس Y و در نهایت Enter را فشار دهید تا فایل ذخیره شود).
مرحله سوم: برای اعمال تغییرات، سرویس شبکه را ریستارت کنید: systemctl restart network
نکته کلیدی: اگر سرور شما نمیتواند به ترانک SIP متصل شود، در ۹۰٪ مواقع مشکل از عدم وجود روت صحیح یا اشتباه بودن آدرس Gateway در دستورات بالا است. استفاده از دستور ping [IP_مقصد] پس از نوشتن روت، به شما نشان میدهد که آیا مسیر به درستی باز شده است یا خیر.
سخن پایانی
یادگیری محیط کامند (CLI) ایزابل شاید در ابتدا کمی پیچیده به نظر برسد، اما با تمرین و استفاده مستمر از دستورات بالا، سرعت شما در رفع مشکلات و مدیریت مرکز تلفن به شدت افزایش خواهد یافت. پیشنهاد میکنیم همیشه قبل از اجرای دستورات ریستارت (مانند core restart now) در ساعات اداری، از عدم وجود تماسهای مهم در سیستم اطمینان حاصل کنید تا خللی در ارتباطات شرکت ایجاد نشود.
نظر خود را اینجا بنویسید