-
-
Notifications
You must be signed in to change notification settings - Fork 111
Configuration Guide
This guide explains how to configure Labshock services, network settings, and volumes.
Modify docker-compose.yml as needed and restart services for changes to take effect.
You can check how to configure each service in Service specific page
Labshock uses two bridge networks:
-
l2_network(192.168.2.0/24) for Level 2 devices like PLCs. -
l3_network(192.168.3.0/24) for Level 3 devices like SCADA and engineering workstations.
To modify the network settings, change the subnet and ipv4_address fields under ipam.config in docker-compose.yml.
Example:
networks:
l2_network:
driver: bridge
ipam:
config:
- subnet: 192.168.2.0/24
l3_network:
driver: bridge
ipam:
config:
- subnet: 192.168.3.0/24Routes traffic between l2_network and l3_network.
- Change build path to modify router configurations.
- Ensure
privileged: trueis enabled.
router:
build: ./router/
privileged: true
restart: unless-stopped
networks:
l2_network:
ipv4_address: 192.168.2.254
l3_network:
ipv4_address: 192.168.3.254SCADA service uses port 1881.
- Data is stored in
scada-datavolume.
scada:
build: ./scada/
restart: unless-stopped
cap_add:
- NET_ADMIN
networks:
l3_network:
ipv4_address: 192.168.3.20
ports:
- '1881:1881'
volumes:
- scada-data:/usr/src/app/FUXA/server/_appdataPLC service runs a webserver on port 8080.
- Data is stored in
plc-datavolume.
plc:
build: ./plc/
restart: unless-stopped
cap_add:
- NET_ADMIN
networks:
l2_network:
ipv4_address: 192.168.2.10
ports:
- "8080:8080"
volumes:
- plc-data:/workdir/webserverEWS is available on port 5911.
- Uses
ews-datavolume for persistent storage.
ews:
build: ./ews/
cap_add:
- NET_ADMIN
restart: unless-stopped
networks:
l3_network:
ipv4_address: 192.168.3.11
ports:
- "5911:5911"
volumes:
- ews-data:/home/engineer/Runs on l3_network, uses port 2222, and has NET_RAW and NET_ADMIN privileges.
pentest:
build: ./pentest/
cap_add:
- NET_ADMIN
- NET_RAW
privileged: true
restart: unless-stopped
networks:
l3_network:
ipv4_address: 192.168.3.30
ports:
- "2222:22"Runs in host network mode.
ids:
build: ./ids/
network_mode: host
restart: unless-stoppedRuns on l3_network, listens on ports 2443 and 8766.
collector:
build: ./collector/
networks:
l3_network:
ipv4_address: 192.168.3.40
restart: unless-stopped
ports:
- "2443:2443"
- "8766:8766"Volumes store persistent data for SCADA, PLC, and EWS.
To change storage locations, modify the volumes mapping.
volumes:
scada-data:
plc-data:
ews-data: