Ä¿¡¡Â¼

1 NETCONF. 1

1.1 ¹¦Ð§ÏÈÈÝ... 1

1.1.1 NETCONF¸ÅÊö... 1

1.1.2 NETCONFµÄЭÒé½á¹¹... 1

1.1.3 NETCONF»á»°½»»¥Àú³Ì... 2

1.1.4 ¼øÈ¨»úÖÆ... 7

1.1.5 ЭÒ鹿·¶... 9

1.2 ÉèÖÃʹÃü¸ÅÀÀ... 9

1.3 ÉèÖÃNETCONF·þÎñÆ÷Óë¿Í»§¶Ë¾ÙÐÐͨѶ... 9

1.3.1 ¹¦Ð§¼ò½é... 9

1.3.2 ÉèÖÃÏÞÖÆÓëÖ¸µ¼... 9

1.3.3 ÉèÖÃ×¼±¸... 10

1.3.4 ÉèÖð취... 10

1.4 ÉèÖÃNETCONF¼øÈ¨... 11

1.4.1 ¹¦Ð§¼ò½é... 11

1.4.2 ÉèÖÃÏÞÖÆÓëÖ¸µ¼... 11

1.4.3 ÉèÖð취... 11

1.5 ¼àÊÓÓëά»¤... 12

1.6 µä·¶ÉèÖþÙÀý... 12

1.6.1 NETCONFÉèÖþÙÀý... 12

 


1 NETCONF

1.1?? ¹¦Ð§ÏÈÈÝ

1.1.1? NETCONF¸ÅÊö

Ëæ×ÅÍøÂç¹æÄ£µÄÔö´ó¡¢ÖØ´óÐÔµÄÔöÌíºÍÒì¹¹ÐÔµÄÔöÇ¿£¬£¬£¬£¬£¬ £¬£¬£¬¹Å°åµÄIPÍøÂçÖÎÀíЭÒéSNMP£¨Simple Network Management Protocol£¬£¬£¬£¬£¬ £¬£¬£¬¼òÆÓÍøÂçÖÎÀíЭÒ飩¶ÔÄ¿½ñÖØ´óÍøÂçµÄÖÎÀí±äµÃÔ½À´Ô½ÄÑÌ⣬£¬£¬£¬£¬ £¬£¬£¬ÓÈÆäÎÞ·¨Öª×ãÉèÖÃÖÎÀíÒÔ¼°´óÐÍÍøÂçµÄÓ¦ÓÃϵͳ¿ª·¢·½ÃæµÄÐèÇ󡣡£¡£¡£¡£¡£¡£¡£ÎªÁËÌî²¹SNMPµÄȱ·¦£¬£¬£¬£¬£¬ £¬£¬£¬IETF×éÖ¯ÖÆ¶©»ùÓÚXML£¨Extensible Markup Language£¬£¬£¬£¬£¬ £¬£¬£¬¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ£©µÄÍøÂçÖÎÀíÉèÖÃЭÒ顪¡ªNETCONF£¨Network Configuration Protocol£¬£¬£¬£¬£¬ £¬£¬£¬ÍøÂçÉèÖÃЭÒ飩¡£¡£¡£¡£¡£¡£¡£¡£ËüÌṩÁËÒ»Öֿɱà³ÌµÄ¡¢¶ÔÍøÂç×°±¸¾ÙÐÐÉèÖúÍÖÎÀíµÄÒªÁì¡£¡£¡£¡£¡£¡£¡£¡£¸ÃЭÒéʹÓÃXMLÃûÌõı¨ÎÄÉèÖòÎÊý¡¢»ñÈ¡²ÎÊýÖµ¡¢»ñȡͳ¼ÆÐÅÏ¢µÈ£¬£¬£¬£¬£¬ £¬£¬£¬¾ßÓÐÓÅÒìµÄÀ©Õ¹ÐÔ£¬£¬£¬£¬£¬ £¬£¬£¬Ê¹ÍøÂç×°±¸µÄÉèÖÃÖÎÀíÊÂÇé±äµÃ¸ü¼òÆÓ¸ü¸ßЧ¡£¡£¡£¡£¡£¡£¡£¡£

1.1.2? NETCONFµÄЭÒé½á¹¹

NETCONFµÄͨѶģʽ½ÓÄÉC/Sģʽ£¬£¬£¬£¬£¬ £¬£¬£¬×°±¸ÉÏÔËÐÐЭÒéµÄ·þÎñÆ÷³ÌÐò£¬£¬£¬£¬£¬ £¬£¬£¬Óû§ÔËÐÐЭÒéµÄ¿Í»§¶Ë³ÌÐò¡£¡£¡£¡£¡£¡£¡£¡£Ð­Ò鱨ÎÄÃûÌÃΪXMLÃûÌ㬣¬£¬£¬£¬ £¬£¬£¬°üÀ¨ËùÓÐÉèÖÃÊý¾ÝºÍЭÒéÐÂΞùΪXMLÃûÌᣡ£¡£¡£¡£¡£¡£¡£ÓëISO/OSI·Ö²ãÀàËÆ£¬£¬£¬£¬£¬ £¬£¬£¬NETCONFЭÒéÓÉÏÂÖÁÉÏ·ÖΪËIJ㣺´«Êä²ã¡¢RPC²ã¡¢²Ù×÷²ã¡¢ÄÚÈݲ㡣¡£¡£¡£¡£¡£¡£¡£Èçͼ1-1Ëùʾ¡£¡£¡£¡£¡£¡£¡£¡£

ͼ1-1     NETCONFµÄЭÒé½á¹¹Í¼

 

1.    ´«Êä²ã

´«Êä²ãΪNETCONFЭÒéÌṩÇå¾²´«ÊäͨµÀ£¬£¬£¬£¬£¬ £¬£¬£¬Ê¹ÓÃSSH¡¢SOAPºÍBEEPµÈÇ徲ЭÒ飬£¬£¬£¬£¬ £¬£¬£¬Ä¿½ñÒ»Ñùƽ³£Ê¹ÓÃSSHЭÒé¡£¡£¡£¡£¡£¡£¡£¡£

2.    RPC²ã

RPC²ãÌṩÁËÒ»¸ö¼òÆÓµÄ¡¢Óë´«ÊäЭÒéÎ޹صĻúÖÆ£¬£¬£¬£¬£¬ £¬£¬£¬°üÀ¨Ò»Ð©¹ýʧ·´ÏìÐÂÎÅÔªËØµÄ»®¶¨¡£¡£¡£¡£¡£¡£¡£¡£RPC²ã½ç˵ÁËÈýÖÖÐÂÎÅÀàÐÍ£º

l  Hello£ºÔÚNETCONF¿Í»§¶ËÓë·þÎñÆ÷¸Õ½¨Éè»á»°Ê±Íê³ÉÄÜÁ¦¼¯½»Á÷¡£¡£¡£¡£¡£¡£¡£¡£

l  RPCºÍRPC-Reply£ºRPCÊÇNETCONF¿Í»§¶ËÌᳫµÄ·¢Ë͸ø·þÎñÆ÷µÄÇëÇóÐÂÎÅ£» £» £»£»£»£»RPC-ReplyÊÇNETCONF·þÎñÆ÷ÏìÓ¦¿Í»§¶ËµÄÏìÓ¦Êý¾Ý£¬£¬£¬£¬£¬ £¬£¬£¬²»¿É×Ô¶¯Ìᳫ£¬£¬£¬£¬£¬ £¬£¬£¬½öÄÜÔÚÊÕµ½RPCÖ®ºó»Ø¸´£¬£¬£¬£¬£¬ £¬£¬£¬ÇÒ±ØÐèЯ´øÓëÊÕµ½µÄRPCÏàͬµÄmessage-id¡£¡£¡£¡£¡£¡£¡£¡£

l  Notification£ºÒÔ¶©ÔÄ·½·¨¾ÙÐÐÐÂÎÅ֪ͨ¡£¡£¡£¡£¡£¡£¡£¡£

3.    ²Ù×÷²ã

RPCÖÐÓ¦ÓõĻùÀ´Ô´Óï²Ù×÷¼¯£¬£¬£¬£¬£¬ £¬£¬£¬½ç˵ÁË9ÖÖ»ù´¡µÄ²Ù×÷ÒªÁì¡£¡£¡£¡£¡£¡£¡£¡£

l  »ñÈ¡Êý¾Ý²Ù×÷£ºget¡¢get-config¡£¡£¡£¡£¡£¡£¡£¡£

l  ÉèÖòÙ×÷£ºedit-config¡¢copy-config¡¢delete-config¡£¡£¡£¡£¡£¡£¡£¡£

l  ¶Ô×°±¸ÁÙ½ç×ÊÔ´£¨ÉèÖÃÎļþµÈ£©²¢·¢²Ù×÷ʱµÄËø±£» £» £»£»£»£»¤£ºlock¡¢unlock¡£¡£¡£¡£¡£¡£¡£¡£

l  ¿¢Ê»Ự²Ù×÷£ºclose-session¡¢kill-session¡£¡£¡£¡£¡£¡£¡£¡£

4.    ÄÚÈݲã

ÄÚÈݲãÊDZ»ÖÎÀíµÄÊý¾Ý¹¤¾ßÜöÝÍ¡£¡£¡£¡£¡£¡£¡£¡£ÄÚÈݲãÊÇNETCONFЭÒéÏÖÔÚΨһûÓб»±ê×¼»¯¡¢Ã»ÓÐͳһÊý¾ÝÄ£×ӵIJ㡣¡£¡£¡£¡£¡£¡£¡£

*     ˵Ã÷

aggame¹ÙÍø²úƷʹÓÃYANG¶ÔÊý¾Ý½¨Ä££¬£¬£¬£¬£¬ £¬£¬£¬Ê¹ÓÃXML´«ÊäÊý¾Ý¡£¡£¡£¡£¡£¡£¡£¡£

 

ͼ1-2     NETCONF»á»°½»»¥±¨ÎÄʾÒâͼ

 

1.1.3? NETCONF»á»°½»»¥Àú³Ì

