Added readme, DNAT script

This commit is contained in:
2025-11-04 22:16:55 +01:00
parent 3ddbd81e68
commit 25475ec6e5
2 changed files with 58 additions and 0 deletions

46
README.md Normal file
View File

@@ -0,0 +1,46 @@
## Setup
### build docker image for linux:
```
cd ~/labs/sshworkshop
docker build -t workshop-debian:v1 .
```
### 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
```

12
setups/hypervisor.sh Executable file
View File

@@ -0,0 +1,12 @@
#!/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