EN
۱
  • خانه
  • وبلاگ
  • درباره ما
    • تیم ما
    • درباره ما
    • تماس با ما
  • جعبه ابزار

آشنایی با Guest shell

19 جولای 2019سید حمید رضا حسینیPublic, R&S

Guest Shell چیست؟

فروش یک محصول کاملا بسته از لحاظ نرم افزاری، ایرادی بود که بسیاری از کارشناسان از سیسکو می‌گرفتند؛ اینکه شما مجبور به پرداخت هزینه محصولی هستید که امکان استفاده از تمام ویژگی‌های آن اعم از سخت افزاری یا نرم افزاری را ندارید عامل اصلی این انتقادات بود. 
در همین راستا و به منظور پوشش بخشی از این ضعف، قابلیتی به نام Guest Shell در بعضی از محصولات سیسکو ارائه شده است که به کمک آن  می‌توان از مزیت‌های داشتن سیستم عامل Linux موازی با سیستم عامل اصلی محصول خریداری شده استفاده کرد.
Guest shell یک محیط مجازی مبتنی بر لینوکس است که با استفاده از بستری که IOX فراهم میکند امکان نصب نرم افرارهای کاربردی لینوکس را در کنار دسترسی به شبکه فراهم می‌کند؛ به عنوان مثال نصب نرم افزار tcpdump یا nmap جهت شناسایی و جمع آوری اطلاعات موجود در شبکه.

اما IOx چیست؟ Cisco IOx در واقع یک چهار چوب میزبانی (Platform) در محصولات سیسکو است که امکان برقراری ارتباط با سایر نرم افزار ها و همچنین نصب نرم افزارهای متن باز را می‌دهد. هدف اصلی IOx تسهیل امور مربوط به IOT است، برای مثال شما با قرار دادن یک مسیریاب می‌توانید بدون خریدن دستگاه جانبی (Computing Device) نرم افزار خود را روی مسیریاب نصب کنید و از بستر ارتباطی موجود که مسیریاب در آن فعالیت می‌کند هم استفاده کنید.

   

فعال سازی IOx از طریق دستور زیر انجام می‌گیرد:

CloudXP_CSR1000v#conf t
CloudXP_CSR1000v (config)#iox
CloudXP_CSR1000v (config)#exit

فعال سازی Guest Shell

Guest shell به صورت پیش فرض روی NX-OS نصب است اما برای فعال سازی آن در IOS-XE و IOS، بعد از فعال کردن IOx مراحل زیر را انجام را انجام دهید:

dev4431-1#guestshell enable
Management Interface will be selected if configured
Please wait for completion

به طور پیش فرض در Guest Shell دسترسی‌ای به اینترفیس های روتر ندارید، جهت ایجاد دسترسی guest shell به شبکه می‏توانید از این نمونه config استفاده کنید.

CloudXP_CSR1000v #conf t
Enter configuration commands, one per line. End with CNTL/Z
CloudXP_CSR1000v (config)#interface VirtualPortGroup0
CloudXP_CSR1000v (config-if) #ip address 192.168.1.1 255.255.255.0
CloudXP_CSR1000v (config-if) #ip nat inside
CloudXP_CSR1000v (config-if) #exit
CloudXP_CSR1000v (config-if) #interface GigabitEthernet1
CloudXP_CSR1000v (config-if) #ip address 172.66.70.124 255.255.255.0
CloudXP_CSR1000v (config-if) #ip nat outside
CloudXP_CSR1000v (config-if) #exit
CloudXP_CSR1000v (config)#ip access-list standard GUESTSHELL_NAT
CloudXP_CSR1000v (config-std-nacl) #permit 192.168.1.0 0.0.0.255
CloudXP_CSR1000v (config)#ip nat inside source list GUESTSHELL_NAT interface GigabitEthernet1 overload

و از طریق دستور زیر اینترفیس مجازی ایجاد شده را به عنوان اینترفیس مدیریتی Guest Shell معرفی کنید.

(config)#app-hosting appid guestshell
(config)#vnic management guest-interface

برای اجرای دستورات IOS در shell از دستور dohost استفاده کنید.