NETCONF»á»°µÄ½»»¥¹ýÈçͼ1-2Ëùʾ£¬£¬£¬£¬£¬ £¬£¬£¬¿ÉÒÔ·ÖΪÈý²¿·Ö¡£¡£¡£¡£¡£¡£¡£¡£

1.    »á»°ÅþÁ¬

(1)   NETCONF´«Êä²ãÒÀÀµÓÚSSHЭÒé¡£¡£¡£¡£¡£¡£¡£¡£×°±¸ÉÏNETCONF·þÎñ¶ËÆô¶¯NETCONFÀú³Ìºó£¬£¬£¬£¬£¬ £¬£¬£¬½¨ÉèÒ»¸ö¼àÌý¶Ë¿Ú¡£¡£¡£¡£¡£¡£¡£¡£

(2)   ·þÎñ¶Ë¼àÌý830¶Ë¿Ú£¬£¬£¬£¬£¬ £¬£¬£¬½¨ÉèSSHͨµÀ£º¾­ÓÉһϵÁеĴ«ÊäË㷨ЭÉÌ£¨ÆäÖаüÀ¨ÃÜԿЭÉÌ¡¢Ñ¹ËõËã·¨¡¢¹þÏ£Ëã·¨¡¢¼ÓÃÜËã·¨¡¢ÊðÃûËã·¨µÈ£©ºÍÓû§ÈÏÖ¤ºó½¨ÉèSSHͨµÀ¡£¡£¡£¡£¡£¡£¡£¡£

(3)   NETCONF´«Êä²ãµÄÅþÁ¬»á»°½¨É裬£¬£¬£¬£¬ £¬£¬£¬NETCONF¿Í»§¶Ë¿ÉÒÔͨ¹ýÕâ¸ö»á»°Í¬NETCONF·þÎñÆ÷¾ÙÐн»»¥¡£¡£¡£¡£¡£¡£¡£¡£

*     ˵Ã÷

ЭÒé»®¶¨NETCONFĬÈϵÄSSH TCP¶Ë¿ÚÊÇ830£¬£¬£¬£¬£¬ £¬£¬£¬¿ÉÒÔÆ¾Ö¤ÏÖÕæÏàÐÎ×ÔÐÐÉèÖÃNETCONF SSH TCP¶Ë¿Ú¡£¡£¡£¡£¡£¡£¡£¡£

 

2.    ÄÜÁ¦¼¯½»Á÷

NETCONF»á»°½¨Á¢ÅþÁ¬Ö®ºó£¬£¬£¬£¬£¬ £¬£¬£¬Ë«·½Á¬Ã¦Í¨¹ýÏ໥·¢ËÍHello±¨ÎÄÌṩ¸÷×ÔʵÏÖµÄÄÜÁ¦¼¯£¬£¬£¬£¬£¬ £¬£¬£¬¶Ô×Ô¼º²»Ã÷È·µÄ»òÕßûÓÐʵÏÖµÄÄÜÁ¦¾ÙÐкöÂÔ¡£¡£¡£¡£¡£¡£¡£¡£¿ÉÊÇË«·½¶¼±ØÐèÖ§³ÖЭÒé»ù±¾ÄÜÁ¦£¨urn:ietf:params:netconf:base:1.1£©¡£¡£¡£¡£¡£¡£¡£¡£ÈôÊÇÐèÒª¼æÈݾÉЭÒé°æ±¾£¬£¬£¬£¬£¬ £¬£¬£¬Ë«·½»¹ÐèÒªÖ§³Ö¾ÉЭÒé»ù±¾ÄÜÁ¦£¨urn:ietf:params:netconf:base:1.0£©¡£¡£¡£¡£¡£¡£¡£¡£×îÖÕÈ¡µÃÒ»¸öÁ½Í·ÊµÏÖÄÜÁ¦µÄ½»¼¯£¬£¬£¬£¬£¬ £¬£¬£¬ÒÔ¾ÙÐкóÐøµÄÊý¾Ý²Ù×÷ÓëÖÎÀí¡£¡£¡£¡£¡£¡£¡£¡£

*    ×¢ÖØ

¡ñ     ½»Á÷µÄÄÜÁ¦Öµ³ýÁËÔÚNETCONF RFCÖнç˵µÄ¡°ÄÜÁ¦¡±Í⣬£¬£¬£¬£¬ £¬£¬£¬¿ª·¢Ö°Ô±¿ÉÒÔͨ¹ý×ñÕÕRFCÖÐÐÎòµÄ¹æ·¶ÃûÌÃÌí¼ÓÌØÁíÍâ¡°ÄÜÁ¦¡±¡£¡£¡£¡£¡£¡£¡£¡£

¡ñ     ¿Í»§¶Ë·¢¸ø·þÎñ¶ËµÄÄÜÁ¦½»»¥±¨ÎÄ£¬£¬£¬£¬£¬ £¬£¬£¬²»µÃ´øÓлỰID½Úµã£¨<session-id>£©¡£¡£¡£¡£¡£¡£¡£¡£

 

3.    ЭÒé²Ù×÷

l  get£º»ñȡװ±¸×´Ì¬»òÉèÖÃÊý¾Ý¡£¡£¡£¡£¡£¡£¡£¡£

¿Í»§¶Ë·¢Ëͱ¨ÎÄÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc message-id="xxx " xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

<get>

<filter type="subtree">

¡¡¡¡¡¡ ÉèÖÃÊý¾Ý£¨»òÕß״̬Êý¾Ý£©¹ýÂ˹æÔò

</filter>

</get>

</rpc>

·þÎñ¶ËÓ¦´ð±¨ÎÄÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc-reply message-id="xxx " xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

»ñÈ¡µ½µÄÉèÖÃÊý¾Ý£¨»òÕß״̬Êý¾Ý£©

</data>

</rpc-reply>

ÈôÊÇ×°±¸ÉÏ״̬Êý¾ÝµÄËùÓÐ×Ó¼¯¶¼ÎÞ·¨Æ¥Åä¹ýÂ˹æÔò£¬£¬£¬£¬£¬ £¬£¬£¬Ôò»áÓ¦´ð¿ÕµÄdata½Úµã£¬£¬£¬£¬£¬ £¬£¬£¬ÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc-reply message-id="ÐÂÎÅID " xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"/>

</rpc-reply>

l  get-config£ºÆ¾Ö¤²Ù×÷ÄÚÈݵĹýÂ˽ڵã»ñÈ¡ÏìÓ¦µÄÉèÖÃÊý¾Ý¡£¡£¡£¡£¡£¡£¡£¡£

¿Í»§¶Ë·¢Ëͱ¨ÎÄÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc message-id="xxx" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

<get-config>

<source>

<running/>

</source>

<filter type="subtree">

¡¡¡¡¡¡Ð­Òé¹ýÂ˹æÔò

</filter>

</get-config>

</rpc>

·þÎñ¶ËÓ¦´ð±¨ÎÄÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc-reply message-id="xxx" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

»ñÈ¡µ½µÄÉèÖÃÊý¾Ý

</data>

</rpc-reply>

ÈôÊÇ×°±¸ÉÏÉèÖÃÊý¾ÝµÄËùÓÐ×Ó¼¯¶¼ÎÞ·¨Æ¥Åä¹ýÂ˹æÔò£¬£¬£¬£¬£¬ £¬£¬£¬Ôò»áÓ¦´ð¿ÕµÄdata½Úµã£¬£¬£¬£¬£¬ £¬£¬£¬ÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc-reply message-id="xxx " xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"/>

</rpc-reply>

*     ˵Ã÷

get-config²Ù×÷ͨ¹ýÖÖÖÖ×ÓÊ÷¹ýÂ˹æÔò»ñÈ¡ÏìÓ¦µÄÉèÖÃÊý¾Ý×Ó¼¯£¬£¬£¬£¬£¬ £¬£¬£¬¿ÉÊDz»¿É»ñȡװ±¸×´Ì¬Êý¾Ý¡£¡£¡£¡£¡£¡£¡£¡£

 

l  edit-config£ºÆ¾Ö¤Êý¾ÝÄ£×Ó½ç˵ÒÔ¼°²Ù×÷ÊôÐÔ¾ÙÐÐ×°±¸ÉèÖᣡ£¡£¡£¡£¡£¡£¡£

ÉèÖõı¨ÎÄÖУ¬£¬£¬£¬£¬ £¬£¬£¬°üÀ¨5¸ö²Ù×÷ÊôÐÔ£¬£¬£¬£¬£¬ £¬£¬£¬ÔÚÏ·¢µÄXML±¨ÎÄÖÐÉèÖýڵãµÄoperationÊôÐÔÐÎòÖиø³ö£¬£¬£¬£¬£¬ £¬£¬£¬Õâ5¸ö²Ù×÷ÊôÐÔ»®·ÖÊÇ£º

*        merge£º½«edit-config±¨ÎÄÖаüÀ¨¸ÃÊôÐÔµÄÉèÖÃÊý¾ÝºÏ²¢µ½Ö¸¶¨×°±¸ÉèÖÃÎļþÖлòÕßÊý¾Ý¿âÖС£¡£¡£¡£¡£¡£¡£¡£ÈôÊÇÉèÖÃÊý¾Ý²»±£´æ£¬£¬£¬£¬£¬ £¬£¬£¬Ôò½¨Éè¸ÃÉèÖÃÊý¾Ý¡£¡£¡£¡£¡£¡£¡£¡£

*        replace£º½«edit-config±¨ÎÄÖаüÀ¨¸ÃÊôÐÔµÄÉèÖÃÊý¾ÝÌæ»»Ö¸¶¨×°±¸ÉèÖÃÎļþÖлòÕßÊý¾Ý¿âÖеÄÏìÓ¦ÉèÖÃÊý¾Ý½Úµã¡£¡£¡£¡£¡£¡£¡£¡£ÈôÊǸÃÉèÖÃÊý¾Ý²»±£´æ£¬£¬£¬£¬£¬ £¬£¬£¬ÔòÖ±½Óƾ֤Ï·¢ÄÚÈݽ¨Éè¸ÃÉèÖᣡ£¡£¡£¡£¡£¡£¡£

