97¹ú¼Ê

¹¤³§ÑÐѧ Ø­ 97¹ú¼ÊÍøÂçÊý×Ö»¯ÖÇÄܹ¤³§¡°ºÚ¿Æ¼¼¡±´ó½ÒÃØ
Ô¤Ô¼Ö±²¥
ÀÖÏíÓªÒµ°ü¹Ü·þÎñ Ø­ ÊØ»¤Ò½ÁÆÓªÒµÒ»Á¬ÎȹÌ
Ô¤Ô¼Ö±²¥
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
²úÆ·
< ·µ»ØÖ÷²Ëµ¥
²úÆ·ÖÐÐÄ
²úÆ·
½â¾ö¼Æ»®
< ·µ»ØÖ÷²Ëµ¥
½â¾ö¼Æ»®ÖÐÐÄ
ÐÐÒµ
ºÏ×÷»ï°é
·µ»ØÖ÷²Ëµ¥
Ñ¡ÔñÇøÓò/ÓïÑÔ
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾ 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

»ùÓÚPython TextFSMÄ £¿éµÄÍøÂç×°±¸×Ô¶¯»¯ÔËάҪÁì

±¾ÎĽ«¸ø¸÷ÈËÏÈÈÝÒ»ÖÖÖ÷Á÷µÄ»ùÓÚCLIÏÂÁîÐеǼµÄ×Ô¶¯»¯ÔËάʵ¼ù°¸Àý£¬Ï£ÍûÄܹ»¸ø¸÷ÈË´øÀ´×ÊÖú¡£

  • 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

    Ðû²¼Ê±¼ä£º2021-03-04

  • 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

    µã»÷Á¿£º

  • 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

    µãÔÞ£º

·ÖÏíÖÁ

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

ÎÒÏë̸ÂÛ

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

±¾ÎÄ×÷Õߣºkevinwoo

97¹ú¼ÊÍøÂçÊÖÒÕ·þÎñ²¿»¥ÁªÍø·þÎñÖÐÐÄ

 

Ëæ×ÅÔÆÅÌËãºÍSDNÊÖÒÕµÄÉú³¤£¬Êý¾ÝÖÐÐĹæÄ£Ô½À´Ô½´ó£¬¶øÍøÂç¼Ü¹¹Öð½¥Ïò“È¥¶Ñµþ”¡¢“È¥¿ò”ʽÉú³¤£¬Õâ¾ÍÒâζ×ÅÐèҪά»¤µÄ½»Á÷»úÊýÄ¿Ôڳɱ¶µÄÔöÌí¡£Ëæ×ÅÍøÂçά»¤¹æÄ£Ô½À´Ô½´ó£¬ÔËάְԱѹÁ¦Ò²³É±¶ÔöÌí£¬ÒÀÀµ¹Å°åµÄÈ˹¤Î¬»¤ÒѲ»Ì«ÏÖʵ£¬¹¤¾ß»¯¡¢×Ô¶¯»¯ÔËÎ¬ÊÆÔÚ±ØÐС£Õâ¾ÍÐèÒªÔËάְԱ¾ß±¸Ò»¶¨±à³ÌÄÜÁ¦£¬´Ó¶øÍ¨¹ýÈí¼þÈ¡´ú¹Å°åµÄÈ˹¤Î¬»¤¡£ÍøÂç×Ô¶¯»¯ÔËάÀíÄîÍŽáÈí¼þ¿ª·¢ÁìÓòDevOpsÀíÄî¶ø±¬·¢µÄNetDevOps¿´·¨ÒÑÖð½¥±»ÍøÂçÔËά½çËù½ÓÊÜ¡£

ÍøÂç×Ô¶¯»¯ÔËά£¬Ê×ÏÈҪʵÏÖÍøÂç×°±¸Óë×Ô¶¯»¯ÔËάƽ̨¶Ô½Ó£¬¼´Í¨¹ý´úÂëʵÏÖµÇÂ¼ÍøÂç×°±¸²¢»ñÊØÐÅÏ¢¡£ÏÖÔÚ³£¼ûÅþÁ¬×°±¸µÄÒªÁìÓÐÄ£Äâ¹Å°åµÄTelnet/SSHÏÂÁîµÇ¼¡¢NETCONF¡¢gRPC¡¢OpenFlowЭÒé¶Ô½ÓµÈµÈ¡£


ΪÁ˸úÉÏSDNµÄÉú³¤Ç÷ÊÆ£¬¸÷¸ö¹Å°åÍøÂç×°±¸³§ÉÌÒÑÖ𽥿ª·ÅAPI½Ó¿Ú£¬½ÏÁ¿Óдú±íÐÔµÄÊÇNETCONFºÍYANGÄ£×Ó¶ÔÍøÂç×°±¸µÄÉèÖúÍÐÅÏ¢Êä³öµÄÊý¾Ý½á¹¹»¯½ç˵¡£ÏÖÔÚ97¹ú¼ÊÊý¾ÝÖÐÐĽ»Á÷»ú²úÆ·ÒÑÖÜȫ֧³ÖNETCONFЭÒ飬¿ÉÊÊÓÃÓÚºÍSDN¿ØÖÆÆ÷»òÔËάƽ̨µÄÄÏÏò½Ó¿Ú¶Ô½Ó¡£¶øÃæÁÙÍøÂ繤³ÌʦÔÚ²Ù×÷ÍøÂç×°±¸Ê±Ï°¹ßÓÚʹÓÃCLIÏÂÁîÐеÄÏÖ×´£¬ÓÖÓÐʲôÑùµÄ°¸Àýʵ¼ùÄØ £¿


±¾ÎĽ«¸ø¸÷ÈËÏÈÈÝÒ»ÖÖÖ÷Á÷µÄ»ùÓÚCLIÏÂÁîÐеǼµÄ×Ô¶¯»¯ÔËάʵ¼ù°¸Àý£¬Ï£ÍûÄܹ»¸ø¸÷ÈË´øÀ´×ÊÖú¡£


»ùÓÚCLIµÄ×Ô¶¯»¯ÔËά´øÀ´µÄÎÊÌâ

 

CLI(Command-Line Interface)ÊǹŰåÍøÂ繤³Ìʦ×îÊìϤµÄÓëÍøÂç×°±¸“Ïàͬ”µÄ·½·¨£¬¹¤³Ìʦ×î³õÑ§Ï°ÍøÂç¿Î³Ì¾ÍÊÇÒªÊìϤÖÖÖÖЭÒéµÄÏÂÁîÐÐÉèÖᢵ÷ÊÔ¡£¹¤³ÌʦÔÚÒ»Ñùƽ³£ÊÂÇéÖÐÐèҪ͎áÏÂÁîÐÐÊä³öЧ¹û¾ÙÐÐÅÅ´í£¬ÉõÖÁÔÚÍøÂç¸î½ÓºÍ±ä»»µÄ³¡¾°ÖУ¬ÐèÒª½«±ä»»µÄ²Ù×÷°ì·¨Ï¸»¯µ½Ã¿Ò»ÌõÏÂÁî¡£Ïà±ÈNETCONFµÈAPI½Ó¿Ú£¬CLIÏÂÁîÐÐͨ³£Ö§³ÖµÄÄÚÈÝÔ½·¢¸»ºñ¡¢ÎÞа¡£ÒÔÊÇÔÚʵÏÖÍøÂç×Ô¶¯»¯ÔËάµÄÀú³ÌÖУ¬»ùÓÚCLIµÄ×Ô¶¯»¯ÊÇÈÝÒ×±»¹Å°åÍøÂ繤³ÌʦËù½ÓÊܺÍÖ´ÐеÄ¡£


