2025-11-04 22:19:09 +01:00
2025-11-04 21:10:31 +01:00
2025-11-04 21:10:31 +01:00
2025-11-04 21:10:31 +01:00
2025-11-04 22:16:55 +01:00
2025-11-04 21:10:31 +01:00
2025-11-04 21:10:31 +01:00
2025-11-04 22:19:09 +01:00

Setup

build docker image for linux:

cd ~/labs/sshworkshop
docker build -t workshop-debian:v1 .

import arista cEOS image

docker image import ~/cEOS64-lab-4.32.0.1F.tar.xz ceos-lab:4.32.0.1F

generate/ready the list of names:

cp namepicker/names.yml ~/labs/sshworkshop/names-hashes.yml

bridges on clab host

apt install bridge-utils

auto br-ext
iface br-ext inet static
    address 10.192.40.1/29
    bridge-ports none
    bridge-stp off
    bridge-fd 0

auto br-clab-intonly
iface br-clab-intonly inet manual
    bridge-ports none
    bridge-stp off
    bridge-fd 0

ifup br-ext ifup br-clab-intonly

DNAT & Co

edit & run ./setups/hypervisor.sh (change UPLINK_INTERFACE accordingly)

#!/usr/bin/env bash
UPLINK_INTERFACE="enp0s31f6"

for port in {4010..4200}; do
    ip_octet=$((port - 4000))               # 4011 → 11, … 4200 → 200
    dst_ip="192.168.0.${ip_octet}"

    iptables -t nat -A PREROUTING \
        -i "$UPLINK_INTERFACE" -p tcp -m tcp --dport "$port" \
        -j DNAT --to-destination "${dst_ip}:22"
done
iptables -t nat -A POSTROUTING     -o br-ext -p tcp -d 192.168.0.0/24 --dport 22     -j MASQUERADE

Deploy

containerlab (via vscode) & go. it takes about a minute for the setup to be ready (DHCP etc).

Description
No description provided
Readme 7.2 MiB
Languages
Shell 55.2%
Python 40.4%
Dockerfile 1.8%
JavaScript 1.3%
Less 0.7%
Other 0.6%