*        create£ºÔÚÖ¸¶¨ÉèÖÃÊý¾ÝÎļþÖлòÕßÊý¾Ý¿âÖн¨Éèedit-config±¨ÎÄÖаüÀ¨¸ÃÊôÐÔµÄÉèÖÃÊý¾Ý¡£¡£¡£¡£¡£¡£¡£¡£ÈôÊÇÉèÖÃÊý¾Ý²»±£´æ£¬£¬£¬£¬£¬ £¬£¬£¬ÔòÀÖ³ÉÏ·¢ÄÚÈݽ¨Éè¸ÃÉèÖÃÊý¾Ý£» £» £»£»£»£»ÈôÊÇÉèÖÃÊý¾ÝÒѾ­±£´æ£¬£¬£¬£¬£¬ £¬£¬£¬Ôò»áÓ¦´ðrpc-error±¨ÎÄ£¬£¬£¬£¬£¬ £¬£¬£¬error-tagֵΪ¡°data-exists¡±¡£¡£¡£¡£¡£¡£¡£¡£

*        delete£ºÔÚÖ¸¶¨ÉèÖÃÊý¾ÝÎļþÖлòÕßÊý¾Ý¿âÖÐɾ³ýedit-config±¨ÎÄÖаüÀ¨¸ÃÊôÐÔµÄÉèÖÃÊý¾Ý¡£¡£¡£¡£¡£¡£¡£¡£ÈôÊÇÉèÖÃÊý¾Ý²»±£´æ£¬£¬£¬£¬£¬ £¬£¬£¬Ôò»áÓ¦´ðrpc-error±¨ÎÄ£¬£¬£¬£¬£¬ £¬£¬£¬error-tagֵΪdata-missing£» £» £»£»£»£»ÈôÊÇÉèÖÃÊý¾Ý±£´æ£¬£¬£¬£¬£¬ £¬£¬£¬ÔòÖ±½Óɾ³ýÏìÓ¦µÄÉèÖᣡ£¡£¡£¡£¡£¡£¡£

*        remove£ºÔÚÖ¸¶¨ÉèÖÃÊý¾ÝÎļþÖлòÕßÊý¾Ý¿âÖÐÒÆ³ýedit-config±¨ÎÄÖаüÀ¨¸ÃÊôÐÔµÄÉèÖÃÊý¾Ý¡£¡£¡£¡£¡£¡£¡£¡£ÈôÊÇÉèÖÃÊý¾Ý²»±£´æ£¬£¬£¬£¬£¬ £¬£¬£¬ÔòºöÂԸòÙ×÷·µ»Øok£» £» £»£»£»£»ÈôÊÇÉèÖÃÊý¾Ý±£´æ£¬£¬£¬£¬£¬ £¬£¬£¬ÔòÖ±½ÓÒÆ³ýÏìÓ¦µÄÉèÖᣡ£¡£¡£¡£¡£¡£¡£

¿Í»§¶Ë·¢Ëͱ¨ÎÄÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc message-id="xxx " xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

<edit-config>

<target> <running/> </target>

<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">

¡¡¡¡¡¡¡¡ÉèÖÃÊý¾Ý

</config>

</edit-config>

</rpc>

·þÎñ¶ËÓ¦´ð±¨ÎÄÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc-reply message-id="ÐÂÎÅID " xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

<ok/>

</rpc-reply>

±¨ÎÄÖÐЯ´øerror-option½Úµã¡£¡£¡£¡£¡£¡£¡£¡£error-option½ÚµãÊÇö¾ÙÀàÐ͵Ľڵ㣬£¬£¬£¬£¬ £¬£¬£¬×°±¸¿ÉÒÔÖ§³ÖµÄÖµÓУº

*        continue-on-error£ºedit-config²Ù×÷ʱ£¬£¬£¬£¬£¬ £¬£¬£¬Óöµ½ÉèÖÃÍÉ»¯»á¼Í¼Ŀ½ñµÄ¹ýʧ½Úµã²¢¼ÌÐø´¦Öóͷ£Ê£ÓàµÄÉèÖ㬣¬£¬£¬£¬ £¬£¬£¬¿ÉÊÇ×îºó·µ»Ø¹ýʧÐÅÏ¢£¨¼´·ºÆðÈκÎÉèÖùýʧ£¬£¬£¬£¬£¬ £¬£¬£¬×îÖÕµÄÓ¦´ð±¨ÎľùΪrpc-error£©¡£¡£¡£¡£¡£¡£¡£¡£

*        stop-on-error£º¸ÃֵΪerror-optionµÄȱʡֵ¡£¡£¡£¡£¡£¡£¡£¡£edit-config²Ù×÷ʱ£¬£¬£¬£¬£¬ £¬£¬£¬Óöµ½µÚÒ»¸ö¹ýʧʱ£¬£¬£¬£¬£¬ £¬£¬£¬ÔòÁ¬Ã¦×èֹĿ½ñµÄedit-config²Ù×÷£¬£¬£¬£¬£¬ £¬£¬£¬Ä¿½ñÉèÖñ¨ÎÄÇ°ÃæÉèÖõÄÊý¾Ý¶¼ÒѾ­ÉúЧ£¨ÍÉ»¯Ö®Ç°µÄÉèÖã©¡£¡£¡£¡£¡£¡£¡£¡£

Ò»Ñùƽ³£ÈçÏÂÃûÌãº

<?xml version="1.0" encoding="utf-8"?>

<rpc message-id="xxx" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

<edit-config>

<target> <running/> </target>

<error-option>ÉèÖÃÍÉ»¯Ê±µÄÐÐΪѡÏî</error-option>

<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">¡¡

¡¡¡¡¡¡ ÉèÖÃÊý¾Ý

</config>

</edit-config>

</rpc>

*     ²úÆ·/°æ±¾Ö§³ÖÇéÐÎ

ÏÖÔÚ×°±¸¶Ôreplace²Ù×÷Ôݲ»Ö§³Ö£¬£¬£¬£¬£¬ £¬£¬£¬ÈôÊÇÓÐÏ·¢¸ÃÊôÐÔ²Ù×÷°´merge²Ù×÷´¦Öóͷ£¡£¡£¡£¡£¡£¡£¡£¡£

 

*     ˵Ã÷

¡ñ     edit-config±¨ÎÄÖÐûÓÐЯ´øerror-option½Úµãʱ£¬£¬£¬£¬£¬ £¬£¬£¬Ä¬ÈϸýڵãֵΪstop-on-error£¬£¬£¬£¬£¬ £¬£¬£¬¼´Ò»µ©Óöµ½Äĸö½ÚµãÉèÖÃÍÉ»¯£¬£¬£¬£¬£¬ £¬£¬£¬ÔòÁ¬Ã¦×èֹͳһ¸ö±¨ÎÄÖÐÊ£ÓàµÄºóÐøÉèÖò¢·µ»Ø¹ýʧ(rpc-error)¡£¡£¡£¡£¡£¡£¡£¡£

¡ñ     edit-config±¨ÎÄÖÐûÓÐЯ´øtest-option½Úµã£¬£¬£¬£¬£¬ £¬£¬£¬Ä¬ÈϸýڵãµÄֵΪtest-then-set¡£¡£¡£¡£¡£¡£¡£¡£

¡ñ     edit-config±¨ÎÄÖÐûÓÐЯ´ødefault-operation½Úµã£¬£¬£¬£¬£¬ £¬£¬£¬Ä¬ÈϸýڵãµÄֵΪmerge²Ù×÷¡£¡£¡£¡£¡£¡£¡£¡£

 

l  copy-config£ºÉèÖÃÎļþ¸´ÖÆ£¬£¬£¬£¬£¬ £¬£¬£¬È罫ºòÑ¡ÉèÖø´ÖÆÖÁÉèÖÃÎļþ¡¢Æô»úÉèÖø´ÖÆÖÁÔËÐÐÉèÖá¢ÔËÐÐÉèÖÃдÈëÆô»úÉèÖõÈ£¬£¬£¬£¬£¬ £¬£¬£¬ÕâЩÐèҪĿµÄÎļþÖ§³Ö¿ÉдµÄÄÜÁ¦¡£¡£¡£¡£¡£¡£¡£¡£

¿Í»§¶Ë·¢ËÍÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc message-id="xxx"¡¡xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

¡¡<copy-config>

¡¡¡¡<target>

¡¡¡¡¡¡<startup/>

¡¡¡¡</target>

¡¡¡¡<source>

¡¡¡¡¡¡<running/>

¡¡¡¡</source>

¡¡</copy-config>

</rpc>

·þÎñ¶ËÓ¦´ð±¨ÎÄÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc-reply message-id="xxx"¡¡xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

¡¡<ok/>

</rpc-reply>

l  delete-config£ºÉ¾³ý×°±¸ÉèÖÃÎļþ£¬£¬£¬£¬£¬ £¬£¬£¬µ«²»ÔÊÐíɾ³ý×°±¸µÄÔËÐÐÎļþ¡£¡£¡£¡£¡£¡£¡£¡£

¿Í»§¶Ë·¢ËÍÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc message-id="xxx " xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

?<delete-config>

¡¡ <target>

¡¡¡¡ <startup/>

¡¡ </target>

?</delete-config>

</rpc>

·þÎñ¶ËÓ¦´ð±¨ÎÄÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc-reply message-id="xxx " xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

¡¡<ok/>

</rpc-reply>

*     ²úÆ·/°æ±¾Ö§³ÖÇéÐÎ

ÏÖÔÚ×°±¸½öÖ§³Ö½«Æô»úÉèÖÃͬ²½ÖÁÔËÐÐÉèÖᣡ£¡£¡£¡£¡£¡£¡£

 

l  lock£º¶ÔÉèÖÃÊý¾ÝÎļþ¾ÙÐÐËø±£» £» £»£»£»£»¤£¬£¬£¬£¬£¬ £¬£¬£¬ÔÊÐíÄ¿½ñ¿Í»§¶Ë¾ÙÐлá¼û»òÕßÐ޸ġ£¡£¡£¡£¡£¡£¡£¡£Í¬Ê±ÆäËû¿Í»§¶Ë»òÕß·ÇNETCONF¿Í»§¶Ë£¨ÈçSNMP»òÕßCLI£©ÎÞ·¨»á¼û»òÕßÐ޸ġ£¡£¡£¡£¡£¡£¡£¡£¿£¿£¿ £¿£¿£¿£¿£¿Í»§¶Ë·¢ËÍÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc message-id="xxx " xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

