• Author : Richard

 
 

Using eAPI to Provide SNMP Extensions

EOS utilizes net-snmp which offers provisions to extend OIDs.  The following script leverages eAPI to gather OSPFv3 interface information and populates the SNMP ospfv3IfTable. The OSPFV3-MIB can be downloaded from here: http://www.oidview.com/mibs/0/OSPFV3-MIB.html #!/usr/bin/python -u # # Arista Networks, Inc. # # Script: ospfv3IfTable.py v1.6 # # This script populates the ospfv3IfTable via a net-snmp extension # # 1. Copy this script to /mnt/flash as ospfv3IfTable.py # # 2. Copy snmp_passpersist to /mnt/flash # https://github.com/nagius/snmp_passpersist # # 3. Enable management api (script uses a unix socket) # management api http-commands # protocol unix-socket # no shutdown # # 4. Configure snmp to...
Continue reading →

Using stunnel (TLS Proxy) to secure OpenFlow on EOS

Do you have an OpenFlow controller that supports communication channel encryption via TLS and you’d like to take advantage of that option with an Arista switch? No problem! Just follow these simple steps and in mere minutes you’ll have a secure TLS connection up and running. Just imagine the look of shock and amazement on the faces of your friends, family and coworkers as you extend the capabilities of your EOS powered switch in near real time! 1) Please download Stunnel from here: http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/14/Fedora/i386/os/Packages/stunnel-4.33-1.fc14.i686.rpm   2) Copy it to flash on the switch: switch#copy scp://@//stunnel-4.33-1.fc14.i686.rpm flash:   3) Install the...
Continue reading →

Configure groups of interfaces based on description regex

A simple python eAPI script to find groups of interfaces to configure based on a regex match to interface descriptions. The most interesting part is that the script types out the “interface <list of matching interfaces>” command in an interactive manner as if the EOS CLI user typed it. The command is even saved in the command history. Give it a try!   1) Configure a command alias: alias intRegex bash sudo /mnt/flash/intRegex.py %1   2) Load the script in flash: #!/usr/bin/env python # # intRegex.py ver 1.12 # Arista Networks, Inc. import jsonrpclib, os, re, socket, sys, fcntl, termios...
Continue reading →

Securing OpenFlow with stunnel (TLS Proxy)

Do you have an OpenFlow controller that supports communication channel encryption via TLS and you’d like to take advantage of that option with an Arista switch? No problem! Just follow these simple steps and in mere minutes you’ll have a secure TLS connection up and running. Just imagine the look of shock and amazement on the faces of your friends, family and coworkers as you extend the capabilities of your EOS powered switch in near real time! 1) Please download Stunnel from here: http://dl.fedoraproject.org/pub/archive/fedora/linux/releases/14/Fedora/i386/os/Packages/stunnel-4.33-1.fc14.i686.rpm 2) Copy it to flash on the switch: switch#copy scp://@//stunnel-4.33-1.fc14.i686.rpm flash: 3) Install the RPM as...
Continue reading →

Reacting to syslog-triggered events

EOS in tandem with Python scripting can provide the network operator an invaluable tool that is driven by local log entries on the switch. The script presented here continuously monitors /var/log/messages for new entries as it contains verbose, unfiltered entries. The script then searches each log entry using the built-in Python regular expression module. When a matching entry is found (this script is looking for major errors) it saves the output of ‘show tech-support’ to internal flash. For every match, the script checks for the existence of a ‘show tech-support’ file to ensure it doesn’t create a duplicate entry for...
Continue reading →

Logging to USB or SSD

All Arista switches offer support for USB flash drives and many models support the addition of an internal SSD. Either flash can be used to store log files, TCPDump/sFlow captures, configuration history and etcetera. This particular post describes three unique methods for logging to USB or SSD. Note: The USB flash is mounted to /mnt/usb1 and the SSD is mounted to /mnt/drive Method 1 – Utilize the EOS event handler to schedule log synchronization at prescribed intervals a) Create the log file on USB or SSD: switch#bash touch /mnt/<usb1 or drive>/eoslog b) Configure the event scheduler: switch(config)#schedule synclog interval <minutes>...
Continue reading →

Follow

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

Join other followers: