配置交换机与第三方控制器通信
背景信息
NETCONF over SSH模式下,第三方控制器主动与交换机建立NETCONF会话,因此必须首先在交换机上配置控制器通过NETCONF登录交换机所使用的用户账号,然后使能NETCONF功能,并配置交换机与控制器进行NETCONF通信时使用的IP地址及端口号。
如果现网对NETCONF会话的安全性要求较高,可以配置控制器和交换机之间通过Publickey认证,Publickey认证采用数字签名的方法来认证客户端。目前,交换机上可以利用RSA和DSA两种公共密钥算法实现数字签名。控制器(客户端)发送包含用户名、公共密钥和公共密钥算法的Publickey认证请求给交换机(服务器)。服务器对公钥进行合法性检查,如果不合法,则直接发送失败消息;否则,服务器利用数字签名对客户端进行认证,并返回认证成功或失败的消息。
操作步骤
- 配置VTY用户界面的支持协议类型、认证方式和用户级别。
[Quidway] user-interface vty 0 4 [Quidway-ui-vty0-4] authentication-mode aaa [Quidway-ui-vty0-4] protocol inbound ssh [Quidway-ui-vty0-4] user privilege level 15 [Quidway-ui-vty0-4] quit
- 在AAA视图下配置NETCONF用户信息。
[Quidway] aaa [Quidway-aaa] local-user client001 password irreversible-cipher abcd@123 [Quidway-aaa] local-user client001 privilege level 15 [Quidway-aaa] local-user client001 service-type api [Quidway-aaa] quit
- 在交换机上使能NETCONF功能,同时配置交换机与控制器进行NETCONF通信时使用的IP地址及端口号。
[Quidway] netconf [Quidway-netconf] source ip 192.168.10.1 port 10020 //IP地址和端口号仅作示例,现网中请根据实际情况配置。 [Quidway-netconf] quit
如果不需要配置控制器和交换机之间通过Publickey认证,则如下步骤不需要配置。
- 在控制器上配置密钥对,查看并记录其公钥部分,具体操作请参考对应控制器的操作指导。
- 将控制器上产生的公钥配置到交换机上。
[Quidway] dsa peer-public-key dsakey001 encoding-type openssh //这里以DSA加密算法为例,RSA算法的配置方法类似。 [Quidway-dsa-public-key] public-key-code begin Info: Enter "DSA key code" view, return the last view with "public-key-code end". [Quidway-dsa-key-code] 30820109 //这里假设控制器上产生的公钥如下。 [Quidway-dsa-key-code] 2820100 [Quidway-dsa-key-code] CA97BCDE 697CEDE9 D9AB9475 9E004D15 C8B95116 [Quidway-dsa-key-code] 87B79B0C 5698C582 69A9F4D0 45ED0E53 AF2EDEC1 [Quidway-dsa-key-code] A09DF4BE 459E34B6 6697B85D 2191A00E 92F3A5E7 [Quidway-dsa-key-code] FB0E73E7 F0212432 E898D979 8EAA491E E2B69727 [Quidway-dsa-key-code] 4B51A2BE CD86A144 16748D1E 4847A814 3FE50862 [Quidway-dsa-key-code] 6EB1AD81 EB49A05E 64F6D186 C4E94CDB 04C53074 [Quidway-dsa-key-code] B839305A 7F7BCE2C 606F6C91 EA958B6D AC46C12B [Quidway-dsa-key-code] 8C2B1E03 98F1C09D 3AF2A69D 6867F930 DF992692 [Quidway-dsa-key-code] 9A921682 916273FC 4DD875D4 44BC371E DDBB8F6A [Quidway-dsa-key-code] C0A4CDB3 ADDAE853 DB86B9FA DB13CCA9 D8CF6EC1 [Quidway-dsa-key-code] 530CC2F5 697C4707 90829982 4339507F F354FAF9 [Quidway-dsa-key-code] 0F9CD2C2 F7D6FF3D 901D700F F0588104 856B9592 [Quidway-dsa-key-code] 71D773E2 E76E8EEB 431FB60D 60ABC20B [Quidway-dsa-key-code] 203 [Quidway-dsa-key-code] 10001 [Quidway-dsa-key-code] peer-public-key end
- 为用户名为client001的用户分配一个已经存在的公钥。
[Quidway] netconf [Quidway-netconf] user client001 assign dsa public-key dsakey001 [Quidway-netconf] quit
- 在交换机上创建本地DSA密钥对。
[Quidway] netconf [Quidway-netconf] dsa local-key-pair create Warning: DSA keys already exist. Continue? [Y/N]:y Info: Creating the DSA keys....... Info: The DSA keys has been created. [Quidway-netconf] quit
- 在交换机上查看本地DSA密钥对中的公钥信息。
[Quidway] display netconf dsa local-key-pair public The DSA public key: ssh-dss AAAAB3NzaC1kc3MAAACBAOAWWAtGClBH4qhgm0+ntDTZVW/tR8R9Vn+rXVA8GFWM5TVUJWXFWghy4QTJqmvg+ca0znn+c2hDGDhx1yhRsduKWmOBAzIQE/1OYhMLdK0vRmceyYtSTfVNCbtAwJNOM0JPBlbim/vjp3aX3iRn6EPU7bYaJ3A8KEUZlVKh7YU5AAAAFQCQ8znriZRmpyoAVK68YPNDnKzkGQAAAIA8f1ELwIJC9J73zg6an2Hz7P3zDAqDv2mnvOuvKEbVWY3IVNhCHaX39yBl0PT2rWmXzHI6nJWEPiuoW/eJpDxNwV1OCgSN4mhG90/iOJkLKqF6UENdQWXNKbjLHYKTkKXSnpi2ibqEzrqnbkzIVbaf2a8nBDrh1CHKRhw1dQChggAAAIA7TGIupodUc1Enn3rzTNch5rL0CKL9znjFG+lyeJU39fDWSOVfgWfz4ehs48/5Zco6H9wj1seLxh3pVXYLqJvRDR6B0g/68T3aEYEKGoHeRYC3sU80lXb8s0VFae90ohOf89ULyfVt7HVE+QKkExQIj9sAo8KbR3gNkb84PM+Z9g== root@root
- 将交换机上产生的公钥配置到控制器上,部分设备支持通过交互报文将该公钥信息传递至控制器,这种情况下可以省略该步骤,按照控制器提示进行操作即可。