220 lines
8.2 KiB
YAML
220 lines
8.2 KiB
YAML
# topology documentation: http://containerlab.dev/lab-examples/single-srl/
|
|
name: sshworkshop
|
|
topology:
|
|
kinds:
|
|
nokia_srlinux:
|
|
type: ixrd3
|
|
image: ghcr.io/nokia/srlinux
|
|
arista_ceos:
|
|
image: ceos-lab:4.32.0.1F
|
|
linux:
|
|
image: workshop-debian:v1
|
|
network-mode: none
|
|
binds:
|
|
- ./config/names-hashes.yml:/etc/workshopnames.yml:ro
|
|
- ./config/authorized_keys:/root/.ssh/authorized_keys:ro
|
|
- ./setups/linux.sh:/usr/local/bin/setup.sh:ro
|
|
- ./helpers/fireworks.sh:/usr/local/bin/fireworks.sh:ro
|
|
- ./helpers/ssh-agent-environment.sh:/usr/local/bin/ssh-agent-environment.sh:ro
|
|
- ./config/keyuploader-identity:/var/lib/misc/keyuploader-identity:ro
|
|
memory: 256MB
|
|
cpu-set: 4-7
|
|
nodes:
|
|
a1:
|
|
kind: arista_ceos
|
|
enforce-startup-config: true
|
|
startup-config: |
|
|
management telnet
|
|
no shutdown
|
|
!
|
|
management ssh
|
|
ciphers 3des-cbc
|
|
key-exchange diffie-hellman-group1-sha1 diffie-hellman-group14-sha1
|
|
!
|
|
interface Ethernet3
|
|
no switchport
|
|
ip address 169.254.45.1/30
|
|
!
|
|
management api http-commands
|
|
protocol http
|
|
no shutdown
|
|
!
|
|
username admin privilege 15 secret horse123
|
|
|
|
br-clab-intonly:
|
|
kind: bridge
|
|
br-ext:
|
|
kind: bridge
|
|
linux-gw:
|
|
kind: linux
|
|
# network-mode: "bridge"
|
|
binds:
|
|
- ./config/dnsmasq.conf:/etc/dnsmasq.conf:ro
|
|
- ./setups/gateway.sh:/usr/local/bin/setup.sh:ro
|
|
- ./config/names-hashes.yml:/etc/workshopnames.yml:ro
|
|
- ./helpers/online-users.sh:/usr/local/bin/online-users.sh:ro
|
|
jumphost1:
|
|
kind: linux
|
|
binds:
|
|
- ./setups/jumphost.sh:/usr/local/bin/setup.sh:ro
|
|
- ./config/names-hashes.yml:/etc/workshopnames.yml:ro
|
|
- ./helpers/fireworks.sh:/usr/local/bin/fireworks.sh:ro
|
|
memory: 4GB
|
|
cpu-set: 2-3
|
|
jumphost2:
|
|
kind: linux
|
|
binds:
|
|
- ./setups/jumphost.sh:/usr/local/bin/setup.sh:ro
|
|
memory: 1GB
|
|
webserver1:
|
|
kind: linux
|
|
# network-mode: "bridge"
|
|
binds:
|
|
- ./namepicker/webserver.py:/usr/local/bin/webserver.py:ro
|
|
- ./setups/webserver.sh:/usr/local/bin/setup.sh:ro
|
|
memory: 1GB
|
|
webserver2:
|
|
kind: linux
|
|
# network-mode: "bridge"
|
|
binds:
|
|
- ./namepicker/webserver.py:/usr/local/bin/webserver.py:ro
|
|
- ./setups/webserver.sh:/usr/local/bin/setup.sh:ro
|
|
memory: 1GB
|
|
linux1: {kind: linux}
|
|
linux2: {kind: linux}
|
|
linux3: {kind: linux}
|
|
linux4: {kind: linux}
|
|
linux5: {kind: linux}
|
|
linux6: {kind: linux}
|
|
linux7: {kind: linux}
|
|
linux8: {kind: linux}
|
|
linux9: {kind: linux}
|
|
linux10: {kind: linux}
|
|
linux11: {kind: linux}
|
|
linux12: {kind: linux}
|
|
linux13: {kind: linux}
|
|
linux14: {kind: linux}
|
|
linux15: {kind: linux}
|
|
linux16: {kind: linux}
|
|
linux17: {kind: linux}
|
|
linux18: {kind: linux}
|
|
linux19: {kind: linux}
|
|
linux20: {kind: linux}
|
|
linux21: {kind: linux}
|
|
linux22: {kind: linux}
|
|
linux23: {kind: linux}
|
|
linux24: {kind: linux}
|
|
linux25: {kind: linux}
|
|
linux26: {kind: linux}
|
|
linux27: {kind: linux}
|
|
linux28: {kind: linux}
|
|
linux29: {kind: linux}
|
|
linux30: {kind: linux}
|
|
linux31: {kind: linux}
|
|
linux32: {kind: linux}
|
|
linux33: {kind: linux}
|
|
linux34: {kind: linux}
|
|
linux35: {kind: linux}
|
|
linux36: {kind: linux}
|
|
linux37: {kind: linux}
|
|
linux38: {kind: linux}
|
|
linux39: {kind: linux}
|
|
linux40: {kind: linux}
|
|
linux41: {kind: linux}
|
|
linux42: {kind: linux}
|
|
linux43: {kind: linux}
|
|
linux44: {kind: linux}
|
|
linux45: {kind: linux}
|
|
linux46: {kind: linux}
|
|
linux47: {kind: linux}
|
|
linux48: {kind: linux}
|
|
linux49: {kind: linux}
|
|
linux50: {kind: linux}
|
|
linux51: {kind: linux}
|
|
linux52: {kind: linux}
|
|
linux53: {kind: linux}
|
|
linux54: {kind: linux}
|
|
linux55: {kind: linux}
|
|
linux56: {kind: linux}
|
|
linux57: {kind: linux}
|
|
linux58: {kind: linux}
|
|
linux59: {kind: linux}
|
|
linux60: {kind: linux}
|
|
linux61: {kind: linux}
|
|
linux62: {kind: linux}
|
|
linux63: {kind: linux}
|
|
linux64: {kind: linux}
|
|
|
|
links:
|
|
# - endpoints: ["a1:eth1","br-clab:eth1"]
|
|
- endpoints: [ "linux-gw:eth1", "br-ext:gw1" ]
|
|
- endpoints: [ "linux-gw:eth2", "br-clab-intonly:gw2" ]
|
|
- endpoints: [ "linux-gw:eth3", "jumphost1:eth0" ]
|
|
- endpoints: [ "jumphost1:eth1", "webserver1:eth1" ]
|
|
- endpoints: [ "jumphost1:eth2", "jumphost2:eth0" ]
|
|
- endpoints: [ "jumphost2:eth1", "webserver2:eth1" ]
|
|
- endpoints: [ "jumphost2:eth2", "a1:eth3" ]
|
|
- endpoints: [ "linux1:eth0", "br-clab-intonly:l1" ]
|
|
- endpoints: [ "linux2:eth0", "br-clab-intonly:l2" ]
|
|
- endpoints: [ "linux3:eth0", "br-clab-intonly:l3" ]
|
|
- endpoints: [ "linux4:eth0", "br-clab-intonly:l4" ]
|
|
- endpoints: [ "linux5:eth0", "br-clab-intonly:l5" ]
|
|
- endpoints: [ "linux6:eth0", "br-clab-intonly:l6" ]
|
|
- endpoints: [ "linux7:eth0", "br-clab-intonly:l7" ]
|
|
- endpoints: [ "linux8:eth0", "br-clab-intonly:l8" ]
|
|
- endpoints: [ "linux9:eth0", "br-clab-intonly:l9" ]
|
|
- endpoints: [ "linux10:eth0", "br-clab-intonly:l10" ]
|
|
- endpoints: [ "linux11:eth0", "br-clab-intonly:l11" ]
|
|
- endpoints: [ "linux12:eth0", "br-clab-intonly:l12" ]
|
|
- endpoints: [ "linux13:eth0", "br-clab-intonly:l13" ]
|
|
- endpoints: [ "linux14:eth0", "br-clab-intonly:l14" ]
|
|
- endpoints: [ "linux15:eth0", "br-clab-intonly:l15" ]
|
|
- endpoints: [ "linux16:eth0", "br-clab-intonly:l16" ]
|
|
- endpoints: [ "linux17:eth0", "br-clab-intonly:l17" ]
|
|
- endpoints: [ "linux18:eth0", "br-clab-intonly:l18" ]
|
|
- endpoints: [ "linux19:eth0", "br-clab-intonly:l19" ]
|
|
- endpoints: [ "linux20:eth0", "br-clab-intonly:l20" ]
|
|
- endpoints: [ "linux21:eth0", "br-clab-intonly:l21" ]
|
|
- endpoints: [ "linux22:eth0", "br-clab-intonly:l22" ]
|
|
- endpoints: [ "linux23:eth0", "br-clab-intonly:l23" ]
|
|
- endpoints: [ "linux24:eth0", "br-clab-intonly:l24" ]
|
|
- endpoints: [ "linux25:eth0", "br-clab-intonly:l25" ]
|
|
- endpoints: [ "linux26:eth0", "br-clab-intonly:l26" ]
|
|
- endpoints: [ "linux27:eth0", "br-clab-intonly:l27" ]
|
|
- endpoints: [ "linux28:eth0", "br-clab-intonly:l28" ]
|
|
- endpoints: [ "linux29:eth0", "br-clab-intonly:l29" ]
|
|
- endpoints: [ "linux30:eth0", "br-clab-intonly:l30" ]
|
|
- endpoints: [ "linux31:eth0", "br-clab-intonly:l31" ]
|
|
- endpoints: [ "linux32:eth0", "br-clab-intonly:l32" ]
|
|
- endpoints: [ "linux33:eth0", "br-clab-intonly:l33" ]
|
|
- endpoints: [ "linux34:eth0", "br-clab-intonly:l34" ]
|
|
- endpoints: [ "linux35:eth0", "br-clab-intonly:l35" ]
|
|
- endpoints: [ "linux36:eth0", "br-clab-intonly:l36" ]
|
|
- endpoints: [ "linux37:eth0", "br-clab-intonly:l37" ]
|
|
- endpoints: [ "linux38:eth0", "br-clab-intonly:l38" ]
|
|
- endpoints: [ "linux39:eth0", "br-clab-intonly:l39" ]
|
|
- endpoints: [ "linux40:eth0", "br-clab-intonly:l40" ]
|
|
- endpoints: [ "linux41:eth0", "br-clab-intonly:l41" ]
|
|
- endpoints: [ "linux42:eth0", "br-clab-intonly:l42" ]
|
|
- endpoints: [ "linux43:eth0", "br-clab-intonly:l43" ]
|
|
- endpoints: [ "linux44:eth0", "br-clab-intonly:l44" ]
|
|
- endpoints: [ "linux45:eth0", "br-clab-intonly:l45" ]
|
|
- endpoints: [ "linux46:eth0", "br-clab-intonly:l46" ]
|
|
- endpoints: [ "linux47:eth0", "br-clab-intonly:l47" ]
|
|
- endpoints: [ "linux48:eth0", "br-clab-intonly:l48" ]
|
|
- endpoints: [ "linux49:eth0", "br-clab-intonly:l49" ]
|
|
- endpoints: [ "linux50:eth0", "br-clab-intonly:l50" ]
|
|
- endpoints: [ "linux51:eth0", "br-clab-intonly:l51" ]
|
|
- endpoints: [ "linux52:eth0", "br-clab-intonly:l52" ]
|
|
- endpoints: [ "linux53:eth0", "br-clab-intonly:l53" ]
|
|
- endpoints: [ "linux54:eth0", "br-clab-intonly:l54" ]
|
|
- endpoints: [ "linux55:eth0", "br-clab-intonly:l55" ]
|
|
- endpoints: [ "linux56:eth0", "br-clab-intonly:l56" ]
|
|
- endpoints: [ "linux57:eth0", "br-clab-intonly:l57" ]
|
|
- endpoints: [ "linux58:eth0", "br-clab-intonly:l58" ]
|
|
- endpoints: [ "linux59:eth0", "br-clab-intonly:l59" ]
|
|
- endpoints: [ "linux60:eth0", "br-clab-intonly:l60" ]
|
|
- endpoints: [ "linux61:eth0", "br-clab-intonly:l61" ]
|
|
- endpoints: [ "linux62:eth0", "br-clab-intonly:l62" ]
|
|
- endpoints: [ "linux63:eth0", "br-clab-intonly:l63" ]
|
|
- endpoints: [ "linux64:eth0", "br-clab-intonly:l64" ] |