title: flokinet-003 - Introduction to the Arista CLI, continued |
author: Nicholas Morrison nick@nanocat.net |
draft: false |
tags: [network, workshop, arista] |
categories: [workshop] |
noindex: true |
$ ssh-keygen -R netlab.nanocat.net <- delete the cached fingerprint
(lab server rebuilt frequently)
$ ssh lab@netlab.nanocat.net
Password: (generated fresh each week)
$ sudo containerlab inspect --all
$ sudo docker exec -it clab-device–name Cli
$ sudo docker exec -it clab-pcXX-name bash
Set up a self-signed certificate + ssl profile
r5#security pki certificate generate self-signed restconf.crt key restconf.key generate rsa 2048 parameters common-name restconf
r5#config
r5(config)#management security
r5(config-mgmt-security)#ssl profile restconf
r5(config-mgmt-sec-ssl-profile-restconf)#certificate restconf.crt key restconf.key
r5(config-mgmt-sec-ssl-profile-restconf)#end
r5#
!
Create a new user. configure
, then:
!
username foo privilege 15 secret bar
aaa authorization exec default local
!
Set up RestConf. configure
, then:
!
management api restconf
transport https test
ssl profile restconf
!
look at the default control-plane ACL with
show ip access-lists default-control-plane-acl
set a new control-plane ACL. configure
,
then:
!
ip access-list my-control-plane-acl
10 permit icmp any any
20 permit ip any any tracked
30 permit udp any any eq bfd ttl eq 255
40 permit udp any any eq bfd-echo ttl eq 254
50 permit udp any any eq multihop-bfd micro-bfd sbfd
60 permit udp any eq sbfd any eq sbfd-initiator
70 permit ospf any any
80 permit tcp any any eq ssh telnet www snmp bgp https msdp ldp netconf-ssh gnmi
90 permit udp any any eq bootps bootpc ntp snmp ptp-event ptp-general rip ldp
100 permit tcp any any eq mlag ttl eq 255
110 permit udp any any eq mlag ttl eq 255
120 permit vrrp any any
130 permit ahp any any
140 permit pim any any
150 permit igmp any any
160 permit tcp any any range 5900 5910
170 permit tcp any any range 50000 50100
180 permit udp any any range 51000 51100
190 permit tcp any any eq 3333
200 permit tcp any any eq nat ttl eq 255
210 permit tcp any eq bgp any
220 permit rsvp any any
230 permit tcp any any eq 6040
240 permit tcp any any eq 5541 ttl eq 255
250 permit tcp any any eq 5542 ttl eq 255
260 permit tcp any any eq 9559
270 permit udp any any eq 8503
280 permit udp any any eq lsp-ping
290 permit udp any eq lsp-ping any
! this is the new one:
300 permit tcp any any eq 6020
!
system control-plane
ip access-group my-control-plane-acl in
!
r5#bash
Arista Networks EOS shell
[arista@r5 ~]$ curl -s GET 'https://172.16.0.x:6020/restconf/data/openconfig-interfaces:interfaces' \
--header 'Accept: application/yang-data+json' \
--insecure \
-u foo:bar
Get an interface description:
curl -s GET 'https://172.16.0.x:6020/restconf/data/openconfig-interfaces:interfaces/interface=Ethernet1/config/description' \
--header 'Accept: application/yang-data+json' \
--insecure \
-u foo:bar
Get info for a specific interface:
curl -s GET 'https://172.16.0.x:6020/restconf/data/openconfig-interfaces:interfaces/interface=Ethernet1' \
--header 'Accept: application/yang-data+json' \
--insecure \
-u foo:bar
Browse the JSON using your favourite JSON browser.