flokinet-001 - Introduction to the Arista CLI
flokinet-001 - Introduction to the Arista CLI
(and a bit about how it works with containerlab and docker)
Tech Stack overview
- VM in the Hetzner Cloud (named “netlab.nanocat.net”)
- .. running Linux (Debian 11)
- .. and docker
- .. and containerlab
- containerlab creates containers based on a YAML file
- and runs EOS images (called cEOS) that I downloaded from Arista.com
- (and also tiny Linux images, to act as “PCs” in the LAB)
- (and also:)
- Azure SONIC
- Juniper cRPD
- Cumulus VX
- Keysight IXIA-C
- Nokia SR-Linux
Connecting to the lab server
- Open your favourite Terminal Emulator
- SSH to the netlab server:
-
$ ssh-keygen -R netlab.nanocat.net <- delete the cached fingerprint (lab server rebuilt frequently) $ ssh lab@netlab.nanocat.net Password: (generated fresh each week)
- List the running containerlab devices:
-
$ sudo containerlab inspect --all
- Connect to an Arista device:
-
$ sudo docker exec -it clab-device–name Cli
- .. or connect to a Linux device:
-
$ sudo docker exec -it clab-pcXX-name bash
enable and disable modes
-
You will almost always enter
enable
as your first command after logging into your EOS (or IOS) device. -
enable (privileged) mode
-
router>enable router#
- prompt#
- changes to the configuration possible
- more access to detailed
show
commands
-
-
disable (unprivileged) modes
-
router#disable router>
- prompt>
- no configuration changes possible
- safe, even for public access (search the web for “bgp looking glass telnet”)
-
? and <TAB>
-
?
and<TAB>
are used for help and command completion respectively. Try entering these commands: -
router#show ? router#show ip ? router#show ip route ? router#sh<TAB> ip ro<TAB>
-
Commands can be abbreviated to their shortest unambiguous length. Try these:
-
router#show running-config router#show running router#show run router#sh run router#sh ru
The “show” command
- Show commands tell us about the device hardware status, its protocols, software version, and so on. Try these commands:
-
show version show running-config show interface show interface status show ip interface show ip interface brief
Changing the Configuration
-
Entering “Global Configuration Mode”:
-
router#configure router(config)#
-
Configuring an interface:
-
router(config)#interface ethernet1 router(config-if-eth1)#description This interface connects to the switch router(config-if-eth1)#
-
Exiting interface configuration, back to global config, then exit config mode:
-
router(config-if-eth1)#exit router(config)#exit router#
-
Look at the configuration:
-
router#show running-config
Configuring an interface
- Configuring an IP address on an ethernet interface:
-
router#configure router(config)#interface ethernet1 router(config-if)#ip address 172.17.0.1/24 ! IP configuration will be ignored while interface Ethernet1 is not a routed port. router(config-if)#no switchport router(config-if)#exit router(config)#exit router#show ip interface brief ...
Reconfiguring an interface
- Changing an IP address on an ethernet interface:
-
router#configure router(config)#interface ethernet1 router(config-if-eth1)#ip address 10.0.0.1/24 router(config-if-eth1)#end router#show ip interface brief ...
Reconfiguring an interface, again
- Removing the IP address from an ethernet interface:
-
router#configure router(config)#interface ethernet1 router(config-if-eth1)#no ip address router(config-if-eth1)#end router#show ip int brief ...
Discovering our neighbours
- Checking our LLDP neighbours:
router#show lldp neighbor ...
- Ping another device:
-
router#ping 10.0.0.4 ...