Ëæ×ÅÍøÂç¹æÄ£µÄÔö´ó¡¢ÖØ´óÐÔµÄÔöÌíºÍÒì¹¹ÐÔµÄÔöÇ¿£¬£¬£¬£¬£¬£¬£¬£¬¹Å°åµÄIPÍøÂçÖÎÀíÐÒéSNMP£¨Simple Network Management Protocol£¬£¬£¬£¬£¬£¬£¬£¬¼òÆÓÍøÂçÖÎÀíÐÒ飩¶ÔÄ¿½ñÖØ´óÍøÂçµÄÖÎÀí±äµÃÔ½À´Ô½ÄÑÌ⣬£¬£¬£¬£¬£¬£¬£¬ÓÈÆäÎÞ·¨Öª×ãÉèÖÃÖÎÀíÒÔ¼°´óÐÍÍøÂçµÄÓ¦ÓÃϵͳ¿ª·¢·½ÃæµÄÐèÇ󡣡£¡£¡£¡£¡£¡£¡£ÎªÁËÌî²¹SNMPµÄȱ·¦£¬£¬£¬£¬£¬£¬£¬£¬IETF×éÖ¯ÖÆ¶©»ùÓÚXML£¨Extensible Markup Language£¬£¬£¬£¬£¬£¬£¬£¬¿ÉÀ©Õ¹±ê¼ÇÓïÑÔ£©µÄÍøÂçÖÎÀíÉèÖÃÐÒ顪¡ªNETCONF£¨Network Configuration Protocol£¬£¬£¬£¬£¬£¬£¬£¬ÍøÂçÉèÖÃÐÒ飩¡£¡£¡£¡£¡£¡£¡£¡£ËüÌṩÁËÒ»Öֿɱà³ÌµÄ¡¢¶ÔÍøÂç×°±¸¾ÙÐÐÉèÖúÍÖÎÀíµÄÒªÁì¡£¡£¡£¡£¡£¡£¡£¡£¸ÃÐÒéʹÓÃXMLÃûÌõı¨ÎÄÉèÖòÎÊý¡¢»ñÈ¡²ÎÊýÖµ¡¢»ñȡͳ¼ÆÐÅÏ¢µÈ£¬£¬£¬£¬£¬£¬£¬£¬¾ßÓÐÓÅÒìµÄÀ©Õ¹ÐÔ£¬£¬£¬£¬£¬£¬£¬£¬Ê¹ÍøÂç×°±¸µÄÉèÖÃÖÎÀíÊÂÇé±äµÃ¸ü¼òÆÓ¸ü¸ßЧ¡£¡£¡£¡£¡£¡£¡£¡£
NETCONFµÄͨѶģʽ½ÓÄÉC/Sģʽ£¬£¬£¬£¬£¬£¬£¬£¬×°±¸ÉÏÔËÐÐÐÒéµÄ·þÎñÆ÷³ÌÐò£¬£¬£¬£¬£¬£¬£¬£¬Óû§ÔËÐÐÐÒéµÄ¿Í»§¶Ë³ÌÐò¡£¡£¡£¡£¡£¡£¡£¡£ÐÒ鱨ÎÄÃûÌÃΪXMLÃûÌ㬣¬£¬£¬£¬£¬£¬£¬°üÀ¨ËùÓÐÉèÖÃÊý¾ÝºÍÐÒéÐÂΞùΪXMLÃûÌᣡ£¡£¡£¡£¡£¡£¡£ÓëISO/OSI·Ö²ãÀàËÆ£¬£¬£¬£¬£¬£¬£¬£¬NETCONFÐÒéÓÉÏÂÖÁÉÏ·ÖΪËIJ㣺´«Êä²ã¡¢RPC²ã¡¢²Ù×÷²ã¡¢ÄÚÈݲ㡣¡£¡£¡£¡£¡£¡£¡£Èçͼ1-1Ëùʾ¡£¡£¡£¡£¡£¡£¡£¡£
ͼ1-1 NETCONFµÄÐÒé½á¹¹Í¼