?<lock>

¡¡ <target>

¡¡¡¡ <running/>

¡¡ </target>

?</lock>

</rpc>

·þÎñ¶ËÓ¦´ð±¨ÎÄÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc-reply message-id="xxx "¡¡xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

¡¡<ok/>

</rpc-reply>

*     ˵Ã÷

RFC6241˵Ã÷lockÊÇÓÃÀ´Ëø¶¨ÉèÖÃÊý¾Ý¿â£¨ÉèÖÃÎļþ£©£¬£¬£¬£¬£¬ £¬£¬£¬±ÜÃâ¶à¸öÔ´£¨ÈçCLI¡¢SNMPÒÔ¼°¶à¸öNETCONF»á»°µÈ£©Í¬Ê±¶Ô×°±¸µÄÉèÖÃÎļþ¾ÙÐÐÐÞ¶©£¬£¬£¬£¬£¬ £¬£¬£¬µ¼ÖÂÒýÈëÆäËûÎ޹صÄÉèÖÃÐÞ¶©¡£¡£¡£¡£¡£¡£¡£¡£×°±¸Ä¿½ñÕë¶ÔÕâ¸ö²Ù×÷×öһЩ²Ã¼ô£¬£¬£¬£¬£¬ £¬£¬£¬Ö»ÄܱÜÃâ¶à¸öNETCONF»á»°Í¬Ê±ÐÞ¶©ÔËÐÐÉèÖ㬣¬£¬£¬£¬ £¬£¬£¬°ü¹ÜÉèÖÃÊý¾ÝÐÞ¶©Çå¾²¡£¡£¡£¡£¡£¡£¡£¡£

 

l  unlock£º¶ÔÉèÖÃÊý¾Ý¿â£¨ÉèÖÃÎļþ£¬£¬£¬£¬£¬ £¬£¬£¬ÔÚ×°±¸ÖÐÖ¸µÄÊÇÔËÐÐÉèÖ㩾ÙÐнâËø²Ù×÷£¬£¬£¬£¬£¬ £¬£¬£¬Óëlock²Ù×÷ÊdzɶԲÙ×÷¡£¡£¡£¡£¡£¡£¡£¡£

¿Í»§¶Ë·¢ËÍÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc message-id="xxx "¡¡xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

?<unlock>

¡¡ <target>

¡¡¡¡ <running/>

¡¡ </target>

?</unlock>

</rpc>

·þÎñ¶ËÓ¦´ð±¨ÎÄÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc-reply message-id="xxx "¡¡xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

¡¡<ok/>

</rpc-reply>

l  close-session£º¹Ø±ÕÄ¿½ñ»á»°£¬£¬£¬£¬£¬ £¬£¬£¬°üÀ¨×ÊÔ´¡¢ËøµÄÊÍ·ÅÒÔ¼°ÅþÁ¬¶Ï¿ªµÈ¡£¡£¡£¡£¡£¡£¡£¡£

¿Í»§¶Ë·¢ËÍÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc message-id="xxx" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

¡¡ <close-session/>

</rpc>

·þÎñ¶ËÓ¦´ð±¨ÎÄÃûÌÃÈçÏ£º

<?xml version="1.0" encoding="utf-8"?>

<rpc-reply message-id="xxx"¡¡xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">

¡¡<ok/>

</rpc-reply>

*     ˵Ã÷

ʹÓÃclose-session²Ù×÷¹Ø±ÕÄ¿½ñ»á»°Ê±£¬£¬£¬£¬£¬ £¬£¬£¬ÈôÊÇÓÐÓªÒµÔÚ´¦Öóͷ££¬£¬£¬£¬£¬ £¬£¬£¬±ØÐè°ü¹ÜÄ¿½ñÓªÒµ´¦Öóͷ£Íê±Ï£¬£¬£¬£¬£¬ £¬£¬£¬²¢ÇÒ²»ÔÙ½ÓÊÜеĴ¦Öóͷ£´¦Öóͷ£ÇëÇ󣬣¬£¬£¬£¬ £¬£¬£¬ÔÙÖ´ÐйرջỰ²Ù×÷¡£¡£¡£¡£¡£¡£¡£¡£

 

l  kill-session£ºÇ¿ÖƹرջỰ£¬£¬£¬£¬£¬ £¬£¬£¬°üÀ¨×ÊÔ´¡¢ËøµÄÊÍ·ÅÒÔ¼°ÅþÁ¬¶Ï¿ªµÈ¡£¡£¡£¡£¡£¡£¡£¡£

*    ×¢ÖØ

¡ñ     ʹÓÃkill-session²Ù×÷Ç¿ÐйرջỰʱ£¬£¬£¬£¬£¬ £¬£¬£¬ÈôÊÇÓÐÄ¿½ñÓªÒµÔÚ´¦Öóͷ££¬£¬£¬£¬£¬ £¬£¬£¬±ØÐè×èÖ¹´¦Öóͷ££¬£¬£¬£¬£¬ £¬£¬£¬²¢ÇÒ½«Î´Íê³ÉµÄÓªÒµ»Ø¹öÖÁÓªÒµ´¦Öóͷ£×îÏÈ֮ǰ£¬£¬£¬£¬£¬ £¬£¬£¬ÔÙÖ´ÐйرջỰÇëÇ󡣡£¡£¡£¡£¡£¡£¡£

¡ñ     kill-session²Ù×÷²»ÔÊÐí¹Ø±ÕÄ¿½ñ»á»°¡£¡£¡£¡£¡£¡£¡£¡£

 

1.1.4? ¼øÈ¨»úÖÆ

NETCONF¼øÈ¨»úÖÆÓÃÓÚÖÎÀíÌØ¶¨Óû§Ö´ÐÐNETCONF²Ù×÷ºÍ»á¼ûNETCONF×ÊԴȨÏÞ£¬£¬£¬£¬£¬ £¬£¬£¬Ê¹ÕâЩÓû§Ö»ÄÜÖ´Ðлò»á¼ûNETCONFЭÒé»®¶¨µÄ²Ù×÷ºÍÊý¾Ý½ÚµãÐÅÏ¢¡£¡£¡£¡£¡£¡£¡£¡£

1.    NETCONF¼øÈ¨¹¦Ð§Ö§³ÖµÄ»á¼ûȨÏÞ

ȱʡÇéÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬Ã»ÓÐÉèÖÃNETCONF¼øÈ¨¹¦Ð§£¬£¬£¬£¬£¬ £¬£¬£¬ÈÏÖ¤Óû§¾ßÓÐËùÓÐNETCONFȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£Ö§³ÖµÄ»á¼ûȨÏÞÈçÏ£º

l  Create£ºÔÊÐíºÍեȡÌí¼ÓеÄÊý¾Ý½Úµã¡£¡£¡£¡£¡£¡£¡£¡£

l  Read£ºÔÊÐíºÍեȡ¶ÁÈ¡Êý¾Ý½ÚµãÐÅÏ¢¡£¡£¡£¡£¡£¡£¡£¡£

l  Update£ºÔÊÐíºÍեȡ¸üÐÂÊý¾Ý½Úµã¡£¡£¡£¡£¡£¡£¡£¡£

l  Delete£ºÔÊÐíºÍեȡɾ³ýÊý¾Ý½Úµã¡£¡£¡£¡£¡£¡£¡£¡£

l  Exec£ºÔÊÐíºÍեȡËùÓеÄЭÒé²Ù×÷¡£¡£¡£¡£¡£¡£¡£¡£

2.    NETCONF¼øÈ¨¹¦Ð§Ö§³ÖµÄÄÚÈÝ

NETCONF¼øÈ¨¹¦Ð§Ö§³ÖµÄÄÚÈݰüÀ¨RPCÒªÁì¼øÈ¨ºÍÊý¾Ý½Úµã¼øÈ¨¡£¡£¡£¡£¡£¡£¡£¡£

l  RPCÒªÁì¼øÈ¨

NETCONFµÄRPCÒªÁì¼øÈ¨ÓÃÓÚ¿ØÖÆNETCONFЭÒé»®¶¨µÄ²Ù×÷ÒªÁìȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£ÏêϸRPCÒªÁìÒÔ¼°Ä¬ÈÏȨÏÞÈç±í1-1Ëùʾ¡£¡£¡£¡£¡£¡£¡£¡£

±í1-1     RPCÒªÁìÒÔ¼°Ä¬ÈÏȨÏÞ˵Ã÷±í

RPCÒªÁì

¹¦Ð§ËµÃ÷

ĬÈÏȨÏÞ£¨¶Á£ºR£» £» £»£»£»£»Ð´£ºW£» £» £»£»£»£»Ö´ÐУºX£©

get

»ñÈ¡Êý¾Ý

X¨¤R

get-config

»ñÈ¡ÉèÖÃ

X¨¤R

edit-config

ÐÞ¸ÄÉèÖÃ

X¨¤W

copy-config

Ô´ÉèÖÃÌæ»»Ä¿µÄÉèÖÃ

X

delete-config

ɾ³ýÉèÖÃ

X

validate

Ó﷨УÑé

X

commit

ºòÑ¡ÉèÖÃÉúЧÔËÐÐÉèÖÃ

X

cancel-commit

×÷·Ïconfirmed-commit²Ù×÷

X

discard-changes

·ÅÆú»¹Î´ÉúЧµÄºòÑ¡ÉèÖÃ

X

lock/unlock

ÉèÖÃÉÏËø/½âËø

X

close-session

¹Ø±ÕÄ¿½ñ»á»°

X

kill-session

¹Ø±ÕÆäËû»á»°

X

get-schema

»ñÈ¡yangÎļþ

X

 

*     ˵Ã÷

¡ñ     ËùÓеÄRPCÒªÁìĬÈ϶¼ÐèÒªÖ´ÐÐȨÏ޲Żª²Ù×÷¡£¡£¡£¡£¡£¡£¡£¡£ÆäÖÐget¡¢get-configºÍedit-configÐèÒª¼ì²éÊý¾Ý½ÚµãµÄ¶ÁºÍдȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£

