1
German - Deutsch / HAProxy - UDP Port 3391 weiterleiten
« on: July 25, 2023, 03:28:30 pm »
Hallo zusammen,
ich betreibe ein RDP-Gateway hinter dem HAProxy.
Dafür habe ich meine feste öffentliche IP per A-Record auf einer meiner Subdomains (gw.homepage.de) zur OPNsense geroutet.
Zur Kommunikation mit dem RDP-Gateway wird zwingend HTTPS-Port 443 benötigt (sofern man es nicht abändert) und optional UDP-Port 3391.
Grundsätzlich funktioniert das Gateway bzgl. der Port 443 Weiterleitung mit dieser Config:
Mein Problem ist, dass ich den UDP Port 3391 nicht zusätzlich zum Gateway bekomme.
Ich bin mir recht sicher, dass ich den "Real Server" Eintrag korrekt habe.
Einfach die IP des lokalen Servers ohne Portangabe damit der gleiche Port genutzt wird der vom Frontend weitergereicht wird...klappt beim Port 443 auch problemlos.
Bei Rules & Condition bin ich mir auch einigermaßen sicher...dort prüfe ich einfach auf "Host starts with" --> gw.homepage.de und dann "Use backendpool" --> Gateway-Backendpool und hinterlege die Regel im Frontend.
Beim Backend und Frontend bin ich mir allerdings unsicher.
Benötige ich ein neues Backend in dem ich wieder den "Real Server" hinterlege oder kann ich das bisherige weiter nutzen?
Ich habe gelesen, man soll den Mode von "HTTP (Layer 7)" auf "TCP (Layer 4)" im Backend ändern um den UDP Port 3391 weiterleiten zu können?
Benötige ich ein neues Frontend? Eines das auf gw.homepage.de:3391 lauscht, oder?
Muss ich dort in den Frontend-Einstellungen den Type auf "TCP" ändern anstatt HTTP/HTTPS (SSL Offloading)?
Vielleicht kann mir hier jemand Tipps zur korrekten Konfiguration geben, ich habe gefühlt schon alles durchprobiert und nie eine UDP-Verbindung aufbauen können.
Vielen Dank schon mal! Ich kann auch noch Screenshots liefern o.ä. falls dies hilft.
ich betreibe ein RDP-Gateway hinter dem HAProxy.
Dafür habe ich meine feste öffentliche IP per A-Record auf einer meiner Subdomains (gw.homepage.de) zur OPNsense geroutet.
Zur Kommunikation mit dem RDP-Gateway wird zwingend HTTPS-Port 443 benötigt (sofern man es nicht abändert) und optional UDP-Port 3391.
Grundsätzlich funktioniert das Gateway bzgl. der Port 443 Weiterleitung mit dieser Config:
Code: [Select]
#
# Automatically generated configuration.
# Do not edit this file manually.
#
global
uid 80
gid 80
chroot /var/haproxy
daemon
stats socket /var/run/haproxy.socket group proxy mode 775 level admin
nbthread 1
hard-stop-after 60s
no strict-limits
tune.ssl.default-dh-param 2048
spread-checks 2
tune.bufsize 16384
tune.lua.maxmem 0
log /var/run/log local0 info
lua-prepend-path /tmp/haproxy/lua/?.lua
ssl-default-bind-options prefer-client-ciphers ssl-min-ver TLSv1.2
ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305
ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
defaults
log global
option redispatch -1
maxconn 1000
timeout client 60s
timeout connect 60s
timeout server 60s
retries 3
default-server init-addr last,libc
default-server maxconn 1000
# autogenerated entries for ACLs
# autogenerated entries for config in backends/frontends
# autogenerated entries for stats
# Frontend: Gateway-Public-Service_Port_443 ()
frontend Gateway-Public-Service_Port_443
bind gw.homepage.de:443 name gw.homepage.de:443 ssl crt-list /tmp/haproxy/ssl/64ba7929d90698.13956110.certlist
mode http
option http-keep-alive
# logging options
# ACL: Gateway-Condition
acl acl_64ba7837e39c91.64621111 hdr_beg(host) -i gw.homepage.de
# ACTION: Gateway Rule
use_backend Gateway-Backendpool if acl_64ba7837e39c91.64621111
# Backend: Gateway-Backendpool ()
backend Gateway-Backendpool
# health checking is DISABLED
mode http
balance source
http-reuse safe
server gw.homepage.local 192.168.1.10 ssl verify required ca-file /etc/ssl/cert.pem
# statistics are DISABLED
Mein Problem ist, dass ich den UDP Port 3391 nicht zusätzlich zum Gateway bekomme.
Ich bin mir recht sicher, dass ich den "Real Server" Eintrag korrekt habe.
Einfach die IP des lokalen Servers ohne Portangabe damit der gleiche Port genutzt wird der vom Frontend weitergereicht wird...klappt beim Port 443 auch problemlos.
Bei Rules & Condition bin ich mir auch einigermaßen sicher...dort prüfe ich einfach auf "Host starts with" --> gw.homepage.de und dann "Use backendpool" --> Gateway-Backendpool und hinterlege die Regel im Frontend.
Beim Backend und Frontend bin ich mir allerdings unsicher.
Benötige ich ein neues Backend in dem ich wieder den "Real Server" hinterlege oder kann ich das bisherige weiter nutzen?
Ich habe gelesen, man soll den Mode von "HTTP (Layer 7)" auf "TCP (Layer 4)" im Backend ändern um den UDP Port 3391 weiterleiten zu können?
Benötige ich ein neues Frontend? Eines das auf gw.homepage.de:3391 lauscht, oder?
Muss ich dort in den Frontend-Einstellungen den Type auf "TCP" ändern anstatt HTTP/HTTPS (SSL Offloading)?
Vielleicht kann mir hier jemand Tipps zur korrekten Konfiguration geben, ich habe gefühlt schon alles durchprobiert und nie eine UDP-Verbindung aufbauen können.
Vielen Dank schon mal! Ich kann auch noch Screenshots liefern o.ä. falls dies hilft.