Ëæ×ÅPythonÓïÑÔÔÚ½üЩÄêµÄ¿ìËÙÉú³¤£¬Ó¿ÏÖÁËÒ»Åú»ùÓÚPythonµÄÓÅÒ쿪ԴÄ £¿é£¬ºÃ±ÈAnsible¡¢Paramiko¡¢Netmiko¡¢PexpectµÈ¡£ÍøÂ繤³ÌʦÏÖÔÚ¿ÉÒÔ±àд¼ò¶ÌµÄPython¾ç±¾¾ÍÄÜŲÓÃÕâЩÄ £¿éʵÏÖÅúÁ¿µÇ¼װ±¸Ö´Ðо籾£¬¿ÉÊÇËæÖ®¶øÀ´µÄÁíÒ»¸öÍ·Í´µÄÎÊÌâÊǹŰåµÄÏÂÁîÐÐÊä³öЧ¹ûͨ³£ÊÇÆ¾Ö¤ÊʺÏÈËÀàÔĶÁµÄ·½·¨À´·ºÆðµÄ¡£ºÃ±È“show”ÏÂÁîµÄÊä³öЧ¹û°üÀ¨ÁË´ó×ڵĿոñ¡¢Ëõ½ø¡¢»»ÐеÈ£¬²¢ÇÒÐí¶àÏÂÁ±£´æÉÏÏÂÎĹØÁªÐÔ¡£ÕâЩÏÂÁîÐÐÊä³öЧ¹ûͨ³£ÎÞ·¨±»ÅÌËã»úºÜºÃµØÊ¶±ð£¬ÅÌËã»ú¸üÉÆÓÚʶ±ðXML¡¢JSON¡¢YAMLµÈ½á¹¹»¯Êý¾ÝÀàÐÍ£¬ÒÔÊÇÍø¹¤ÔÚ±àдPython¾ç±¾Ê±²»µÃ²»Ð´Ò»¶ÑÕýÔò±í´ïʽȥ“¿Ù”Òªº¦²ÎÊý£¬È»¶øÊ¹ÓÃÖØ´óµÄÕýÔò±í´ïʽÓÖ½øÒ»²½µ¼Ö´úÂë¿Éά»¤ÐԽϲî¡£


ÏÂÃæÒÔ½»Á÷»ú×î»ù´¡µÄÉó²éVLANÏÂÁîΪÀý¾ÙÐÐ˵Ã÷¡£ÈçÏÂͼËùʾÊÇͨ¹ý“show vlan”ÏÂÁîµÄÊä³öЧ¹û£¬¹ØÓÚͳһ¸öVLAN¿ÉÄܻᱣ´æ¶à¸ö¶Ë¿Úͬʱ·ÅÐеÄÇéÐΡ£¹ØÁªµÄ½Ó¿ÚÊýÄ¿Áè¼ÝÒ»¶¨ÃüĿʱ£¬Êä³öµÄЧ¹û½«»á²ð·Ö³É¶àÐÐÏÔʾ£¬´Ëʱ£¬VLANÐÅÏ¢Ö»ÔÚµÚÒ»ÐÐÏÔʾ£¬ºóÐø¼¸ÐÐÄÚÈÝÐèÒªÓëµÚÒ»ÐоÙÐйØÁªÆ¥Åä²Å»ª»ñµÃ׼ȷµÄÊä³öÐÅÏ¢¡£´ËʱÈôÊÇÐèÒª¶Áȡij¸öVLAN¹ØÁªµÄËùÓж˿ںÅÁбí£¬Ê¹ÓùŰåµÄÕýÔò±í´ïʽ¾ÍÐèÒª¶à´ÎŲÓÃÕýÔò±í´ïʽ²¢ÅäºÏÑ­»·Âß¼­ÅжϲŻªÊµÏÖ£¬Õû¸öÀú³ÌºÜÊÇ·±Ëö¡£

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾


PythonͨÀýµÄÊý¾ÝÀàÐÍÖ÷ÒªÊÇÁбí»ò×ÖµäÃûÌã¬ÈôÊÇÓй¤¾ßÄܹ»½«×°±¸µÄÉÏÃæµÄÊä³öЧ¹ûÖ±½Óת»¯ÎªPythonÊÊÅäµÄÊý¾ÝÀàÐÍ£¨ÈçÏÂͼ£©£¬ÄÇô¾Í¿ÉÒÔÖ±½ÓʹÓÃPython¾ÙÐд¦Öóͷ£¡£

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾


ÏÂÃæ¾ÍҪʢ´óÏÈÈÝһϱ¾ÎÄÎÊÌâÖÐÌáµ½µÄTextFSMÄ £¿é£¬Ëü¾ÍÊÇÓÃÓڽṹ»¯Êä³öÎı¾µÄÒ»¸öÉñÆæ¹¤¾ß¡£


TextFSMÄ £¿éÏÈÈÝ

 

TextFSMÊÇGoogle¿ª·¢µÄÒ»ÖÖ¿ªÔ´PythonÄ £¿é£¬¿ÉÒÔ»ùÓÚÄ£°åµÄ״̬»úÀ´ÆÊÎö°ëÃûÌû¯Îı¾£¬´Ó¶øÊµÏÖ¶ÔÍøÂç×°±¸CLIÊä³öÐÅÏ¢¾ÙÐнṹ»¯Êý¾Ý´¦Öóͷ££¬×îÖÕ½«Îı¾ÄÚÈÝÊä³öΪPythonµÄ×Öµä»òÁбíÃûÌ㨻òÕßÊÇÁ½Õß×éºÏ£©¡£