¡ñ     close-sessionĬÈÏÔÊÐí£¬£¬£¬£¬£¬ £¬£¬£¬ÎÞ·¨ÉèÖÃեȡ¡£¡£¡£¡£¡£¡£¡£¡£

¡ñ     delete-configºÍkill-sessionĬÈÏÇéÐÎÏÂÊÇեȡ£¬£¬£¬£¬£¬ £¬£¬£¬¿ÉÒÔÉèÖÃÔÊÐí¡£¡£¡£¡£¡£¡£¡£¡£ÆäËûRPCÒªÁ죬£¬£¬£¬£¬ £¬£¬£¬Ä¬ÈÏÇéÐÎÏÂÊÇÔÊÐí¡£¡£¡£¡£¡£¡£¡£¡£

¡ñ     lock/unlockÊÇÐèÒªÅä¶Ô£¬£¬£¬£¬£¬ £¬£¬£¬Ö»ÒªÉèÖÃlockȨÏÞ£¬£¬£¬£¬£¬ £¬£¬£¬unlockÒ²¾ßÓÐͬÑùȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£

 

l  Êý¾Ý½Úµã¼øÈ¨

NETCONFµÄÊý¾Ý½Úµã¼øÈ¨ÓÃÓÚ¿ØÖÆNETCONFÊý¾Ý½ÚµãµÄȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£¿£¿£¿ £¿£¿£¿£¿£¿ÉÒÔ×öµ½¶ÔËùÓÐÄ£¿£¿£¿ £¿£¿£¿£¿£¿é¡¢µ¥¸öÄ£¿£¿£¿ £¿£¿£¿£¿£¿éºÍÌØ¶¨µÄÊý¾Ý½ÚµãµÄȨÏÞ¾ÙÐпØÖÆ¡£¡£¡£¡£¡£¡£¡£¡£ÏêϸÇéÐÎÈçÏ£º

*        ÈôÊÇÖ»ÉèÖá°/¡±£¬£¬£¬£¬£¬ £¬£¬£¬Ôò˵Ã÷ÊǶÔËùÓÐÄ£¿£¿£¿ £¿£¿£¿£¿£¿éµÄÊý¾Ý½ÚµãȨÏÞ¿ØÖÆ¡£¡£¡£¡£¡£¡£¡£¡£

*        ÈôÊÇÉèÖõ½Ä£¿£¿£¿ £¿£¿£¿£¿£¿éÃû£¬£¬£¬£¬£¬ £¬£¬£¬Ôò˵Ã÷ÊǶԵ¥¸öÄ£¿£¿£¿ £¿£¿£¿£¿£¿éµÄÊý¾Ý½ÚµãȨÏÞ¿ØÖÆ£¬£¬£¬£¬£¬ £¬£¬£¬ÀýÈ磺/rg-snmp:snmp¡£¡£¡£¡£¡£¡£¡£¡£

*        ÆäËûÇéÐÎÔòÊǶÔÏêϸģ¿£¿£¿ £¿£¿£¿£¿£¿éϵÄÊý¾Ý½ÚµãȨÏÞ¿ØÖÆ¡£¡£¡£¡£¡£¡£¡£¡£

1.1.5? ЭÒ鹿·¶

l  RFC4741£ºNETCONF Configuration Protocol

l  RFC4742£ºUsing the NETCONF Configuration Protocol over Secure Shell (SSH)

l  RFC4743£ºUsing NETCONF over the Simple Object Access Protocol (SOAP)

l  RFC4744£ºUsing the NETCONF Protocol over the Blocks Extensible Exchange Protocol (BEEP)

l  RFC5277£ºNETCONF Event Notifications

l  RFC5381£ºExperience of Implementing NETCONF over SOAP

l  RFC5539£ºNETCONF Over Transport Layer Security (TLS)

l  RFC5717£ºPartial Lock RPC for NETCONF

l  RFC6022£ºNETCONF Monitoring Schema

l  RFC6241£ºNetwork Configuration Protocol

l  RFC6242£ºUsing the Network Configuration Protocol over Secure Shell

l  RFC6243£ºWith-defaults capability for NETCONF

l  RFC6470£ºNETCONF Notification Events

l  RFC6536£ºNETCONF Access Control Model (NACM)

*     ˵Ã÷

RFC4741ºÍRFC4742ÒÑ»®·Ö±»RFC6241ºÍRFC6242È¡´ú¡£¡£¡£¡£¡£¡£¡£¡£

 

1.2?? ÉèÖÃʹÃü¸ÅÀÀ

NETCONFÉèÖÃʹÃüÈçÏ£º

(1)   ÉèÖÃNETCONF·þÎñÆ÷Óë¿Í»§¶Ë¾ÙÐÐͨѶ

(2)   £¨¿ÉÑ¡£¡£¡£¡£¡£¡£¡£¡£©ÉèÖÃNETCONF¼øÈ¨

1.3?? ÉèÖÃNETCONF·þÎñÆ÷Óë¿Í»§¶Ë¾ÙÐÐͨѶ

1.3.1? ¹¦Ð§¼ò½é

ÔÚNETCONF·þÎñÆ÷¶Ë¿ªÆôNETCONF¹¦Ð§£¬£¬£¬£¬£¬ £¬£¬£¬Óë¿Í»§¶ËÄܹ»Õý³£Í¨Ñ¶£¬£¬£¬£¬£¬ £¬£¬£¬ÊµÏÖÖÎÀíÍøÂç×°±¸µÄÄ¿µÄ¡£¡£¡£¡£¡£¡£¡£¡£

1.3.2? ÉèÖÃÏÞÖÆÓëÖ¸µ¼

l  Ö´ÐÐnetconf yang multi-revisionÏÂÁ£¬£¬£¬£¬ £¬£¬£¬±ØÐèÔÚNETCONF·þÎñ¶ËÄÜÁ¦±¨ÎÄ£¨Hello£©Í¨¸æÖ®Ç°ÉèÖᣡ£¡£¡£¡£¡£¡£¡£

l  Ö´ÐÐno netconf yang multi-revisionÏÂÁ£¬£¬£¬£¬ £¬£¬£¬±ØÐèÔÚNETCONF·þÎñ¶ËÄÜÁ¦±¨ÎÄ£¨Hello£©Í¨¸æÖ®Ç°ÉèÖ㬣¬£¬£¬£¬ £¬£¬£¬ÇÒÄÜÁ¦Í¨¸æ±¨ÎÄÖÐÒ»¸öYANGÄ£¿£¿£¿ £¿£¿£¿£¿£¿éֻͨ¸æËüÄ¿½ñ×îа汾¡£¡£¡£¡£¡£¡£¡£¡£

l  ÑÏ¿áУÑéģʽ¿ÉÄܻᵼÖ²¿·ÖÔÚÇáÁ¿¼¶Ð£ÑéģʽÏ¿ÉÒÔÏ·¢µÄXML±»×èµ²¡£¡£¡£¡£¡£¡£¡£¡£

1.3.3? ÉèÖÃ×¼±¸

NETCONFЭÒé³ÐÔØÔÚSSHЭÒéÉÏ£¬£¬£¬£¬£¬ £¬£¬£¬Òò´ËÔÚʹÓÃNETCONF¹¦Ð§Ö®Ç°£¬£¬£¬£¬£¬ £¬£¬£¬ÐèÒªÔÚ×°±¸ÉÏÏÈÉèÖÃSSH¡£¡£¡£¡£¡£¡£¡£¡£ÉèÖÃÇë²Î¿¼¡°SSHÉèÖᱡ£¡£¡£¡£¡£¡£¡£¡£

1.3.4? ÉèÖð취

(1)   ½øÈëÌØÈ¨Ä£Ê½¡£¡£¡£¡£¡£¡£¡£¡£

enable

(2)   ½øÈëÈ«¾ÖÉèÖÃģʽ¡£¡£¡£¡£¡£¡£¡£¡£

configure terminal

(3)   ÉèÖÃNETCONF·þÎñÆ÷ÊôÐÔ²ÎÊý¡£¡£¡£¡£¡£¡£¡£¡£ÒÔÏÂÉèÖþùΪ¿ÉÑ¡£¬£¬£¬£¬£¬ £¬£¬£¬ÇëÆ¾Ö¤ÏÖÕæÏàÐÎÑ¡ÔñÉèÖᣡ£¡£¡£¡£¡£¡£¡£

*        £¨¿ÉÑ¡£¡£¡£¡£¡£¡£¡£¡£©ÉèÖÃNETCONF·þÎñ¿ªÆô¡£¡£¡£¡£¡£¡£¡£¡£

netconf enable

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬NETCONF¹¦Ð§´¦ÓÚ¿ªÆô״̬¡£¡£¡£¡£¡£¡£¡£¡£

*        £¨¿ÉÑ¡£¡£¡£¡£¡£¡£¡£¡£©ÉèÖÃNETCONFÖ§³ÖµÄ»á»°×î´óÅþÁ¬¸öÊý¡£¡£¡£¡£¡£¡£¡£¡£

netconf max-sessions max-sessions-numbers

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬NETCONFÖ§³ÖµÄ»á»°×î´óÅþÁ¬¸öÊýΪ5¸ö¡£¡£¡£¡£¡£¡£¡£¡£

*        £¨¿ÉÑ¡£¡£¡£¡£¡£¡£¡£¡£©ÉèÖÃNETCONF»á»°edit-config²Ù×÷µÄ³¬Ê±Ê±¼ä¡£¡£¡£¡£¡£¡£¡£¡£

netconf timeout timeout

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬NETCONF»á»°edit-config²Ù×÷µÄ³¬Ê±Ê±¼äΪ120Ãë¡£¡£¡£¡£¡£¡£¡£¡£

*        £¨¿ÉÑ¡£¡£¡£¡£¡£¡£¡£¡£©ÉèÖÃYANGÄ£¿£¿£¿ £¿£¿£¿£¿£¿é¶à°æ±¾Í¨¸æ¡£¡£¡£¡£¡£¡£¡£¡£

