This project provides a hands-on lab environment for understanding and experimenting with VXLAN-EVPN (Ethernet VPN) technology. Using ContainerLab, the lab sets up a VXLAN topology featuring 1 spine and 2 leaves nodes. The lab can be deployed directly on a PC with ContainerLab installed or through a DevContainer environment.
Here is a schema of the topology:
The project directory is structured as follows:
hosts
: Directory containing host configuration files for the lab.network_images/ceos-lab-4.32.0.1F.tar.xz
: Container image used for the lab nodes.lab_vxlan.yml
: YAML file describing the VXLAN lab topology.
- Docker and Docker Compose (for DevContainer setup).
- ContainerLab installed either on the host or within the DevContainer.
- Basic understanding of networking and VXLAN-EVPN concepts.
-
DevContainer Setup (Optional):
If using DevContainer, ensure Docker and Docker Compose are installed on your machine.
Open the project in a compatible IDE (like Visual Studio Code) and start the DevContainer environment. -
ContainerLab Setup:
- Direct Installation: Install ContainerLab on your host machine. Follow the official installation guide.
- Via Terraform: Documentation available here.
-
Start the Lab:
-
Navigate to the project directory.
-
Add the Arista image to Docker:
docker import network_images/cEOS64-lab-4.32.0.1F.tar.xz ceos:4.32.0.1F
-
Deploy the lab topology:
sudo containerlab deploy -t lab_vxlan.yml
-
-
Once the lab is deployed, you can access the individual nodes (spines and leaves) via CLI or SSH to configure and test VXLAN-EVPN functionalities.
-
Use the
hosts
directory to modify or apply specific configurations for end user hosts -
To list the nodes deployed via the
lab_vxlan.yml
:containerlab inspect --name vxlan-evpn-irb
-
Example command to configure a VXLAN interface:
show bgp summary
The configurations to apply on each node are listed here.
To install the VLAN package on Alpine Linux hosts 1 and 2, follow these steps:
apk add vlan