ÏêϸÄÚÈÝ¿ÉÒÔ»á¼û¸ÃÄ £¿éµÄGitHub£ºhttps://github.com/google/textfsm¡£


ÀýÈ磬ÉÏÎÄÖÐÐèÒª½«“show vlan”ÏÂÁîµÄÊä³öЧ¹û¾ÙÐÐÆÊÎö£¬¿ÉÒÔͨ¹ýŲÓÃÏÂÃæµÄTextFSMÄ£°å½«ÏÂÁîÊä³ö¾ÙÐÐÃûÌû¯£º

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾


ruijie-templatesÄ £¿éÏÈÈÝ

 

ËäÈ»ÓÐÁËTextFSMÄ £¿éÄܹ»×öµ½½á¹¹»¯ÆÊÎöÎı¾ÐÅÏ¢£¬¿ÉÊÇÿ¸ö³§¼ÒµÄCLIÊä³öÄÚÈݲî±ð½Ï´ó£¬ÐèҪÿÌõÏÂÁî¶¼ÓÐÏìÓ¦µÄÄ£°åÀ´ÊÊÅ䣬µ¼ÖÂÔËάְԱ»¹ÐèҪͶÈë´ó×Úʱ¼äÈ¥±àдÏìÓ¦µÄÄ£°å¡£ntc-templatesÄ £¿é¾ÍÊÇΪÏàʶ¾öÕâ¸öÍ´µã½µÉúµÄ¡£ntc-templatesÄ £¿éÊÇÓÉnetworktocodeÍŶӿª·¢µÄPythonÄ £¿é£¬¸ÃÄ £¿é»ùÓÚTextFSM¿ª·¢£¬ËüÄÚÖÃÁË¿ìÒª400¸öTextFSMÄ£°å£¬¿ÉÒÔÊÊÅäÖ÷Á÷³§É̵ÄCLIÊä³öЧ¹û¡£


Ïêϸ¿É²Î¿¼¸ÃÄ £¿éµÄGitHubÖ÷Ò³£º


https://github.com/networktocode/ntc-templates

 

ntc-templatesÄ £¿éÄÚÖÃÁËindexÎļþ£¬½«ÖÖÖÖ³§ÉÌÆ½Ì¨ºÍshowÏÂÁîÓ³Éäµ½ÏìÓ¦µÄTextFSMÄ£°åÎļþ£¬Ã¿¸ö³§É̵IJî±ðÏÂÁî¶¼¶ÔÓ¦×ÅÒ»¸ö×ÔÁ¦µÄÄ£°å¡£ÎÒÃÇÔÚntc-templatesÄ £¿éµÄ»ù´¡ÉÏ£¬¿ª·¢ÁË»ùÓÚ97¹ú¼ÊÊý¾ÝÖÐÐĽ»Á÷»ú²úÆ·µÄÄ£°å¿â£ºruijie-templates¡£ruijie-templatesÄ£°å¿âÊÇ»ùÓÚTextFSM¹æÔò¿ª·¢£¬ÓÃÓÚÊÊÅäntc-templatesÄ £¿é£¬¿ÉÒÔÎÞ·ìÏνÓNetmikoÄ £¿éʹÓá£ruijie-templatesÄ £¿é¿ÉÒÔ½«97¹ú¼ÊÊý¾ÝÖÐÐĽ»Á÷»úCLIÄÚÈݾÙÐнṹ»¯Êä³ö£¬Êä³öЧ¹û¿ÉÒÔÖ±½ÓÓÃÓÚPython¾ç±¾Ê¹Ó᣸ÃÄ £¿é¾­Óɶà¸ö97¹ú¼ÊÖ÷Á÷Êý¾ÝÖÐÐĽ»Á÷»ú°æ±¾²âÊÔ£¬ÁýÕÖRG-S6510¡¢RG-S6520¡¢RG-S6910¡¢RG-S6920¡¢RG-N18000-XϵÁÐ[Ȩ5] ²úÆ·£¬ÏÖÔÚÒÑÖ§³Ö½ü50Ìõ³£ÓÃÏÂÁîÆÊÎö£¬ºóÐø»áÖ𲽸üÐÂÍêÉÆ£¬¾´Çë¹Ø×¢¡£ÏÖÔÚruijie-templates´úÂëÒÑÍйÜÖÁGitHub£ºhttps://github.com/kevinkrabi/ruijie-templates