netconf yang multi-revision

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬NETCONFµÄYANGÄ£¿£¿£¿ £¿£¿£¿£¿£¿é¶à°æ±¾Í¨¸æ¹¦Ð§´¦ÓÚ¿ªÆô״̬¡£¡£¡£¡£¡£¡£¡£¡£

*        £¨¿ÉÑ¡£¡£¡£¡£¡£¡£¡£¡£©ÉèÖÃNETCONFÄÜÁ¦¡£¡£¡£¡£¡£¡£¡£¡£

netconf capability{ candidate | rollback | validate }

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬Î´ÉèÖÃNETCONFÏà¹ØÄÜÁ¦¹¦Ð§¡£¡£¡£¡£¡£¡£¡£¡£

*        £¨¿ÉÑ¡£¡£¡£¡£¡£¡£¡£¡£©ÉèÖÃNETCONFУÑéģʽ¡£¡£¡£¡£¡£¡£¡£¡£

netconf calibration-mode { lightweight | strict }

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬NETCONFУÑéģʽΪÇáÁ¿¼¶Ð£Ñéģʽ¡£¡£¡£¡£¡£¡£¡£¡£

*        £¨¿ÉÑ¡£¡£¡£¡£¡£¡£¡£¡£©ÉèÖÃNETCONFÈÕÖ¾¿ª¹Ø¡£¡£¡£¡£¡£¡£¡£¡£

netconf log { capability | edit | get | session }

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬NETCONFÈÕÖ¾¿ª¹Ø´¦ÓڹرÕ״̬¡£¡£¡£¡£¡£¡£¡£¡£

*        £¨¿ÉÑ¡£¡£¡£¡£¡£¡£¡£¡£©ÉèÖÃNETCONF·þÎñ¶Ë¿ÚºÅ¡£¡£¡£¡£¡£¡£¡£¡£

netconf port port-number

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬NETCONF·þÎñ¶Ë¿ÚºÅΪ830¡£¡£¡£¡£¡£¡£¡£¡£

1.4?? ÉèÖÃNETCONF¼øÈ¨

1.4.1? ¹¦Ð§¼ò½é

ÉèÖÃNETCONF¼øÈ¨»úÖÆÓÃÓÚÖÎÀíÌØ¶¨Óû§Ö´ÐÐNETCONF²Ù×÷ºÍ»á¼ûNETCONF×ÊԴȨÏÞ£¬£¬£¬£¬£¬ £¬£¬£¬Ê¹ÕâЩÓû§Ö»ÄÜÖ´Ðлò»á¼ûNETCONFЭÒé»®¶¨µÄ²Ù×÷ºÍÊý¾Ý½ÚµãÐÅÏ¢¡£¡£¡£¡£¡£¡£¡£¡£

1.4.2? ÉèÖÃÏÞÖÆÓëÖ¸µ¼

l  ²»¿É½¨ÉèÓû§×é¡°ÐǺţ¨*£©¡±£¬£¬£¬£¬£¬ £¬£¬£¬Óû§×é¡°ÐǺţ¨*£©¡±ÌåÏÖËùÓÐÓû§×é¡£¡£¡£¡£¡£¡£¡£¡£

l  ¹ØÓÚµ¥¸ö¹æÔòÁÐÐÄÇéÐΣ¬£¬£¬£¬£¬ £¬£¬£¬Óû§¹æÔòÆ¥ÅäµÄ˳ÐòÊÇÆ¾Ö¤Óû§ÉèÖõĹæÔò˳Ðò¾ÙÐС£¡£¡£¡£¡£¡£¡£¡£ÈôÊDzÙ×÷Æ¥Åäµ½ÔÊÐí¹æÔò£¬£¬£¬£¬£¬ £¬£¬£¬Ôò˵Ã÷²Ù×÷ÊDZ»ÔÊÐí¡£¡£¡£¡£¡£¡£¡£¡£ÈôÊDzÙ×÷Æ¥Å䵽եȡ¹æÔò»òÕßûÓÐÆ¥Åäµ½¹æÔò£¬£¬£¬£¬£¬ £¬£¬£¬Ôò˵Ã÷²Ù×÷ÔÚÄ¿½ñ¹æÔòÁбíÊDZ»Õ¥È¡¡£¡£¡£¡£¡£¡£¡£¡£

l  ¹ØÓÚ¶à¸ö¹æÔòÁÐÐÄÇéÐΣ¬£¬£¬£¬£¬ £¬£¬£¬²î±ð¹æÔòÁбíÏµĹæÔòÒ²ÊÇÆ¾Ö¤Óû§ÉèÖõÄ˳Ðò¾ÙÐÐÆ¥Åä¡£¡£¡£¡£¡£¡£¡£¡£ÈôÊDzÙ×÷Æ¥Åäµ½Ò»¸ö¹æÔòÁбíÖеÄÔÊÐí¹æÔò£¬£¬£¬£¬£¬ £¬£¬£¬Ôò˵Ã÷²Ù×÷ÊDZ»ÔÊÐí¡£¡£¡£¡£¡£¡£¡£¡£ÈôÊDzÙ×÷Æ¥Å䵽եȡ¹æÔò£¬£¬£¬£¬£¬ £¬£¬£¬Ôò˵Ã÷²Ù×÷ÊDZ»Õ¥È¡¡£¡£¡£¡£¡£¡£¡£¡£ÈôÊÇÄ¿½ñµÄ¹æÔòÁбíûÓÐÆ¥Åäµ½ÈκιæÔò£¬£¬£¬£¬£¬ £¬£¬£¬ÔòÆ¥ÅäÏÂÒ»¸ö¹æÔòÁбíµÄ¹æÔò¡£¡£¡£¡£¡£¡£¡£¡£

l  RPC²Ù×÷ÒªÁì°üÀ¨get¡¢get-config¡¢edit-config¡¢copy-config¡¢delete-config¡¢validate¡¢commit¡¢cancel-commit¡¢discard-changes¡¢lock¡¢kill-sessionºÍget-schemaµÈ¡£¡£¡£¡£¡£¡£¡£¡£

l  ûÓÐÉèÖùæÔòÀàÐÍÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬ÔòÌåÏÖͬʱ¿ªÆô¶ÔRPC²Ù×÷ÒªÁìºÍÊý¾Ý½Úµã¹æÔòȨÏÞ¿ØÖÆ¡£¡£¡£¡£¡£¡£¡£¡£

l  ¹æÔòÏÂÓÐÉèÖÿªÆôRPC²Ù×÷·½¹æÔòÔò¿ØÖÆ¡£¡£¡£¡£¡£¡£¡£¡£ÈôÊǹæÔòÏÂÉèÖõĻá¼û²Ù×÷ȨÏÞ°üÀ¨execȨÏÞ£¬£¬£¬£¬£¬ £¬£¬£¬Ôò¾ÙÐÐRPC²Ù×÷ÒªÁì¼ì²éʱ»á¾ÙÐиùæÔòµÄÆ¥Å䣻 £» £»£»£»£»²»È»¾ÙÐÐRPC²Ù×÷ÒªÁì¼ì²éʱ²»»á¾ÙÐиùæÔòµÄÆ¥Åä¡£¡£¡£¡£¡£¡£¡£¡£

l  ¹æÔòÏÂÓÐÉèÖÿªÆôÊý¾Ý½Úµã¹æÔò¿ØÖÆ¡£¡£¡£¡£¡£¡£¡£¡£ÈôÊǹæÔòÏÂÉèÖõĻá¼û²Ù×÷ȨÏÞ°üÀ¨create¡¢read¡¢updateºÍdeleteÖÐÖÁÉÙÒ»ÖÖȨÏÞ£¬£¬£¬£¬£¬ £¬£¬£¬Ôò¾ÙÐÐÊý¾Ý½Úµã¼ì²éʱ»á¾ÙÐиùæÔòµÄÆ¥Å䣻 £» £»£»£»£»²»È»¾ÙÐÐÊý¾Ý½Úµã¼ì²éʱ²»»á¾ÙÐиùæÔòµÄÆ¥Åä¡£¡£¡£¡£¡£¡£¡£¡£

1.4.3? ÉèÖð취

(1)   ½øÈëÌØÈ¨Ä£Ê½¡£¡£¡£¡£¡£¡£¡£¡£

enable

(2)   ½øÈëÈ«¾ÖÉèÖÃģʽ¡£¡£¡£¡£¡£¡£¡£¡£

configure terminal

(3)   ½øÈë¼øÈ¨ÉèÖÃģʽ¡£¡£¡£¡£¡£¡£¡£¡£

netconf acm

(4)   ÉèÖÃÓû§×é²¢½øÈëÓû§×éģʽ¡£¡£¡£¡£¡£¡£¡£¡£

user-group-name name

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬Î´ÉèÖÃÓû§×é¡£¡£¡£¡£¡£¡£¡£¡£

(5)   ÉèÖÃÓû§×鹨ÁªÓû§¡£¡£¡£¡£¡£¡£¡£¡£

user-name name

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬Î´ÉèÖÃÓû§×鹨ÁªÓû§¡£¡£¡£¡£¡£¡£¡£¡£

(6)   Í˳öµ½¼øÈ¨ÉèÖÃģʽ¡£¡£¡£¡£¡£¡£¡£¡£

exit

(7)   ÉèÖùæÔòÁÐ±í²¢½øÈë¹æÔòÁбíģʽ¡£¡£¡£¡£¡£¡£¡£¡£

rule-list name

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬Î´ÉèÖùæÔòÁÐ±í¡£¡£¡£¡£¡£¡£¡£¡£

(8)   ÉèÖùæÔòÁÐ±í¹ØÁªÓû§×é¡£¡£¡£¡£¡£¡£¡£¡£

user-group { * | name }

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬Î´ÉèÖùæÔòÁÐ±í¹ØÁªÓû§×é¡£¡£¡£¡£¡£¡£¡£¡£

(9)   ÉèÖùæÔò²¢½øÈë¹æÔòģʽ¡£¡£¡£¡£¡£¡£¡£¡£

rule name action { permit | deny }

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬Î´ÉèÖùæÔò¡£¡£¡£¡£¡£¡£¡£¡£

