more
This commit is contained in:
60
README.md
60
README.md
@@ -50,4 +50,62 @@ iptables -t nat -A POSTROUTING -o br-ext -p tcp -d 192.168.0.0/24 --dport 22
|
||||
|
||||
## Deploy
|
||||
containerlab (via vscode) & go.
|
||||
it takes about a minute for the setup to be ready (DHCP etc).
|
||||
it takes a good minute (with 50 workstations) for the setup to be ready (DHCP etc).
|
||||
to create a csv of the online-users, run
|
||||
`echo "IP,host,username,pwd"; cat online-users.txt | awk -F' +' 'BEGIN{OFS=","} {$1=$1; print}'`
|
||||
on linux-gateway.
|
||||
|
||||
## prep workshop
|
||||
once the lab is deployed and the online-users.txt is built, generate the cards to print out:
|
||||
|
||||
### generate CSV
|
||||
`(echo "IP,host,username,pwd"; cat online-users.txt | awk -F' +' 'BEGIN{OFS=","} {$1=$1; print}') > credentials.csv`
|
||||
|
||||
### csv2cards script
|
||||
```
|
||||
#!/usr/bin/env bash
|
||||
# csv2cards.sh → html
|
||||
CSV=${1:-credentials.csv}
|
||||
OUT=${2:-cards.html}
|
||||
|
||||
# start the document
|
||||
cat >"$OUT" <<'EOF'
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Credentials cards</title>
|
||||
<style>
|
||||
@page { size: A4 portrait; margin: 1cm; }
|
||||
body { font-family: monospace; display: flex; flex-wrap: wrap; gap: 0.5cm; }
|
||||
.card {
|
||||
width: 9cm; /* fits 2‑3 cards across A4 */
|
||||
border: 1px solid #333;
|
||||
padding: 0.3cm;
|
||||
box-sizing: border-box;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
.field { margin: 0.1cm 0; }
|
||||
.label { font-weight: bold; }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
EOF
|
||||
|
||||
# read CSV, skip header, emit a <div class="card"> per line
|
||||
awk -F',' 'NR>1{
|
||||
printf "<div class=\"card\">\n"
|
||||
printf " <div class=\"field\"><span class=\"label\">IP:</span> %s</div>\n", $1
|
||||
printf " <div class=\"field\"><span class=\"label\">Host:</span> %s</div>\n", $2
|
||||
printf " <div class=\"field\"><span class=\"label\">User:</span> %s</div>\n", $3
|
||||
printf " <div class=\"field\"><span class=\"label\">Pass:</span> %s</div>\n", $4
|
||||
printf "</div>\n"
|
||||
}' "$CSV" >>"$OUT"
|
||||
|
||||
# close the document
|
||||
cat >>"$OUT" <<'EOF'
|
||||
</body>
|
||||
</html>
|
||||
EOF
|
||||
```
|
||||
download html, print from browser. Should be automatically A4.
|
||||
|
||||
Reference in New Issue
Block a user