ÏÂÃæÏÈÈÝÒ»ÏÂruijie-templatesÄ £¿éʹÓÃÒªÁì¡£


ruijie-templatesÄ £¿éʹÓÃÒªÁì

 

×°ÖÃÒªÁì

 

ǰÖÃÌõ¼þ£º×°ÖÃTextFSM¿âºÍntc-templates¿â

ÒªÁìÒ»£º½«ruijie-templates²¢Èëntc-templatesÄ£°å¿â£¨ÍƼö£©

ÒªÁì¶þ£º×ÔÁ¦Ê¹ÓÃruijie-templates¿â£¬ÐèÒªÉèÖÃÇéÐαäÁ¿£¬Ïà¶ÔÖØ´ó£¨²»ÍƼö£©
ÍÆ¼öʹÓÃÒªÁìÒ»½«±¾Ä£°å¿âºÏ²¢Èëntc-templatesÄ £¿éʹÓã¬Ïêϸ²Ù×÷°ì·¨ÈçÏ£º


ÏÂÔØÄ£°å¿â

 

git clone git@github.com:kevinkrabi/ruijie-templates.git

Ä£°åÎļþµ¼Èëntc-templates

½«templatesĿ¼ÏµÄËùÓÐTextFSMÎļþµ¼Èëntc-templates¿âµÄtemplatesĿ¼¡£


ÒÔmacOSΪÀý£º


cp*.textfsm Library/Frameworks/Python.framework/Versions/3.6/lib/Python3.6/site-packages/ntc_templates/templates//index

 

Ìí¼ÓindexÐÅÏ¢

 

ÒÔmacOSΪÀý£¬indexÎļþËùÔÚ·¾¶Îª£º

Library/Frameworks/Python.framework/Versions/3.6/lib/Python3.6/site-packages/ntc_templates/templates/index

 

ÕÒµ½indexÎļþºóÓÃÎı¾±à¼­Èí¼þ·­¿ª£¬½«ÒÔÏÂÄÚÈÝËùÓи´ÖÆÕ³Ìùµ½Ô­Ê¼Îļþĩβ¼´¿É¡£

×¢ÖØ£ºÓÉÓÚntc-templatesÄ£°å¿âÆ¥ÅäÔ­Ôò£¬Îª×èÖ¹Òì³£ÇéÐΣ¬ÒÔÏÂindexÌõÄ¿²»½¨Òéµ÷½â˳Ðò£¡

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

°¸ÀýÒ»£ºÊ¹ÓÃNetmikoµÇ¼װ±¸»ñÈ¡Êä³öÐÅÏ¢

 

˵Ã÷

¸Ã°¸ÀýʹÓÃNetmikoÄ£ÄâCLI×Ô¶¯»¯µÇ¼һ̨װ±¸£¬¶ÁȡҪº¦ÐÅÏ¢²¢Êä³öЧ¹û¡£


NetmikoÊÇ»ùÓÚParamiko¿ª·¢µÄרÃÅÓÃÓÚÊÊÅäÍøÂç×°±¸µÄ¿ªÔ´Python¿â£¬Netmikoͬʱ¼¯³ÉÁËTextFSMÇéÐΣ¬ÏÖÔÚ×îа汾Netmiko£¨3.3.3£©ÒÑÖ§³Ö97¹ú¼Ê²úÆ·£¬device_type²ÎÊý£ºruijie_os


²âÊÔÄ¿µÄ

ʹÓÃNetmikoµÇ¼װ±¸£¬Í¨¹ýÖ´ÐГshow int count rate up”ÏÂÁî»ñȡװ±¸Êä³öÐÅÏ¢£¬²¢½«Ð§¹ûÒÔ×ֵ䷽·¨Êä³ö¡£

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

ʵÏÖ´úÂë

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

×¢ÖØÒªº¦×Ö£ºdevice_type': 'ruijie_os'£¬use_TextFSM=True

 

ʵÏÖЧ¹û

 

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