(10) ÉèÖùæÔòÀàÐÍ¡£¡£¡£¡£¡£¡£¡£¡£

rule-type { rpc-name { name | * } | path path }

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬Î´ÉèÖùæÔòÀàÐÍ¡£¡£¡£¡£¡£¡£¡£¡£

(11) ÉèÖùæÔòµÄ»á¼û²Ù×÷ȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£

access-operation { * | { create | delete | exec | read | update } * }

ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬ £¬£¬£¬Î´ÉèÖùæÔòµÄ»á¼û²Ù×÷ȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£

1.5?? ¼àÊÓÓëά»¤

¿ÉÒÔͨ¹ýshowÏÂÁîÐÐÉó²é¹¦Ð§ÉèÖúóµÄÔËÐÐÇéÐÎÒÔÑéÖ¤ÉèÖÃЧ¹û¡£¡£¡£¡£¡£¡£¡£¡£

±í1-2     NETCONF¼àÊÓÓëά»¤

×÷ÓÃ

ÏÂÁî

Éó²éÓû§¹ØÁªµÄ¹æÔòÁбíÐÅÏ¢¡¢¹æÔòÁбíÏêϸÐÅÏ¢ºÍÓû§×éÐÅÏ¢

show netconf authorization user-name name { rule-list [ detail ] | user-group }

Éó²éNETCONFÄ¿½ñËùÓеĻỰÐÅÏ¢

show netconf session

Éó²éNETCONFÄ¿½ñÈ«¾Öͳ¼ÆÐÅÏ¢

show netconf statistics

Éó²é×°±¸Ä¿½ñÖ§³ÖµÄËùÓÐyangÎļþ

show netconf yang file

Éó²é×°±¸Ä¿½ñÖ§³ÖµÄËùÓнڵã·¾¶

show netconf yang node-path

Éó²é×°±¸Ä¿½ñÖ§³ÖµÄËùÓÐyangÄ£×ÓÊ÷

show netconf yang tree

 

1.6?? µä·¶ÉèÖþÙÀý

1.6.1? NETCONFÉèÖþÙÀý

1.    ×éÍøÐèÇó

¹ØÓÚÇå¾²ÐÔ¡¢¿ÉÀ©Õ¹ÐÔÒªÇó¸ßµÄÍøÂç×°±¸ÖÎÀíÐèÇ󣬣¬£¬£¬£¬ £¬£¬£¬¿ÉÒÔʹÓÃNETCONF×÷ÎªÍø¹Ü¹¤¾ß¡£¡£¡£¡£¡£¡£¡£¡£NETCONFµÄ³ÐÔØÐ­ÒéΪSSHЭÒ飬£¬£¬£¬£¬ £¬£¬£¬SSHЭÒé×÷ΪӦÓòãµÄÇ徲ЭÒ飬£¬£¬£¬£¬ £¬£¬£¬°ü¹ÜÁËNETCONFµÄÇå¾²ÐÔ¡£¡£¡£¡£¡£¡£¡£¡£ÒÔͼ1-3ΪÀý£¬£¬£¬£¬£¬ £¬£¬£¬Óû§Í¨¹ýNETCONFÍøÂçÖÎÀíÈí¼þ£¬£¬£¬£¬£¬ £¬£¬£¬À´¶ÔÍøÂç×°±¸¾ÙÐÐÖÎÀíºÍ¼à¿Ø¡£¡£¡£¡£¡£¡£¡£¡£

2.    ×éÍøÍ¼

ͼ1-3     NETCONF×éÍøÍ¼

 

3.    ÉèÖÃÒªµã

l  ÉèÖÃNETCONF·þÎñ¶ËµÄÍøÂçÖÎÀí¿ÚIPµØµã£¬£¬£¬£¬£¬ £¬£¬£¬°ü¹ÜNETCONFµÄ¿Í»§¶ËÓë·þÎñ¶ËÖ®¼äÈý²ã·Óɿɴ¡£¡£¡£¡£¡£¡£¡£

l  ÔÚNETCONF·þÎñ¶ËÉϰ²ÅÅSSH¹¦Ð§¡£¡£¡£¡£¡£¡£¡£¡£

l  ÔÚNETCONF·þÎñ¶ËÉÏÉèÖÃNETCONF¹¦Ð§Ïà¹Ø²ÎÊý£¬£¬£¬£¬£¬ £¬£¬£¬ÒÔÖª×ãÏÖʵ³¡¾°ÐèÇ󡣡£¡£¡£¡£¡£¡£¡£

l  NETCONF¿Í»§¶ËÈí¼þͨ¹ýSSHЭÒéÅþÁ¬µ½NETCONF·þÎñ¶Ë£¬£¬£¬£¬£¬ £¬£¬£¬ÊµÏÖ¶ÔÍøÂç×°±¸µÄÖÎÀíºÍ¼à¿Ø¡£¡£¡£¡£¡£¡£¡£¡£

4.    ÉèÖð취

# ÉèÖÃNETCONF·þÎñ¶ËµÄÍøÂçÖÎÀí¿ÚIPµØµã¡£¡£¡£¡£¡£¡£¡£¡£

Hostname> enable

Hostname# configure terminal

Hostname(config)# interface mgmt 0

Hostname(config-if-Mgmt 0)# ip address 172.29.71.62 255.255.255.0

Hostname(config-if-Mgmt 0)# gateway 172.29.71.1

# ¿ªÆôSSH¹¦Ð§£¬£¬£¬£¬£¬ £¬£¬£¬²¢ÌìÉúÍâµØÃÜÔ¿¡£¡£¡£¡£¡£¡£¡£¡£ÃÜÔ¿ÀàÐ͵ÄÑ¡ÔñÔ­Ôò£¬£¬£¬£¬£¬ £¬£¬£¬Çë²Î¿¼¡°SSHÏÂÁîÊֲᡱÖеÄcrypto key generateÏÂÁîµÄʹÓÃÖ¸µ¼¡£¡£¡£¡£¡£¡£¡£¡£

Hostname> enable

Hostname# configure terminal

Hostname(config)# enable service ssh-server

Hostname(config)# crypto key generate rsa

% You already have RSA keys.

% Do you really want to replace them? [yes/no]:y

Choose the size of the rsa key modulus in the range of 512 to 2048

and the size of the dsa key modulus in the range of 360 to 2048 for your

Signature Keys. Choosing a key modulus greater than 512 may take

a few minutes.

Choose the size of the ecc key modulus from (256, 384, 521)

 

How many bits in the modulus [1024]:2048

% Generating 2048 bit RSA1 keys ...[ok]

% Generating 2048 bit RSA keys ...[ok]

Hostname(config)#

# ½¨ÉèÓû§ÃûΪnetconfµÄSSHÓû§£¬£¬£¬£¬£¬ £¬£¬£¬²¢ÉèÖÃÃÜÂëΪnetconf_1234¡£¡£¡£¡£¡£¡£¡£¡£

Hostname(config)# username netconf privilege 15 password netconf_1234

*    ×¢ÖØ

Ϊ°ü¹ÜÇå¾²ÐÔ£¬£¬£¬£¬£¬ £¬£¬£¬Çë°´ÆÚÐÞ¸ÄÓû§Ãû¼°ÃÜÂë¡£¡£¡£¡£¡£¡£¡£¡£

 

# ÉèÖÃVTYÏß·ÍâµØÓû§ÈÏÖ¤¡£¡£¡£¡£¡£¡£¡£¡£

Hostname(config)# line vty 0 35

Hostname(config-line)# login local

# ÔÚNETCONF·þÎñ¶ËÉÏ¿ªÆôNETCONF·þÎñ¹¦Ð§¡£¡£¡£¡£¡£¡£¡£¡£

Hostname(config)# netconf enable

# ÔÚNETCONF·þÎñ¶ËÉÏÉèÖÃÖ§³ÖµÄ»á»°×î´óÅþÁ¬¸öÊýΪ6¡£¡£¡£¡£¡£¡£¡£¡£

Hostname(config)# netconf max-sessions 6

# ÔÚNETCONF·þÎñ¶ËÉÏÉèÖÃNETCONF»á»°edit-config²Ù×÷µÄ³¬Ê±Ê±¼äΪ100Ãë¡£¡£¡£¡£¡£¡£¡£¡£

Hostname(config)# netconf timeout 100

# ÔÚNETCONF·þÎñ¶ËÉÏÉèÖÃYANGÄ£¿£¿£¿ £¿£¿£¿£¿£¿é¶à°æ±¾Í¨¸æ¡£¡£¡£¡£¡£¡£¡£¡£

Hostname(config)# netconf yang multi-revision

# ÔÚNETCONF·þÎñ¶ËÉÏÉèÖÿªÆôNETCONF·þÎñ¶ËcandidateÄÜÁ¦¡£¡£¡£¡£¡£¡£¡£¡£

Hostname(config)# netconf capability candidate

# ÔÚNETCONF·þÎñ¶ËÉÏÉèÖÃNETCONFУÑéģʽΪÇáÁ¿¼¶Ð£Ñéģʽ¡£¡£¡£¡£¡£¡£¡£¡£

Hostname(config)# netconf calibration lightweight

# ÔÚNETCONF·þÎñ¶ËÉÏÉèÖÃNETCONF»á»°Ïà¹ØµÄSyslogÈÕÖ¾¿ª¹Ø¡£¡£¡£¡£¡£¡£¡£¡£

Hostname(config)# netconf log session

# ÔÚNETCONF·þÎñ¶ËÉÏÉèÖÃNETCONF·þÎñ¶Ë¿ÚºÅΪ5000¡£¡£¡£¡£¡£¡£¡£¡£

Hostname(config)# netconf port 5000

# Èçͼ1-4Ëùʾ£¬£¬£¬£¬£¬ £¬£¬£¬Ê¹ÓÃNETCONF¿Í»§¶ËÈí¼þͨ¹ýSSHЭÒéµÇ¼µ½NETCONF·þÎñ¶Ë£¬£¬£¬£¬£¬ £¬£¬£¬ÊµÏÖ¶ÔÍøÂç×°±¸µÄÖÎÀíºÍ¼à¿Ø¡£¡£¡£¡£¡£¡£¡£¡£