´«Êä²ãΪNETCONFÐÒéÌṩÇå¾²´«ÊäͨµÀ£¬£¬£¬£¬£¬£¬£¬£¬Ê¹ÓÃSSH¡¢SOAPºÍBEEPµÈÇå¾²ÐÒ飬£¬£¬£¬£¬£¬£¬£¬Ä¿½ñÒ»Ñùƽ³£Ê¹ÓÃSSHÐÒé¡£¡£¡£¡£¡£¡£¡£¡£
RPC²ãÌṩÁËÒ»¸ö¼òÆÓµÄ¡¢Óë´«ÊäÐÒéÎ޹صĻúÖÆ£¬£¬£¬£¬£¬£¬£¬£¬°üÀ¨Ò»Ð©¹ýʧ·´ÏìÐÂÎÅÔªËØµÄ»®¶¨¡£¡£¡£¡£¡£¡£¡£¡£RPC²ã½ç˵ÁËÈýÖÖÐÂÎÅÀàÐÍ£º
l Hello£ºÔÚNETCONF¿Í»§¶ËÓë·þÎñÆ÷¸Õ½¨Éè»á»°Ê±Íê³ÉÄÜÁ¦¼¯½»Á÷¡£¡£¡£¡£¡£¡£¡£¡£
l RPCºÍRPC-Reply£ºRPCÊÇNETCONF¿Í»§¶ËÌᳫµÄ·¢Ë͸ø·þÎñÆ÷µÄÇëÇóÐÂÎÅ£»£»£»£»£»£»RPC-ReplyÊÇNETCONF·þÎñÆ÷ÏìÓ¦¿Í»§¶ËµÄÏìÓ¦Êý¾Ý£¬£¬£¬£¬£¬£¬£¬£¬²»¿É×Ô¶¯Ìᳫ£¬£¬£¬£¬£¬£¬£¬£¬½öÄÜÔÚÊÕµ½RPCÖ®ºó»Ø¸´£¬£¬£¬£¬£¬£¬£¬£¬ÇÒ±ØÐèЯ´øÓëÊÕµ½µÄRPCÏàͬµÄmessage-id¡£¡£¡£¡£¡£¡£¡£¡£
l Notification£ºÒÔ¶©ÔÄ·½·¨¾ÙÐÐÐÂÎÅ֪ͨ¡£¡£¡£¡£¡£¡£¡£¡£
RPCÖÐÓ¦ÓõĻùÀ´Ô´Óï²Ù×÷¼¯£¬£¬£¬£¬£¬£¬£¬£¬½ç˵ÁË9ÖÖ»ù´¡µÄ²Ù×÷ÒªÁì¡£¡£¡£¡£¡£¡£¡£¡£
l »ñÈ¡Êý¾Ý²Ù×÷£ºget¡¢get-config¡£¡£¡£¡£¡£¡£¡£¡£
l ÉèÖòÙ×÷£ºedit-config¡¢copy-config¡¢delete-config¡£¡£¡£¡£¡£¡£¡£¡£
l ¶Ô×°±¸ÁÙ½ç×ÊÔ´£¨ÉèÖÃÎļþµÈ£©²¢·¢²Ù×÷ʱµÄËø±£»£»£»£»£»£»¤£ºlock¡¢unlock¡£¡£¡£¡£¡£¡£¡£¡£
l ¿¢Ê»Ự²Ù×÷£ºclose-session¡¢kill-session¡£¡£¡£¡£¡£¡£¡£¡£
ÄÚÈݲãÊDZ»ÖÎÀíµÄÊý¾Ý¹¤¾ßÜöÝÍ¡£¡£¡£¡£¡£¡£¡£¡£ÄÚÈݲãÊÇNETCONFÐÒéÏÖÔÚΨһûÓб»±ê×¼»¯¡¢Ã»ÓÐͳһÊý¾ÝÄ£×ӵIJ㡣¡£¡£¡£¡£¡£¡£¡£
˵Ã÷
aggame¹ÙÍø²úƷʹÓÃYANG¶ÔÊý¾Ý½¨Ä££¬£¬£¬£¬£¬£¬£¬£¬Ê¹ÓÃXML´«ÊäÊý¾Ý¡£¡£¡£¡£¡£¡£¡£¡£
ͼ1-2 NETCONF»á»°½»»¥±¨ÎÄʾÒâͼ

NETCONF»á»°µÄ½»»¥¹ýÈçͼ1-2Ëùʾ£¬£¬£¬£¬£¬£¬£¬£¬¿ÉÒÔ·ÖΪÈý²¿·Ö¡£¡£¡£¡£¡£¡£¡£¡£
(1) NETCONF´«Êä²ãÒÀÀµÓÚSSHÐÒé¡£¡£¡£¡£¡£¡£¡£¡£×°±¸ÉÏNETCONF·þÎñ¶ËÆô¶¯NETCONFÀú³Ìºó£¬£¬£¬£¬£¬£¬£¬£¬½¨ÉèÒ»¸ö¼àÌý¶Ë¿Ú¡£¡£¡£¡£¡£¡£¡£¡£
(2) ·þÎñ¶Ë¼àÌý830¶Ë¿Ú£¬£¬£¬£¬£¬£¬£¬£¬½¨ÉèSSHͨµÀ£º¾ÓÉһϵÁеĴ«ÊäËã·¨ÐÉÌ£¨ÆäÖаüÀ¨ÃÜÔ¿ÐÉÌ¡¢Ñ¹ËõËã·¨¡¢¹þÏ£Ëã·¨¡¢¼ÓÃÜËã·¨¡¢ÊðÃûËã·¨µÈ£©ºÍÓû§ÈÏÖ¤ºó½¨ÉèSSHͨµÀ¡£¡£¡£¡£¡£¡£¡£¡£
(3) NETCONF´«Êä²ãµÄÅþÁ¬»á»°½¨É裬£¬£¬£¬£¬£¬£¬£¬NETCONF¿Í»§¶Ë¿ÉÒÔͨ¹ýÕâ¸ö»á»°Í¬NETCONF·þÎñÆ÷¾ÙÐн»»¥¡£¡£¡£¡£¡£¡£¡£¡£
˵Ã÷
ÐÒé»®¶¨NETCONFĬÈϵÄSSH TCP¶Ë¿ÚÊÇ830£¬£¬£¬£¬£¬£¬£¬£¬¿ÉÒÔÆ¾Ö¤ÏÖÕæÏàÐÎ×ÔÐÐÉèÖÃNETCONF SSH TCP¶Ë¿Ú¡£¡£¡£¡£¡£¡£¡£¡£
NETCONF»á»°½¨Á¢ÅþÁ¬Ö®ºó£¬£¬£¬£¬£¬£¬£¬£¬Ë«·½Á¬Ã¦Í¨¹ýÏ໥·¢ËÍHello±¨ÎÄÌṩ¸÷×ÔʵÏÖµÄÄÜÁ¦¼¯£¬£¬£¬£¬£¬£¬£¬£¬¶Ô×Ô¼º²»Ã÷È·µÄ»òÕßûÓÐʵÏÖµÄÄÜÁ¦¾ÙÐкöÂÔ¡£¡£¡£¡£¡£¡£¡£¡£¿ÉÊÇË«·½¶¼±ØÐèÖ§³ÖÐÒé»ù±¾ÄÜÁ¦£¨urn:ietf:params:netconf:base:1.1£©¡£¡£¡£¡£¡£¡£¡£¡£ÈôÊÇÐèÒª¼æÈݾÉÐÒé°æ±¾£¬£¬£¬£¬£¬£¬£¬£¬Ë«·½»¹ÐèÒªÖ§³Ö¾ÉÐÒé»ù±¾ÄÜÁ¦£¨urn:ietf:params:netconf:base:1.0£©¡£¡£¡£¡£¡£¡£¡£¡£×îÖÕÈ¡µÃÒ»¸öÁ½Í·ÊµÏÖÄÜÁ¦µÄ½»¼¯£¬£¬£¬£¬£¬£¬£¬£¬ÒÔ¾ÙÐкóÐøµÄÊý¾Ý²Ù×÷ÓëÖÎÀí¡£¡£¡£¡£¡£¡£¡£¡£
×¢ÖØ
¡ñ ½»Á÷µÄÄÜÁ¦Öµ³ýÁËÔÚNETCONF RFCÖнç˵µÄ¡°ÄÜÁ¦¡±Í⣬£¬£¬£¬£¬£¬£¬£¬¿ª·¢Ö°Ô±¿ÉÒÔͨ¹ý×ñÕÕRFCÖÐÐÎòµÄ¹æ·¶ÃûÌÃÌí¼ÓÌØÁíÍâ¡°ÄÜÁ¦¡±¡£¡£¡£¡£¡£¡£¡£¡£
¡ñ ¿Í»§¶Ë·¢¸ø·þÎñ¶ËµÄÄÜÁ¦½»»¥±¨ÎÄ£¬£¬£¬£¬£¬£¬£¬£¬²»µÃ´øÓлỰID½Úµã£¨<session-id>£©¡£¡£¡£¡£¡£¡£¡£¡£
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²Ù×÷²»ÔÊÐí¹Ø±ÕÄ¿½ñ»á»°¡£¡£¡£¡£¡£¡£¡£¡£
NETCONF¼øÈ¨»úÖÆÓÃÓÚÖÎÀíÌØ¶¨Óû§Ö´ÐÐNETCONF²Ù×÷ºÍ»á¼ûNETCONF×ÊԴȨÏÞ£¬£¬£¬£¬£¬£¬£¬£¬Ê¹ÕâЩÓû§Ö»ÄÜÖ´Ðлò»á¼ûNETCONFÐÒé»®¶¨µÄ²Ù×÷ºÍÊý¾Ý½ÚµãÐÅÏ¢¡£¡£¡£¡£¡£¡£¡£¡£
ȱʡÇéÇéÐÎÏ£¬£¬£¬£¬£¬£¬£¬£¬Ã»ÓÐÉèÖÃNETCONF¼øÈ¨¹¦Ð§£¬£¬£¬£¬£¬£¬£¬£¬ÈÏÖ¤Óû§¾ßÓÐËùÓÐNETCONFȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£Ö§³ÖµÄ»á¼ûȨÏÞÈçÏ£º
l Create£ºÔÊÐíºÍեȡÌí¼ÓеÄÊý¾Ý½Úµã¡£¡£¡£¡£¡£¡£¡£¡£
l Read£ºÔÊÐíºÍեȡ¶ÁÈ¡Êý¾Ý½ÚµãÐÅÏ¢¡£¡£¡£¡£¡£¡£¡£¡£
l Update£ºÔÊÐíºÍեȡ¸üÐÂÊý¾Ý½Úµã¡£¡£¡£¡£¡£¡£¡£¡£
l Delete£ºÔÊÐíºÍեȡɾ³ýÊý¾Ý½Úµã¡£¡£¡£¡£¡£¡£¡£¡£
l Exec£ºÔÊÐíºÍեȡËùÓеÄÐÒé²Ù×÷¡£¡£¡£¡£¡£¡£¡£¡£
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¡£¡£¡£¡£¡£¡£¡£¡£
ÆäËûÇéÐÎÔòÊǶÔÏêϸģ¿£¿£¿£¿£¿£¿£¿£¿éϵÄÊý¾Ý½ÚµãȨÏÞ¿ØÖÆ¡£¡£¡£¡£¡£¡£¡£¡£
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È¡´ú¡£¡£¡£¡£¡£¡£¡£¡£
NETCONFÉèÖÃʹÃüÈçÏ£º
(1) ÉèÖÃNETCONF·þÎñÆ÷Óë¿Í»§¶Ë¾ÙÐÐͨѶ
(2)
£¨¿ÉÑ¡£¡£¡£¡£¡£¡£¡£¡£©ÉèÖÃNETCONF¼øÈ¨
ÔÚNETCONF·þÎñÆ÷¶Ë¿ªÆôNETCONF¹¦Ð§£¬£¬£¬£¬£¬£¬£¬£¬Óë¿Í»§¶ËÄܹ»Õý³£Í¨Ñ¶£¬£¬£¬£¬£¬£¬£¬£¬ÊµÏÖÖÎÀíÍøÂç×°±¸µÄÄ¿µÄ¡£¡£¡£¡£¡£¡£¡£¡£
l Ö´ÐÐnetconf yang multi-revisionÏÂÁ£¬£¬£¬£¬£¬£¬£¬±ØÐèÔÚNETCONF·þÎñ¶ËÄÜÁ¦±¨ÎÄ£¨Hello£©Í¨¸æÖ®Ç°ÉèÖᣡ£¡£¡£¡£¡£¡£¡£
l Ö´ÐÐno netconf yang multi-revisionÏÂÁ£¬£¬£¬£¬£¬£¬£¬±ØÐèÔÚNETCONF·þÎñ¶ËÄÜÁ¦±¨ÎÄ£¨Hello£©Í¨¸æÖ®Ç°ÉèÖ㬣¬£¬£¬£¬£¬£¬£¬ÇÒÄÜÁ¦Í¨¸æ±¨ÎÄÖÐÒ»¸öYANGÄ£¿£¿£¿£¿£¿£¿£¿£¿éֻͨ¸æËüÄ¿½ñ×îа汾¡£¡£¡£¡£¡£¡£¡£¡£
l ÑÏ¿áУÑéģʽ¿ÉÄܻᵼÖ²¿·ÖÔÚÇáÁ¿¼¶Ð£ÑéģʽÏ¿ÉÒÔÏ·¢µÄXML±»×èµ²¡£¡£¡£¡£¡£¡£¡£¡£
NETCONFÐÒé³ÐÔØÔÚSSHÐÒéÉÏ£¬£¬£¬£¬£¬£¬£¬£¬Òò´ËÔÚʹÓÃNETCONF¹¦Ð§Ö®Ç°£¬£¬£¬£¬£¬£¬£¬£¬ÐèÒªÔÚ×°±¸ÉÏÏÈÉèÖÃSSH¡£¡£¡£¡£¡£¡£¡£¡£ÉèÖÃÇë²Î¿¼¡°SSHÉèÖᱡ£¡£¡£¡£¡£¡£¡£¡£
(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¡£¡£¡£¡£¡£¡£¡£¡£
ÉèÖÃNETCONF¼øÈ¨»úÖÆÓÃÓÚÖÎÀíÌØ¶¨Óû§Ö´ÐÐNETCONF²Ù×÷ºÍ»á¼ûNETCONF×ÊԴȨÏÞ£¬£¬£¬£¬£¬£¬£¬£¬Ê¹ÕâЩÓû§Ö»ÄÜÖ´Ðлò»á¼ûNETCONFÐÒé»®¶¨µÄ²Ù×÷ºÍÊý¾Ý½ÚµãÐÅÏ¢¡£¡£¡£¡£¡£¡£¡£¡£
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) ½øÈëÌØÈ¨Ä£Ê½¡£¡£¡£¡£¡£¡£¡£¡£
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 } * }
ȱʡÇéÐÎÏ£¬£¬£¬£¬£¬£¬£¬£¬Î´ÉèÖùæÔòµÄ»á¼û²Ù×÷ȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£
¿ÉÒÔͨ¹ý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 |
¹ØÓÚÇå¾²ÐÔ¡¢¿ÉÀ©Õ¹ÐÔÒªÇó¸ßµÄÍøÂç×°±¸ÖÎÀíÐèÇ󣬣¬£¬£¬£¬£¬£¬£¬¿ÉÒÔʹÓÃNETCONF×÷ÎªÍø¹Ü¹¤¾ß¡£¡£¡£¡£¡£¡£¡£¡£NETCONFµÄ³ÐÔØÐÒéΪSSHÐÒ飬£¬£¬£¬£¬£¬£¬£¬SSHÐÒé×÷ΪӦÓòãµÄÇå¾²ÐÒ飬£¬£¬£¬£¬£¬£¬£¬°ü¹ÜÁËNETCONFµÄÇå¾²ÐÔ¡£¡£¡£¡£¡£¡£¡£¡£ÒÔͼ1-3ΪÀý£¬£¬£¬£¬£¬£¬£¬£¬Óû§Í¨¹ýNETCONFÍøÂçÖÎÀíÈí¼þ£¬£¬£¬£¬£¬£¬£¬£¬À´¶ÔÍøÂç×°±¸¾ÙÐÐÖÎÀíºÍ¼à¿Ø¡£¡£¡£¡£¡£¡£¡£¡£
ͼ1-3 NETCONF×éÍøÍ¼

l ÉèÖÃNETCONF·þÎñ¶ËµÄÍøÂçÖÎÀí¿ÚIPµØµã£¬£¬£¬£¬£¬£¬£¬£¬°ü¹ÜNETCONFµÄ¿Í»§¶ËÓë·þÎñ¶ËÖ®¼äÈý²ã·Óɿɴ¡£¡£¡£¡£¡£¡£¡£
l ÔÚNETCONF·þÎñ¶ËÉϰ²ÅÅSSH¹¦Ð§¡£¡£¡£¡£¡£¡£¡£¡£
l ÔÚNETCONF·þÎñ¶ËÉÏÉèÖÃNETCONF¹¦Ð§Ïà¹Ø²ÎÊý£¬£¬£¬£¬£¬£¬£¬£¬ÒÔÖª×ãÏÖʵ³¡¾°ÐèÇ󡣡£¡£¡£¡£¡£¡£¡£
l NETCONF¿Í»§¶ËÈí¼þͨ¹ýSSHÐÒéÅþÁ¬µ½NETCONF·þÎñ¶Ë£¬£¬£¬£¬£¬£¬£¬£¬ÊµÏÖ¶ÔÍøÂç×°±¸µÄÖÎÀíºÍ¼à¿Ø¡£¡£¡£¡£¡£¡£¡£¡£
# ÉèÖÃ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¿Í»§¶ËÈí¼þµÇ¼װ±¸Ê¾Àýͼ

# ͨ¹ý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
===================================================================
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
!
Óû§user1ÓµÓÐËùÓÐÄ£¿£¿£¿£¿£¿£¿£¿£¿éµÄget²Ù×÷ȨÏÞ£¬£¬£¬£¬£¬£¬£¬£¬Óû§user2ÓµÓжÔSNMPÄ£¿£¿£¿£¿£¿£¿£¿£¿éµÄ½¨ÉèȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£
ͼ1-5 NETCONF¼øÈ¨×éÍøÍ¼

ÉèÖÃÓû§user1¶ÔËùÓÐÄ£¿£¿£¿£¿£¿£¿£¿£¿é¾ßÓÐget²Ù×÷ȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£
ÉèÖÃÓû§user2½ö¶ÔSNMPÄ£¿£¿£¿£¿£¿£¿£¿£¿éÓµÓн¨ÉèȨÏÞ¡£¡£¡£¡£¡£¡£¡£¡£
(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
# ͨ¹ý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]
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