تا %60 تخفیف خرید برای 6 نفر با صدور مدرک فقط تا
00 00 00
در توسینسو تدریس کنید

آموزش پایتون برای مهندسین شبکه قسمت 1 : پیکربندی تجهیزات سیسکو

در این دوره آموزشی به کاربردهای زبان پایتون برای مهندسین شبکه می پردازم و اسکریپتهایی را معرفی می کنم که از طریق آنها مهندسین و ادمین های شبکه امکان خودکار سازی فرآیند نگهداشت شبکه را خواهند داشت.

در اولین دوره آموزشی پایتون (Python) برای مهندسین شبکه اسکریپت اتصال SSH به تجهیزات سیسکو را براتون معرفی میکنم و اینکه چگونه میتویند یک تجهیزات سیسکو را از طریق پایتون پیکربندی کنید. حتما تا حالا براتون پیش اومده که بخواین مثلا به تمام سوییچ های شبکه سازمان با SSH وصل بشید و با زدن یک کامند روی همشون یک قابلیت رو روی آنها پیکربندی کنید (مثلا تنظیم SNMP و یا Syslog روی همه سوییچ ها برای ارسال بسته ها به سرور مانیتورینگ) و یا اینکه به دلایل امنیتی بخواین با اجرای یک کامند، یک قابلیت یا سرویس رو روی همشون غیر فعال کنید ( مثلا no cdp run ) اینجور کارهای تکراری و خسته کننده را میتوان از طریق اسکریپت های پایتون انجام داد به عنوان مثال با استفاده از اسکریپت پایتون ضمیمه، در کد زیر :

#----------------------------------------------------
# Cisco Switch/Router Configuration By Python
# By : Hessam Hosseini
# Email : hessam.hosseyni@gmail.com
# Tel : 0912 0612 305 
#----------------------------------------------------

#------------------------------------------------- Get User and Password of Switch -----------------------------------
username=input("\n\nUsername:  ")
password=getpass(prompt='Password:  ')
enable_pass=getpass(prompt='Enable Password:  ')
#------------------------------------------------- Read Switch List from file -----------------------------------
with open('Switch_list.txt') as f:
 devices_list = f.read().splitlines()
 for device in devices_list:
  DVIP = device
  print (Style.DIM + Fore.WHITE + "\n-------------------------------------------------------")
  print (Style.DIM + Fore.WHITE + "\nConnecting to " + DVIP + " ..." + Style.RESET_ALL)
    
#------------------------------------------------- SSH to Device -----------------------------------
  sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    #IPv4 , TCP Connection
  result = sock.connect_ex((DVIP,22))
  if result != 0:
   print (Style.DIM + Fore.YELLOW + " SSH Port on Switch " + DVIP + " is close." + Style.RESET_ALL)
   continue
  sock.close()

  try:
   remote_conn_pre=paramiko.SSHClient()
   remote_conn_pre.set_missing_host_key_policy(paramiko.AutoAddPolicy())
   remote_conn_pre.connect(DVIP,username=username,password=password,look_for_keys=False,allow_agent=False)
   print(Style.DIM + Fore.CYAN + " SSH Connection to %s established."  %DVIP + Style.RESET_ALL)
  
  except Exception as e:
   print(Style.BRIGHT + Fore.YELLOW + " SSH Connection to %s  : Authentication Failed."  %DVIP + Style.RESET_ALL)
   continue
#------------------------------------------------- Configuration -----------------------------------
  remote_conn.send('enable\n')
  remote_conn.send(enable_pass+'\n')
  remote_conn.send('configure terminal\n')
  remote_conn.send('no cdp run\n')
  remote_conn.send('logging 192.168.1.100\n')
  remote_conn.send('snmp-server host 192.168.1.100\n')
  remote_conn.send('exit\n')
  remote_conn.send('write\n')
  print(Style.DIM + Fore.GREEN + " %s Configuration has been saved."  %DVIP + Style.RESET_ALL)
#------------------------------------------------- Close SSH -----------------------------------
  remote_conn.close()
  print(Style.DIM + Fore.CYAN + " SSH Connection to %s was closed."  %DVIP + Style.RESET_ALL)
 میتونید یک فایل متنی شامل IP سوییچ ها (یا روترها) رو بخونید و اسکریپت به تک تک سوییچ ها SSH  زده و دستورات شما را اجرا کرده و در نهایت پیکربندی انجام شده را بر روی همه تجهیزات  Write  و ارتباط SSH  را قطع میکند.
 
توضیح بیشتر اینکه برای اجرای اسکریپت فوق ابتدا باید پایتون 3 را دانلود و نصب کنید و از خط فرمان ، با دستور زیر اسکریپت را اجرا کنید
 
C:\>python cisco-config.py
 
در این دوره آموزشی فرض بر این است که شما دوره مقدماتی پایتون رو پشت سر گذاشتید و با مفاهیم و Syntax  زبان پایتون آشنایی دارید ولی باز هم چنانچه در مورد نحوه عملکرد اسکریپت و یا چگونگی اجرای آن ابهامی داشتید من در خدمت هستم.

 

  • نویسنده : سیدحسام الدین حسینی
  • منبع : جزیره سیسکو وب سایت توسینسو
نظر شما
برای ارسال نظر باید وارد شوید.
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

افرادی که این مطلب را خواندند مطالب زیر را هم خوانده اند