Added readme, DNAT script
This commit is contained in:
46
README.md
Normal file
46
README.md
Normal 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
12
setups/hypervisor.sh
Executable 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
|
||||||
Reference in New Issue
Block a user