• Blog

 
 

Applying Hot Patches to EOS Software with CloudVision Portal

Maintaining a secure posture within any enterprise is a difficult task. This task can be particularly difficult on the network infrastructure due to a variety of reasons including software quality and network downtime availability. Arista’s unique software architecture has often enabled most security patches to be delivered as hot patches that can be applied to a live running system with low to no impact to the network dataplane eliminating some of the most difficult challenges with maintaining a secure software posture. The only challenge that remains is the effort required to distribute these software patches. In this article, we are...
Continue reading →

IPv4 & IPv6 MPLS VPN Configuration Guide

ContentsIPv4 and IPv6 VPN OverviewDiagramsIPv4 & IPv6 VPN Sample Topology OverviewConfiguring & Verifying the IP VPNs Appendix A:  Router Configurations. IPv4 and IPv6 VPN Overview   RFC 4364 allows for Service Providers and Enterprises to use their backbone infrastructure to provide the services to multiple such customers, or internal departments, while: Maintaining privacy Allowing for IP address overlap amongst customers Constrained route distribution – so that only the service provider routers which need the routes have them.   This is achieved through the usage of VRFs, Route Distinguishers and Route-Targets   The IPv4/IPv6 VPN Standard RFC 4364 does the following: Specifics...
Continue reading →

Writing your own webhook relay – sending event alerts to Discord

Writing your own webhook relay – sending event alerts to Discord   Introduction Starting from version 2018.2.0, CVP supports configuring event alerts, where receivers can be email, Slack, PagerDuty, webhooks and others. The purpose of this article is to demonstrate how easy it is to write your own webhook relay app that will forward alerts to your favorite webhook endpoint, in my case, a Discord channel. Discord is getting more and more popular, not only amongst gamers, but also lots of companies started to use it. I’ve been using it for a couple of years now, and it made sense...
Continue reading →

Deploy a Transit VPC with vEOS using IGW (Public IP)

Deploy a Transit VPC with vEOS using IGW (Public IP) fanyang@arista.com   This document focuses on the steps to build a Transit VPC solution using Internet Gateway (IGW) vs. VPC peering. There are certain advantages to use IGW as transport. This eliminate the limits on how many VPC peering can be created and gives customer a larger scale deployment. It also enables spoke VPCs to communicate with each other directly with one hop, which can potentially save data cost. Besides, even it’s public ip to public ip communication, if both IPs belong to AWS, AWS will route the traffic through...
Continue reading →

BGP Peering – Configuration Best Practices – Security and Manageability

      ContentsBGP Peering – Configuration Best PracticesSecurity and Manageability1) Introduction2) Arista EOS Security – General3) BGP Security – overviewBGP protocol TTLBGP connections to the control-planeAS-Path filteringPrefix filteringBGP protocol peer ASN4) BGP security with Prefix filteringGuidance on prefix-list for Arista EOSRoute-map hierarchy can helpBogons listsBogons lists to use on Arista EOS[short] source-seed.txt [short] standalone.cfg[full] seed_ipv4.txt, seed_ipv6.txt5) BGP connections to the control-plane5.a) Copy the default control-plane ACL5.b) Tune the new ACL to restrict BGP (and other protocols)5.c) Apply the new control-plane ACL6) Maximum accepted routes7) BGP authentication8) Improved Visibility8.1) BMP – BGP Monitoring Protocol8.2) Streaming8.3) SNMP9) BGP Convergence – BFD10) Additional Filtering10.1) Private...
Continue reading →

Traffic Generator on Arista

The following tools can be used to generate traffic on Arista switches for testing purposes :– Iperf – Ethxmit Both Iperf and Ethxmit tools are pre-installed on Arista switches and no additional configuration is required to use them.                                                                                                                              ...
Continue reading →

Traffic Engineering with Segment Routing and sFlow

ContentsIntroductionComponents7280R Series PlatformYaBGP ControllersFlow-RTTopologyTraffic EngineeringThe ScriptPushing a Common Segment ListIdentifying Top-talker Altering Traffic Path of Top-TalkerBGP Labeled Unicast (LU) ExampleReferences Introduction Segment Routing (SR) solves a number of issues the existing MPLS IP networks face. Among the many benefits of Segment Routing, Traffic Engineering is a key one. Based on live telemetry events, traffic can be steered intelligently across a network using MPLS label paths a.k.a segment lists. The example discussed in this article shows how you can leverage BGP SR policy to alter traffic paths based on sFlow telemetry data. An SR Policy, discussed in detail here, is identified using a...
Continue reading →

