Guacamole App Anmeldung geht - aber dann Verbindungsfehler

Guten Tag!

ich konnte schon einige hilfreiche Tipps hier finden, um die Guacamole Cool-Solution zu entfernen, um dann die Guacamole App zu installieren, aber kurz vorm Ziel stecke ich fest.

Die Guacamole Adresse lässt sich im Browser öffnen, es erscheint eine Login Seite, ich kann mich anmelden, anschließend tauchen die RDP und SSH Verbindungen auf, welche ich definiert habe. Wenn ich dann auf eine drauf klicke erscheint im Browser für einen kurzen Moment “Verbindungsaufbau zu Guacamole, bitte warten…” und dann gleich diese Fehlermeldung:

Die Verbindung wurde aufgrund eines interen Fehlers im Guacamole Server beendet. Sollte dieses Problem weiterhin bestehen informieren Sie den Systemadministrator oder überprüfen Sie die Protokolle.

in den Docker Logs ist folgendes zu sehen

docker logs -ft --details guacamole_guacamole_1
2019-07-15T14:58:09.701220640Z  16:58:09.700 [http-nio-8080-exec-1] INFO  o.a.g.r.auth.AuthenticationService - User "mauzadm" successfully authenticated from [192.168.20.14, 172.17.42.1].
2019-07-15T14:58:13.897516656Z  16:58:13.896 [http-nio-8080-exec-1] ERROR o.a.g.s.GuacamoleHTTPTunnelServlet - HTTP tunnel request failed: java.net.ConnectException: Connection refused (Connection refused)

docker logs -ft --details guacamole_guacd_1                                                                                                                                                                  [16:59:14]
2019-07-15T14:30:04.534127649Z  guacd[1]: INFO:	Guacamole proxy daemon (guacd) version 0.9.13-incubating started
2019-07-15T14:30:04.534157911Z  guacd[1]: INFO:	Listening on host 0.0.0.0, port 4822

In der LDAP Konfig für RDP habe ich nur einen Parameter angegeben:
hostname=192.168.20.79

Was ich bisher erfolglos probiert habe:

  • andere RDP Ziele im selben internen Netz
  • /etc/hosts im Dockercontainer ergänzt
  • statt RDP eine SSH Verbindung eingerichtet
  • Guacamole App neu installiert
  • Server neu gestartet

Was den größten Fortschritt brachte:

docker network disconnect guacamole_default guacamole_guacamole_1
docker network disconnect guacamole_default guacamole_guacd_1
docker network connect bridge guacamole_guacd_1
docker network connect bridge guacamole_guacamole_1
univention-app info                                                                                                                                                                                          [18:20:50]
UCS: 4.4-0 errata186
Installed: adconnector=12.0 cups=2.2.1 dhcp-server=12.0 m23=19.1-44 mailserver=12.0 samba-memberserver=4.7 self-service=4.0 4.3/guacamole=0.9.13-univention14
Upgradable: 

Hätte noch jemand eine Idee dieses Rätsel zu lösen?

Gruß,
Dirk

Hallo Dirk,
scheinbar kann die guacamole webapp nicht mit dem guacd kommunizieren.
Was sagt :

docker network ls
docker network inspect "GUACAMOLE NETWORKID"

Beste Grüße
pider

Moin pider,

danke schon mal für die Reaktion.
Meinst Du mit “GUACAMOLE NETWORKID” das guacamole_default Netzwerk? Unmittelbar nach der Installation kam nicht mal die Anmeldeseite. Daraufhin habe ich beide Conatiner mit der Docker Bridge verbunden…

root@srvucs01:/root # docker network ls                                                                                                                                                                                           
NETWORK ID          NAME                DRIVER              SCOPE
7f370537b0be        bridge              bridge              local
dae4a0df8642        docker_lan          macvlan             local
f4cc32d0e3a9        guacamole_default   bridge              local
faac33c521aa        host                host                local
aeb32c21cf20        none                null                local


root@srvucs01:/root # docker ps                                                                                                                                                                                                   
CONTAINER ID        IMAGE                                                                   COMMAND                  CREATED             STATUS                  PORTS                     NAMES
c74f1d2b8b69        docker.software-univention.de/guacamole-guacamole:0.9.13-univention13   "/opt/guacamole/bi..."   17 hours ago        Up 17 hours             0.0.0.0:40001->8080/tcp   guacamole_guacamole_1
033d92acbc89        docker.software-univention.de/guacamole-guacd:0.9.13-univention13       "/usr/local/sbin/g..."   17 hours ago        Up 17 hours             4822/tcp                  guacamole_guacd_1
be2e9672da30        pihole/pihole:latest                                                    "/s6-init"               2 months ago        Up 38 hours (healthy)                             pihole