°¸Àý¶þ£ºÊ¹ÓÃntc-teamplates½«Îı¾½á¹¹»¯Êä³ö

 

˵Ã÷

¸Ã°¸ÀýʹÓÃntc-templatesÄ £¿é£¬¶ÔÎı¾ÄÚÈݾÙÐнṹ»¯Êä³ö¡£

 

²âÊÔÄ¿µÄ

ÒÔÏÂͼÖÐBGP·ÓɱíΪÀý£¬ÐèÒª¶Ô“show ip bgp”ÏÂÁîÖ´ÐÐЧ¹û¾ÙÐнṹ»¯Êä³ö¡£

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

ʵÏÖ´úÂë

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

×¢ÖØÒªº¦×Ö£ºplatform='ruijie_os'

 

ʵÏÖЧ¹û

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

 

дÔÚ×îºó

±¾ÎÄÏÈÈÝÁËÍøÂç×Ô¶¯»¯ÔËάµÄÎÊÌâÏ¢Õù¾ö¼Æ»®£¬²¢ÍŽáÁ½¸ö°¸ÀýÏÈÈÝÁËruijie-templateÄ £¿éµÄ¹¦Ð§ÒÔ¼°Ê¹ÓÃÒªÁ죬¸ÐÐËȤµÄ¶ÁÕß¿ÉÒԲο¼°¸ÀýÏÂÔØ²âÊÔ£¬Ä¿½ñµÄÏÂÁîÊýÄ¿»¹²»¿ÉÖª×ãËùÓÐÓªÒµ³¡¾°£¬ÈçÄúÓиüºÃµÄ½¨æÅºÍÒâ¼û¿ÉÒÔÁôÑÔ£¬Ï£ÍûÕâ¸öÄ £¿é¿ÉÒÔ×ÊÖúµ½ÓÐÕâ·½ÃæÐèÇóµÄÅóÙ­¡£


¸½Â¼

 

±¾ÎÄÖÐÏÈÈݵÄÏà¹ØÄ £¿éGitHubµØÖ·£º

ruijie-template£ºhttps://github.com/kevinkrabi/ruijie-templates

TextFSM£ºhttps://github.com/google/textfsm

ntc-templates£ºhttps://github.com/networktocode/ntc-templates

Netmiko£ºhttps://github.com/ktbyers/Netmiko

Ïà¹ØÍÆ¼ö£º

Ïà¹Ø±êÇ©£º

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾ 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

µãÔÞ

¸ü¶àÊÖÒÕ²©ÎÄ

ÈκÎÐèÒª£¬ÇëÁªÏµ97¹ú¼Ê

97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾ 97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾

·µ»Ø¶¥²¿

ÊÕÆð
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
ÎĵµÆÀ¼Û
¸Ã×ÊÁÏÊÇ·ñ½â¾öÁËÄúµÄÎÊÌâ £¿
Äú¶ÔÄ¿½ñÒ³ÃæµÄÖª×ã¶ÈÔõÑù £¿
²»Õ¦µÎ
ºÜÊǺÃ
ÄúÖª×ãµÄÔµ¹ÊÔ­ÓÉÊÇ£¨¶àÑ¡£© £¿
Äú²»Öª×ãµÄÔµ¹ÊÔ­ÓÉÊÇ£¨¶àÑ¡£© £¿
ÄúÊÇ·ñÉÐÓÐÆäËûÎÊÌâ»ò½¨Òé £¿
ΪÁË¿ìËÙ½â¾ö²¢»Ø¸´ÄúµÄÎÊÌ⣬Äú¿ÉÒÔÁôÏÂÁªÏµ·½·¨
ÓÊÏä
ÊÖ»úºÅ
ллÄúµÄ·´À¡£¡
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
97¹ú¼Ê¡¤(ÖйúÇø)¼¯ÍŹٷ½ÍøÕ¾
ÇëÑ¡Ôñ·þÎñÏîÄ¿
¹Ø±Õ×Éѯҳ
ÊÛǰ×Éѯ ÊÛǰ×Éѯ
ÊÛǰ×Éѯ
ÊÛºó·þÎñ ÊÛºó·þÎñ
ÊÛºó·þÎñ
Òâ¼û·´Ïì Òâ¼û·´Ïì
Òâ¼û·´Ïì
¸ü¶àÁªÏµ·½·¨
ÍøÕ¾µØÍ¼