Monitoring some agent’s memory utilisation

  ContentsMonitoring some agent’s memory utilisation1) Introduction2) Check memory with EOS commands3) Monitor with telemetry4) Monitor with SNMP5) Check with Bash commands6) Remediation (last resort only)Credits Monitoring some agent’s memory utilisation   This article develops further https://eos.arista.com/introduction-to-managing-eos-devices-memory-utilisation/ authored by Colin MacGiollaEain to bring the context to a specific agent’s memory utilisation and how to remediate.   1) Introduction Monitoring the memory usage of specific EOS processes maybe useful to detect which features consume the control-plane resources, as a first step to clarify whether it is a normal behaviour or not. In abnormal circumstances the overall system may be running low on memory,...
Continue reading →

IP static route with health check

ContentsIntroductionConfiguration1. Create ping check script on-boot:2. Create trigger on-logging to add/delete ip static route:NoteReferences  Introduction The purpose is to simplify ip static route with health check does_it_live.py script, it’s easy to enable this feature quickly without complicated programming. This feature leverages the Reachability Health Checks document ( https://eos.arista.com/reachability-health-checks/ ) and does_it_live.py  ( https://github.com/alexisdacquay/does_it_live ) which was made by Alexis Dacquay. Due to Reachability Health Checks(does_it_live.py) support rich parameters, there are mode(icmp/dns), interval, timeout, dampening, source. We just take it and use it. Configuration The following configuration commands have been added as part of this feature support: 1. Create ping check script on-boot: t3 – timeout...
Continue reading →

Verify EOS 3rd party software versions

  EOS includes a Linux kernel, GNU tools, and other 3rd party software. EOS make use of some of such 3rd party software and you might want to verify the version they run. Note: not every 3rd party software is actively used by default. If you have a particular concern in mind regarding 3rd party software version then you must refer to the Arista security advisories page: https://www.arista.com/en/support/advisories-notices/security-advisories   3rd party software Bash CLI command to verify the version EOS version 4.15.1F 4.17.1F 4.18.2F 4.20.10M  4.21.0F Bash bash –version 4.1.16(1) 4.3.42(1) 4.3.42(1) 4.3.42(1) 4.3.42(1) DNSmasq dnsmasq -v 2.59 2.59 2.59 2.77 2.77...
Continue reading →

Reachability Health Checks

  Contents1) Introduction1.1) does_it_live.py1.2) Purpose2) Use cases2.1) ICMP2.2) DNS resolution3) Features3.1) Dampening4) Syntax5) Defaults6) Installation6.1) Requirements6.2) Install instructions6.2.1) Acquire the srcipt file6.2.2) Load the file on the switch6.2.4) Install DNSPython (online with pip)6.2.5) Install DNSPython (offline with the package)6.2.6) Verify the pip installation of DNSpython6.2.7) Verify the package installation 1) Introduction 1.1) does_it_live.py This article describes a script called does_it_live, used to monitor the health of network targets, by testing IP reachability (by ICMP) and name resolution (by DNS). While some people might understand the Python code and find it self-explanatory and well documented, this articles aims at making the...
Continue reading →

Virtual IPs in Vxlan and need for vVTEP

ContentsObjectiveTopologyTypes of Virtual IPs:When using “ip virtual-router address”:When using “ip address virtual”:ARP REPLY SYNC:Source IP NAT feature while using “ip address virtual”Packet Structure after NAT:Support in Non-default VRF:Does NAT occurs when we initiate ping from remote host to it’s Gateway (Virtual IP on VTEPs) ?Why do we need VVTEP?1. To avoid MAC flaps on L2 vtep:2. To avoid ARP flaps on end hosts:3. To avoid multiple ARP repliesPacket captures to understand difference in ARP request/replies with and without VVTEPTest cases when VVTEP is configured on SW1 and SW2 (L3VTEP)Test cases when VVTEP is NOT configured: Objective Objective of this Document...
Continue reading →

CloudVision Appliance Deployment Recommendations

CloudVision Appliance Introduction CloudVision Appliance is a physical appliance that runs CentOS base image and hosts one instance of each CloudVision Portal (CVP) and CloudVision eXchange (CVX) using KVM hypervisor. It comes with 4X1G NICs. The virtual NICs on CVP, CVX VMs are mapped to the physical NICs 1-4 as follows: For additional details, refer to CloudVision Appliance quick start guide here. Deployment Recommendations 1. Ensure that you are running the latest version of the host image; this provides updated OS packages and security patches. The current version of the host image can be checked using the following command from...
Continue reading →

Arista Custom Event Handler To Take Action Based On Interface Utilization