root@srvucs01:/root # docker network inspect guacamole_default                                                                                                                                                                   
[
    {
        "Name": "guacamole_default",
        "Id": "f4cc32d0e3a9a4d186eb78c74f20babc2f1b6e85a07ad55351c228c75748d573",
        "Created": "2019-07-14T00:14:08.492407713+02:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {},
        "Options": {},
        "Labels": {}
    }
]


root@srvucs01:/root # docker network inspect bridge                                                                                                                                                                               [10:10:24]
[
    {
        "Name": "bridge",
        "Id": "7f370537b0be9a9338b7c11591ee708f910d57b653676c1e8b8c243953044755",
        "Created": "2019-07-14T19:09:08.571665487+02:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.42.1/16",
                    "Gateway": "172.17.42.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {
            "033d92acbc89fe04a847229ef3e76c2c7258402991a95922bf9a569e0f794045": {
                "Name": "guacamole_guacd_1",
                "EndpointID": "db397fd025b6ba2a630d78cd84333c9fae5321c5c543de975a4e79e372d69246",
                "MacAddress": "02:42:ac:11:00:01",
                "IPv4Address": "172.17.0.1/16",
                "IPv6Address": ""
            },
            "c74f1d2b8b698d566165354811211ff48cc67ee6a9da5191ca6e545201be77b6": {
                "Name": "guacamole_guacamole_1",
                "EndpointID": "dacdf47de01d9395948ac3da8ec5367c41655e89e5273f992bc2d55798e6e9c0",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.17.0.2/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
            "com.docker.network.bridge.name": "docker0",
            "com.docker.network.driver.mtu": "1500"
        },
        "Labels": {}
    }
]

Ok, die guacamole container haben keine Verbindung mit dem guacamole_default netzwerk.
Meine default config sieht so aus:

docker network inspect guacamole_default 
[
    {
        "Name": "guacamole_default",
        "Id": "f9a2b047a7a97f6ee76d62ca25034a111583fc682b41ff87a32349c94e0458dc",
        "Created": "2019-03-27T15:52:01.854109805+01:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.18.0.0/16",
                    "Gateway": "172.18.0.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {
            "88e488528e89fe7ad6ee68b56131f850027695673d00c21f561127dedfb9c87e": {
                "Name": "guacamole_guacamole_1",
                "EndpointID": "4f2246c466a3f0b14650bbdf222d70ad9d5e1c08e746884f13836ad8052a6d12",
                "MacAddress": "02:42:ac:12:00:02",
                "IPv4Address": "172.18.0.2/16",
                "IPv6Address": ""
            },
            "f18a9ecf7973b647dc987da0e97f9e23cf1c717bd6c53f033918341da8d10826": {
                "Name": "guacamole_guacd_1",
                "EndpointID": "ed5301ce0abefa0bd6aab62ce9ce03d356e3daadb8b6041f86b05a0e32395de2",
                "MacAddress": "02:42:ac:12:00:03",
                "IPv4Address": "172.18.0.3/16",
                "IPv6Address": ""
            }
        },
        "Options": {},
        "Labels": {}
    }
]

Und das bridge netzwerk

