Nicholas Morrison - Networking Specialist

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 [email protected]
    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
    ...