[guestshell@guestshell ~]$ dohost "show version"
Cisco IOS Software [Everest], Catalyst L3 Switch Software [CAT3K_CAA-UNIVERSALK9-M),
Experimental Version 16.5.2017200014[v165_throttle-BLD-
BLD_V165_THROTTLE_LATEST_20170531_192849 132

در سمت مقابل، برای اجرای command های Guest Shell می‌توانید با دستور guestshell run در محیط (IOS,IOS-XE,NX-OS) دستورات مورد نظر خود را اجرا کنید.

مثال: اجرا دستور ping در محیط لینوکس

CloudXP_CSR1000v #guestshell run ping ipcafe.net
PING ipcafe.com (176.9.236.224) 56(84) bytes of data.
64 bytes from www.ipcafe.net (176.9.236.224): icmp_seq=1 ttl=238 time=202 ms
64 bytes from www.ipcafe.net (176.9.236.224): icmp_seq=2 ttl=238 time=232 ms
64 bytes from www.ipcafe.net(176.9.236.224): icmp_seq=3 ttl=238 time=200 ms
64 bytes from www.ipcafe.net(176.9.236.224): icmp_seq=4 ttl=238 time=199 ms
64 bytes from www.ipcafe.net (176.9.236.224): icmp_seq=5 ttl=238 time=200 ms
64 bytes from www.ipcafe.net (176.9.236.224): icmp_seq=6 ttl=238 time=200 ms

و در نهایت اینکه جهت آگاهی از فعال یا غیر فعال بودن Guest Shell بر روی روتر می‌توانید از دستور زیر استفاده کنید:

#show app-hosting list
App id                           State
------------------------------------------------------
guestshell                       RUNNING

استفاده از Python در Guest Shell

در Guest Shell همانگونه که گفته شد، امکان استفاده از اغلب امکانات یک سیستم عامل لینوکس را دارید. از این طریق می‌توان با استفاده از پایتون، اسکریپت‌هایی جهت اتوماتیک سازی کارها و یا جمع آوری اطلاعات برای بالا بردن سرعت و کارایی شبکه انجام داد.

جهت اطلاع از ورژن و همچنین اجرای برنامه‌های python در محیط CLI از دستورات زیر استفاده کنید:

Device# guestshell run python
Python 2.7.11 (default, Feb 21 2017, 03:39:40)
[GCC 5.3.0] on linux2

Type "help", "copyright", "credits" or "license" for more information.

Device# guestshell run python /flash/sample_script.py loop55

برای استفاده از حافظه Flash روتر در Guest Shell می‌توانید از دایرکتوری flash واقع در / استفاده کنید: 

[guestshell@guestshell /]$ ls
bin boot bootflash cisco data dev etc fix_sshd.sh flash home lib lib64 local lost+found media mnt opt proc root run sbin selinux srv sys tmp unfix_sshd.sh usr var
[guestshell@guestshell /]$ cd flash/

با مراجعه به این ابزار سیسکو، می‌توانید تجهیزات مختلف سیسکو که قابلیت Guest Shell را پشتیبانی می‌کنند بیابید.

برچسب ها: guest shell, iox, linux
سید حمید رضا حسینی
سید حمید رضا حسینی با دو سال سابقه حرفه ای در حوزه های R&S and VOIP شبکه به عنوان یک متخصص در این زمینه ها شناخته می شود. تخصصی که حاصل تجارب عیب یابی و راه اندازی های متعدد در پروژه های مختلف می باشد.روحیه کار تیمی و یادگیری سریع مطالب به صورت خودآموز (self-study) از ویژگی های شخصیتی اوست.

دیدگاهتان را بنویسید لغو پاسخ

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

کانال تلگرام آی پی کافه

نوشته‌های تازه

  • آشنایی با Multicast
  • Automatic Turn off Debugger
  • Python script to create jabber phones
  • CRC Error check Script
  • اسکریپت CRC Check تجهیزات سیسکو

دسته‌ها

  • Collaboration
  • Datacenter
  • Devnet-English
  • Public
  • R&S
  • Security
  • Storage
  • جعبه ابزار
  • دسته‌بندی نشده
  • ِDevnet
[carousel-horizontal-posts-content-slider]
صفحه نخستدرباره مـــاارتباط با ماوبلاگ
تمامی حقوق برای کافه آی پی محفوظ می باشد © 1399