docker network inspect bridge
[
    {
        "Name": "bridge",
        "Id": "34ac0c970e2133b6cf7e86e0d084653546b0b99a7dbe4c981621212e953a9dc8",
        "Created": "2019-07-14T23:53:48.287695812+02:00",
        "Scope": "local",
        "Driver": "bridge",
        "EnableIPv6": false,
        "IPAM": {
            "Driver": "default",
            "Options": null,
            "Config": [
                {
                    "Subnet": "172.17.42.1/16",
                    "Gateway": "172.17.42.1"
                }
            ]
        },
        "Internal": false,
        "Attachable": false,
        "Containers": {
            "068183e9f8fe9561ffd9e63bf5c6883ffec6ff6b69f83538d143ed1d1cc0a026": {
                "Name": "happy_hamilton",
                "EndpointID": "39ec825ff15d42cd713d7fb576b06c4193f58c4d13d97c02ef8f165132a8e3fa",
                "MacAddress": "02:42:ac:11:00:04",
                "IPv4Address": "172.17.0.4/16",
                "IPv6Address": ""
            },
            "701af015db4c513f1091b9687ac5ef65b023fe3455e8083a04b3317d155ea537": {
                "Name": "happy_einstein",
                "EndpointID": "e16fcb8c77d4892670be2f6db79424f2988cbc812d4c5ba578db8f02844c6db2",
                "MacAddress": "02:42:ac:11:00:03",
                "IPv4Address": "172.17.0.3/16",
                "IPv6Address": ""
            },
            "9f5df08086e2136c5f872952fc4ca3037a5b7f9a1d13853b54273a68e9d9f228": {
                "Name": "sad_mclean",
                "EndpointID": "981624ee333acc57a529f3cf9e973b4dc4d631e435b6a91979e615c2368fa5a1",
                "MacAddress": "02:42:ac:11:00:02",
                "IPv4Address": "172.17.0.2/16",
                "IPv6Address": ""
            },
            "f18a9ecf7973b647dc987da0e97f9e23cf1c717bd6c53f033918341da8d10826": {
                "Name": "guacamole_guacd_1",
                "EndpointID": "e1bf48d578f7dbfbef8d5ec0430262052805bc3a994967e135606dfd6723b3a9",
                "MacAddress": "02:42:ac:11:00:01",
                "IPv4Address": "172.17.0.1/16",
                "IPv6Address": ""
            }
        },
        "Options": {
            "com.docker.network.bridge.default_bridge": "true",
            "com.docker.network.bridge.enable_icc": "true",
            "com.docker.network.bridge.enable_ip_masquerade": "true",
            "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
            "com.docker.network.bridge.name": "docker0",
            "com.docker.network.driver.mtu": "1500"
        },
        "Labels": {}
    }
]

Servus pider,

bei dir sind die Guacamole Container mit “guacamole_default” verbunden und " guacamole_guacd_1" zusätzlich mit der bridge. Das habe ich eben probiert, dann klappt bei mir nicht mal mehr die Anmeldung - schade.

Gruß,
Dirk

Mir fällt auf du hast ein eigenes docker_lan ?

dae4a0df8642        docker_lan          macvlan             local

Das habe ich in meinem setup nicht.
Was sagen die iptables bei dir in der FORWARD Policy ?

Das docker_lan habe ich angelegt, wegen pihole. Das ist ein kleiner DNS Server der Webtracking per DNS ins Nirvana umleitet (sehr zu empfehlen). Damit es keine Konflikte mit dem UCS DNS gibt, habe ich das so gelöst.

root@srvucs01:/root # iptables -S FORWARD                                                                                                                                                                                        
-P FORWARD ACCEPT
-A FORWARD -j DOCKER-ISOLATION
-A FORWARD -o docker0 -j DOCKER
-A FORWARD -o docker0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i docker0 ! -o docker0 -j ACCEPT
-A FORWARD -i docker0 -o docker0 -j ACCEPT

Hast du schonmal ein docker exec -it ID /bin/bash in die guacamole webapp gemacht und geschaut ob du den guacd container überhaupt erreichst und ggf. mal die ENV Variablen gecheckt?

Hallo pider!

vielen Dank für das stellen der richtigen Fragen :slight_smile:
Ich hatte ja im Container “guacamole_guacamole_1” bereits die Datei /etc/hosts ergänzt und zwar mit
192.168.20.60 guacd

Da habe ich irrtümlicherweise die IP vom UCS Server eingetragen, es muss aber die IP des guacd Docker Container sein, also so:
172.17.0.2 guacd

Zusammenfassend kann ich sagen, dass nach der Installation mit

univention-app install guacamole

noch diese 5 Kommandos bei mir nötig waren:

docker network disconnect guacamole_default guacamole_guacamole_1
docker network disconnect guacamole_default guacamole_guacd_1
docker network connect bridge guacamole_guacd_1
docker network connect bridge guacamole_guacamole_1
univention-app shell guacamole bash -c 'echo "172.17.0.2     guacd" >> /etc/hosts'

Ciao,
Dirk

1 Like

Super, freut mich das es geklappt hat.
Grüße,
pider

Ich hätte noch zwei Anmerkungen zu dieser Angelegenheit.

  1. Nach mehreren Guacamole Installationen muss ich feststellen, dass der Docker Conatiner mit guacd auch eine andere IP Adresse haben kann, z.B. 172.17.0.1
    Dementsprechend sieht das Kommando für die hosts Datei so aus:
univention-app shell guacamole bash -c 'echo "172.17.0.1     guacd" >> /etc/hosts'
  1. Die Anpassung der hosts datei überlebt einen Neustart des Docker Container leider nicht. Das habe ich selbst noch nicht gelöst.
Mastodon