ContentsIntroductionConfiguration1. Create the Event Handler:2. Define the trigger action: 3. Define the delay in seconds before running the action:4. Enter the “asynchronous” command:5. Define the trigger:6. Verify that the above configuration:7. Let’s verify that the mirror session is active:8. Now let’s test our Event Handler:9. Verify that the desired behavior was achieved when the trigger threshold was met: Introduction An EOS event handler executes a Linux Bash shell command in response to a specific system event. An event handler consists of a Bash command, a trigger and a delay; when the trigger event occurs, the action is scheduled to run after...
Continue reading →

Network CI/CD Part 3 – Building a network CI pipeline with Gitlab, Ansible, cEOS, Robot Framework and Batfish

ContentsPreviously on Network CI/CD…IntroductionCI/CD environment overviewStage 1 – Building device configurationsStage 2 – Network analysis with BatfishStage 3 – Testing and verification with Robot FrameworkStage 4 – Dry-running the change and generating diffsStage 5 – Pushing to production and generating state diffsOutro Previously on Network CI/CD… We’ve kicked off this series with an overview of cEOS-lab and different container orchestration tools that can be used for network simulations. In the second post we’ve seen how to automate network verification and testing with Arista’s Robot framework library. In this final post, we’ll put it all together to demonstrate a simple data...
Continue reading →

An Exercise in Troubleshooting With CVP Telemetry

In a previous post, I demonstrated the ability of CVP Telemetry to do automatic analytics and event correlation.  While each release of CVP includes additional analytic, event correlation, and visualization capabilities, there are still situations for which there is not yet automatic correlation. In this post, we are going to investigate a network problem and identify the root cause using telemetry data.  The lab topology is a layer3 spine-leaf topology with 2 spines and 6 leafs configured as 3 MLAG pairs. As stated in the previous post, Cloud Tracer is a very useful tool for tracking the operational status of...
Continue reading →

How to Automate MAC Address Lookups

ContentsIntroductionIssueEOS Locate MACSetupExample Introduction MAC addresses are often overlooked, compared to higher layers of the OSI model, but they are a necessity in the transfer of data across the network. MAC addresses are unique in nature, with the vendor OUI portion of the MAC, and the client portion of the MAC. There are many reasons why locating a device is necessary, a few of them are: A device is causing adverse affects to the network and the port needs to be shutdown A port needs to be re-configured for a new device, but it is not known where the device...
Continue reading →

Provisioning Cloud Vision Portal on AWS

ContentsIntroductionPre-RequisitesSteps to provision CloudVision Portal on AWSSection A : EC2 Setup for CVPSection B: CVP Shell Based InstallationReferences Introduction This article demonstrates provisioning CloudVision Portal on AWS. With the release of CVP version 2018.x and upgrade of CVP platform to CentoOS 7.4, Cloud Vision Portal can be installed on CentOs servers with an RPM based script. This article specifically covers provisioning of CVP on the AWS EC2 Cloud platform. With CVP running on AWS users can easily manage AWS/OnPrem EOS instances from AWS and run analysis on CVP Telemetry/Compliance information with other AWS services and tools. Pre-Requisites 1) AWS account...
Continue reading →

Arista Any Cloud Platform – vEOS Router in Azure Deployment Guide

ContentsIntroductionOverviewPrerequisitesTopologyDeployment GuideDeploying vEOS with a pre-defined templateAzure LoginLaunch Instance in VNET-TransitLaunch Instance in edge1-VNETLaunching a host VM in VNET-edge1VNET PeeringCreating the Overlay Tunnel between the edge1-VNET and the transit-VNETConfigure an IPsec tunnel and BGP on veos-transit:Connecting to edge1-veosConfiguring IPsec and BGP on edge1-veosDeploying vEOS without using a pre-defined templateCreating a Subnet in edge1-RG/edge1-VNETLaunch a vEOS Router Instance Attaching additional network interfacesDeploying vEOS with Azure CLIvEOS Router Startup-Configuration using Instance Custom-DataTips for Azure deployment Introduction In this document, we will demonstrate the deployment of Arista’s vEOS Router in Microsoft Azure. A vEOS Router can be leveraged to implement various Azure architectures such as...
Continue reading →

DHCP Snooping

ContentsIntroductionPlatform CompatibilityShow commandsTroubleshootingLimitation Introduction EOS supports DHCP Relay feature, which relays DHCP Requests/Responses between DHCP clients and DHCP servers in different subnets. However, DHCP server does not have visibility of where the request originated from and can only make IP address allocation decisions based on the client MAC address alone (client MAC address is included in the DHCP packet as part of the payload). To remedy that, DHCP Option-82 was formalized to allow relay agent to include Remote ID and Circuit ID so that DHCP server can apply more intelligent allocation policy. Switch intercepts DHCP requests from client and insert...
Continue reading →

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: