Hi, I have a docker-compose.yml with three services (guacamole, guacd, postgres). Guacamole has a port forwarding from 8085 to 8080.
If a request comes from the same network 192.168.178.0/24 (e.g. nginx reverse proxy), the correct IP address is displayed as the source IP.
If a request comes from the 192.168.2.0/24 network (e.g. a client that is allowed to enter the DMZ directly via a firewall rule; no NAT), Guacamole displays the IP of the Docker gateway as the source IP.
I’m a bit at a loss at the moment. I’m not sure why in one case the correct IP is displayed and in the other case the IP of the Docker Gateway ![]()
Thanks for any help ![]()
+---------------------+ SRC-IP: 172.22.0.1
| 192.168.2.20 |-----------------------
| Random Client | |
+---------------------+ |
| Port: 8085
+--------------------+
| 192.168.178.20 |
| Server with Docker |
+--------------------+
| Port: 8085
+---------------------+ |
| 192.168.178.50 | |
| nginx reverse proxy |-----------------------
+---------------------+ SRC-IP: 192.168.178.50
docker-compose.yml
version: '3.8'
services:
guacdb:
container_name: guacamoledb
image: postgres:15-alpine
restart: unless-stopped
environment:
...
volumes:
- './db-data:/var/lib/postgresql/data'
guacd:
container_name: guacd
image: guacamole/guacd:1.5.4
restart: unless-stopped
ports:
- 4822:4822
guacamole:
container_name: guacamole
image: guacamole/guacamole:1.5.4
restart: unless-stopped
ports:
- 8085:8080
environment:
...
depends_on:
- guacdb
- guacd
volumes:
db-data:
/etc/daemon.json
{
"debug": true,
"ipv6": false,
"userland-proxy": false
}