• Category : Tech Tips

 
 

BGP Peering – Configuration Best Practices – Security and Manageability

      BGP Peering – Configuration Best Practices – – – – – – – – – – – – – – – – Security and Manageability       1) Introduction This article provides suggestions of BGP peering configuration, with general best practices and some particular considerations for manageability and security.     2) Arista EOS Security – General   It is recommended to approach security not only specifically for BGP but to englobe other aspects of security for Arista EOS. More global security topics are covered in other articles, listed below. The present article focuses solely on...
Continue reading →

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

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 an BGP IPv4 VPN control plane with a MPLS data plane BGP control plane, new address family to advertise...
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 →

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

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 2-tuple of Endpoint and color. Endpoint here refers to a destination prefix while color is a 32-bit BGP extended...
Continue reading →

Monitoring some agent’s memory utilisation

  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, in which case some culprit agent may be restarted, or some other agent may suffer a restart too (collateral damage) by the process scheduler. Examples...
Continue reading →

IP static route with health check

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 3 seconds, i3 – interval 3 seconds, 1.1.1.1 – ping check ip.   configuration:==============event-handler...
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

  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 use of the script more accessible without digging into reading the script itself.   1.2) Purpose Ping is commonly used for manual health check across a network, and in particular from a network device itself to have a good picture of a network health from its perspective. Obviously...
Continue reading →

Virtual IPs in Vxlan and need for vVTEP

Objective Objective of this Document is to contrast the differences in the behaviour of “ip address virtual” and “ip virtual-router address” in VxLan and to understand the need for virtual VTEP IP with or without L2 VTEP in a network. Topology VXLAN Direct Routing Model Virtual IP in SVI 100: 100.100.100.50 Virtual IP in SVI 200: 200.200.200.50 Virtual MAC: 0011.2233.4455 VARP VTEP IP (VVTEP): 5.5.5.5/32 Underlay Protocol used: OSPF Types of Virtual IPs: Types of Virtual IPs usually configured with Vxlan: 1) ip virtual-router address 2) ip address virtual RULE-1 : If ethernet source MAC of original/naked frame is “PHYSICAL”...
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

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 a delay in seconds. With the particular customer, I was working with they wanted to shut down a mirror session when a bandwidth threshold was reached. The main reason for the custom event-handler was because they were heavily oversubscribing a mirror session destination and were worried about affecting their production traffic. In the scenario, they had several...
Continue reading →

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

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 centre network CI pipeline that will run through a sequence of stages to build and test every new configuration change. Introduction Let’s take a typical data centre leaf-spine network as an example and let’s assume that Leaf-1/2 and Spine-1/2 are already built...
Continue reading →

How to Automate MAC Address Lookups

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 is connected to...
Continue reading →

Provisioning Cloud Vision Portal on AWS

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 with appropriate privileges to create and access EC2 instances, DNS and NTP services. 2) Access to Arista.com Software...
Continue reading →

Arista Any Cloud Platform – vEOS Router in Azure Deployment Guide

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 the transit-edge or hub-spoke architecture. This particular document provides a step-by-step guide to deploy vEOS Router in a transit-edge architecture in the Azure public cloud. Overview Arista’s private and public cloud infrastructure both offer significant efficiencies that make it a compelling option for workload placement.   We have proven this in the private cloud with a simple yet scalable Spine/Leaf topology utilizing industry standard protocols across all of Arista switches. With...
Continue reading →

DHCP Snooping

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 Option-82 information in...
Continue reading →

DHCP Smart Relay

Introduction EOS DHCP relay agent forwards all the DHCP requests from the clients using the primary IP address of the interface as the ‘giaddr’ in the relayed/forwarded requests even when there are secondary IP addresses configured on the interface and there are multiple IP address pools from secondary IP subnets with available addresses on the server. DHCP smart relay feature supports forwarding requests with secondary IP addresses in the gateway address ‘giaddr’ field. This allows the DHCP server offer addresses to client requests with gateway addresses from secondary IP subnets configured on the interface. The smart relay agent keeps track...
Continue reading →

DHCP Relay

Introduction DHCP Relay feature forwards DHCP packets between client and server when DHCP server is not in the same broadcast domain as client. DHCP Relay should be configured on the gateway interface (SVI/ L3 interface ) for the clients. DHCP Relay agent creates a new unicast DHCP packet and sets the giaddr field to the ‘primary’ IP address of the interface on which DHCP request packet is received. The modified request packet is then relayed to one or more configured DHCP servers. DHCP server assigns ip address to client from the pool corresponding to giaddr field. Platform Compatibility Supported on...
Continue reading →

Follow

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

Join other followers: