久しぶりにやり直したらCLIが改良されていたのと、設定をすぐ忘れるので自分用のメモです。SSH接続はできている前提。マニュアルやフォーラム等ではcURLの例が多いので、ここではPostmanの例とします。
IOS-version
CSR-1#show flash: | i .pkg
17 289154944 Jan 31 2017 23:05:47 +00:00 /bootflash/csr1000v-mono-universalk9.03.16.05.S.155-3.S5-ext.SPA.pkg
CSR-1#
CSR-1#show version | i 15
Cisco IOS Software, CSR1000V Software (X86_64_LINUX_IOSD-UNIVERSALK9-M), Version 15.5(3)S5, RELEASE SOFTWARE (fc2)
##設定
出た当初よりずいぶんすっきりしました。
IOS-config
transport-map type persistent webui https-webui
secure-server
!
username cisco privilege 15 password 0 cisco
!
virtual-service csr_mgmt
ip shared host-interface GigabitEthernet1
activate
!
no ip http server
ip http authentication local
ip http secure-server
!
transport type persistent webui input https-webui
REST-APIサービス起動とオプション設定。
IOS-rest
CSR-1(config)#remote-management
CSR-1(cfg-remote-mgmt)#?
default Set a command to its defaults
exit exit remote management configuration submode
no Negate a command or set its defaults
pnsc Prime Network Services Controller and Policy Agent configuration
restful-api RESTful API
CSR-1(cfg-remote-mgmt)#rest
CSR-1(cfg-remote-mgmt)#restful-api ?
autosave Automatic configuration saving interval
local-port Local port for secure access to RESTful API
single-session Limit RESTful API to one session at a time
<cr>
##確認
IOS-show
CSR-1#show virtual-service detail
Virtual service csr_mgmt detail
State : Activated
Package information
Name : iosxe-remote-mgmt.03.16.05.S.155-3.S5-ext.ova
Path : bootflash:/iosxe-remote-mgmt.03.16.05.S.155-3.S5-ext.ova
Application
Name : csr_mgmt
Installed version : 03.16.04
Description : CSR-MGMT
Signing
Key type : Cisco development key
Method : SHA-1
Licensing
Name : Not Available
Version : Not Available
Detailed guest status
----------------------------------------------------------------------
Process Status Uptime # of restarts
----------------------------------------------------------------------
nginx UP 0Y 0W 0D 1: 2: 2 0
climgr UP 0Y 0W 0D 1: 2: 2 0
restful_api UP 0Y 0W 0D 1: 2: 2 0
fcgicpa Down
pnscag Down
pnscdme Down
----------------------------------------------------------------------
Feature Status Configuration
----------------------------------------------------------------------
Restful API Disabled, UP
PNSC Disabled, Down
Network stats:
eth0: RX packets:1868, TX packets:6
eth1: RX packets:185, TX packets:139
Coredump file(s): lost+found
Activated profile name: None
Resource reservation
Disk : 756 MB
Memory : 512 MB
CPU : 5% system CPU
Attached devices
Type Name Alias
---------------------------------------------
NIC ieobc_1 ieobc
NIC dp_1_33 net2
Disk _rootfs
Disk /opt/var
Disk /opt/va...
Serial/shell serial0
Serial/aux serial1
Serial/Syslog serial2
Serial/Trace serial3
Watchdog watchdo...
Network interfaces
MAC address Attached to interface
------------------------------------------------------
54:0E:00:0B:0C:02 ieobc_1
00:50:56:A2:22:D3 VirtualPortGroup33
Guest interface
---
Interface: eth1
ip address: 10.71.130.57/21
---
Guest routes
---
Address/Mask Next Hop Intf.
-------------------------------------------------------------------------------
---
Resource admission (without profile) : passed
Disk space : 756MB
Memory : 512MB
CPU : 5% system CPU
VCPUs : Not specified
##POSTMANでToken取得
- トークンサービスのAPIにPOST
- ベーシック認証(ヘッダは自動補完してくれます)
- ヘッダに Accept Application/json を追加
これで実行すると、以下のようにtoken-idが返ってきます。以降はこれをX-Auth-Tokenとしてヘッダに入れると、読み書きにアクセスできます。
##POSTMANでインターフェース情報取得する例
以上です。