ͼ1-4     NETCONF¿Í»§¶ËÈí¼þµÇ¼װ±¸Ê¾Àýͼ

 

5.    ÑéÖ¤ÉèÖÃЧ¹û

# ͨ¹ýpingÏÂÁîÉó²éNETCONFµÄ¿Í»§¶ËÓë·þÎñ¶ËÊÇ·ñÈý²ã¿É´ï¡£¡£¡£¡£¡£¡£¡£¡£

Hostname# ping oob 172.29.71.100

Sending 5, 100-byte ICMP Echoes to 172.29.71.100, timeout is 2 seconds:

¡¡< press Ctrl+C to break >

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/3 ms.

Hostname#

# ͨ¹ýshow serviceÏÂÁîÉó²éSSH·þÎñÊÇ·ñ¿ªÆô¡£¡£¡£¡£¡£¡£¡£¡£

Hostname# show service

snmp-agent¡¡¡¡: enabled

ssh-server¡¡¡¡: enabled

telnet-server : enabled

# ÔÚ×°±¸ÉÏͨ¹ýshow netconf sessionÏÂÁîÉó²éNETCONF¿Í»§¶ËÈí¼þʹÓÃSSHЭÒéÅþÁ¬NETCONF·þÎñ¶ËÀֳɡ£¡£¡£¡£¡£¡£¡£¡£

Hostname# show netconf session

************************session information************************

¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Session count: 1

*******************************************************************

Session ID¡¡¡¡¡¡¡¡¡¡¡¡¡¡: 20

Session version¡¡¡¡¡¡¡¡ : 1.1

Session transport¡¡¡¡¡¡ : netconf-ssh

Session login IP¡¡¡¡¡¡¡¡: 172.29.69.21¡¡¡¡

Session login time¡¡¡¡¡¡: 2020-12-18T08:26:30Z

Session in rpcs¡¡¡¡¡¡¡¡ : 0

Session in bad rpcs¡¡¡¡ : 0

Session out rpc errors¡¡: 0

Session out notification: 0

Session out rpcs¡¡¡¡¡¡¡¡: 0

Session out send fail¡¡ : 0

Session get¡¡¡¡¡¡¡¡¡¡¡¡ : 0

Session get config¡¡¡¡¡¡: 0

Session edit config¡¡¡¡ : 0

Session copy config¡¡¡¡ : 0

Session delete config¡¡ : 0

Session close session¡¡ : 0

Session unsupport¡¡¡¡¡¡ : 0

Session lock_or_unlock¡¡: 0

===================================================================

6.    ÉèÖÃÎļþ

NETCONF_ServerµÄÉèÖÃÎļþ

hostname Hostname

!

username netconf privilege 15 password netconf_1234

!

netconf log session

netconf capability candidate

netconf port 5000

netconf max-sessions 6

netconf timeout 100

!

enable service ssh-server

!

interface Mgmt 0

?ip address 172.29.71.62 255.255.255.0

?gateway 172.29.71.1

!

line vty 0 35

?login local

!

end

1.6.2? NETCONF¼øÈ¨ÉèÖþÙÀý

1.    ×éÍøÐèÇó

Óû§user1ÓµÓÐËùÓÐÄ£¿£¿£¿ £¿£¿£¿£¿£¿éµÄget²Ù×÷ȨÏÞ£¬£¬£¬£¬£¬ £¬£¬£¬Óû§user2ÓµÓжÔSNMPÄ£¿£¿£¿ £¿£¿£¿£¿£¿éµÄ½¨ÉèȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£

2.    ×éÍøÍ¼

ͼ1-5     NETCONF¼øÈ¨×éÍøÍ¼

 

3.    ÉèÖÃÒªµã

ÉèÖÃÓû§user1¶ÔËùÓÐÄ£¿£¿£¿ £¿£¿£¿£¿£¿é¾ßÓÐget²Ù×÷ȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£

ÉèÖÃÓû§user2½ö¶ÔSNMPÄ£¿£¿£¿ £¿£¿£¿£¿£¿éÓµÓн¨ÉèȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£

4.    ÉèÖð취

(1)   ÉèÖÃÓû§user1¶ÔËùÓÐÄ£¿£¿£¿ £¿£¿£¿£¿£¿é¾ßÓÐget²Ù×÷ȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£

# ÉèÖÃÓû§user1¡£¡£¡£¡£¡£¡£¡£¡£

Device> enable

Device# configure terminal

Device(config)# username user1 password test12345

# ÉèÖýøÈë¼øÈ¨Ä£Ê½¡£¡£¡£¡£¡£¡£¡£¡£

Device(config)# netconf acm

# ÉèÖÃÓû§×éguser1¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm)# user-group-name guser1

# ÉèÖÃÓû§×éguser1¹ØÁªÓû§user1¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm-user-group)# user-name user1

Device(config-nacm-user-group)# exit

# ÉèÖùæÔòÁбírule-list1¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm)# rule-list rule-list1

# ÉèÖùæÔòÁбírule-list1¹ØÁªÓû§×éguser1¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm-rule-list)# user-group guser1

# ÉèÖÃÔÊÐí¹æÔòrule1¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm-rule-list)# rule rule1 action permit

# ÉèÖÃRPC·½¹æÔòÔòÀàÐÍget¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm-rule-list-rule)# rule-type rpc-name get

Device(config-nacm-rule-list-rule)# end

(2)   ÉèÖÃÓû§user2½ö¶ÔSNMPÄ£¿£¿£¿ £¿£¿£¿£¿£¿éÓµÓн¨ÉèȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£

# ÉèÖÃÓû§user2¡£¡£¡£¡£¡£¡£¡£¡£

Device# configure terminal

Device(config)# username user2 password test12345

# ÉèÖýøÈë¼øÈ¨Ä£Ê½¡£¡£¡£¡£¡£¡£¡£¡£

Device(config)# netconf acm

# ÉèÖÃÓû§×éguser2¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm)# user-group-name guser2

# ÉèÖÃÓû§×éguser2¹ØÁªÓû§user2¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm-user-group)# user-name user2

# ÉèÖùæÔòÁбírule-list2¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm-user-group)# exit

# ÉèÖùæÔòÁбírule-list2¹ØÁªÓû§×éguser2¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm)# rule-list rule-list2

Device(config-nacm-rule-list)# user-group guser2

# ÉèÖÃÔÊÐí¹æÔòrule2¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm-rule-list)# rule rule2 action permit

# ÉèÖÃÊý¾Ý½Úµã¹æÔòÀàÐÍ£¬£¬£¬£¬£¬ £¬£¬£¬²¢ÉèÖÃÊý¾Ý½ÚµãΪSNMPÄ£¿£¿£¿ £¿£¿£¿£¿£¿éÃû¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm-rule-list-rule)# rule-type path /rg-snmp:snmp

# ÉèÖûá¼û²Ù×÷ȨÏÞΪcreate¡£¡£¡£¡£¡£¡£¡£¡£

Device(config-nacm-rule-list-rule)# access-operation create

5.    ÑéÖ¤ÉèÖÃЧ¹û

# ͨ¹ýshow netconf authorization user-name user2 user-groupÏÂÁîÉó²éÓû§user1µÄÓû§×éÐÅÏ¢¡£¡£¡£¡£¡£¡£¡£¡£

Device # show netconf authorization user-name user1 user-group

UserGroup: guser1

# ͨ¹ýshow netconf authorization user-name user2 user-groupÏÂÁîÉó²éÓû§user1µÄÓû§×éÐÅÏ¢¡£¡£¡£¡£¡£¡£¡£¡£

Device # show netconf authorization user-name user2 user-group

UserGroup: guser2

# ͨ¹ýshow netconf authorization user-name user1 rule-list detailÏÂÁîÉó²éÓû§user1¹ØÁªµÄ¹æÔòÁбíÏêϸÐÅÏ¢¡£¡£¡£¡£¡£¡£¡£¡£

Device# show netconf authorization user-name user1 rule-list detail

RuleList: rule-list1

¡¡-------------------------------------------------------------------

¡¡Rule¡¡¡¡¡¡¡¡¡¡¡¡ Action¡¡ AccessOperation¡¡ Type¡¡¡¡¡¡Entity¡¡¡¡¡¡

¡¡-------------------------------------------------------------------

¡¡rule1¡¡¡¡¡¡¡¡¡¡¡¡permit¡¡ RCUDX¡¡¡¡¡¡¡¡¡¡¡¡ RPC¡¡¡¡¡¡ get

¡¡[R:Read C:Create U:Update D:Delete X:Exec]

# ͨ¹ýshow netconf authorization user-name user2 rule-list detailÏÂÁîÉó²éÓû§user2¹ØÁªµÄ¹æÔòÁбíÏêϸÐÅÏ¢¡£¡£¡£¡£¡£¡£¡£¡£

Device# show netconf authorization user-name user2 rule-list detail

RuleList: rule-list2

¡¡-------------------------------------------------------------------

¡¡Rule¡¡¡¡¡¡¡¡¡¡¡¡ Action¡¡ AccessOperation¡¡ Type¡¡¡¡¡¡Entity¡¡¡¡¡¡

¡¡-------------------------------------------------------------------

¡¡rule2¡¡¡¡¡¡¡¡¡¡¡¡permit¡¡ -C---¡¡¡¡¡¡¡¡¡¡¡¡ PATH¡¡¡¡¡¡/rg-snmp:snmp

¡¡[R:Read C:Create U:Update D:Delete X:Exec]

6.    ÉèÖÃÎļþ

DeviceµÄÉèÖÃÎļþ

hostname Device

!

username user1 password test12345

username user2 password test12345

!

netconf acm

?user-group-name guser1

¡¡user-name user1

?user-group-name guser2

¡¡user-name user2

?rule-list rule-list1

¡¡user-group guser1

¡¡rule rule1 action permit

¡¡ rule-type rpc-name get

?rule-list rule-list2

¡¡user-group guser2

¡¡rule rule2 action permit

¡¡ access-operation create

¡¡ rule-type path /rg-snmp:snmp

!

end

¡¾ÍøÕ¾µØÍ¼¡¿¡¾sitemap¡¿