Gibt es eine Möglichkeit, einen Portbereich in Stunnel zu definieren?

539
ajoseps

Ich habe mehrere Clients auf derselben Box, die eine Verbindung zur gleichen Domäne herstellen. Jeder Client muss einen anderen Port durchlaufen. Ich kann die Einträge einfach mehrmals definieren, aber gibt es eine einfachere Möglichkeit, einen akzeptierten aufeinanderfolgenden Bereich von Ports aufzulisten?

# stunnel.conf  [client-1] client = yes accept = 127.0.0.1:5098 connect = target-domain.com:443  [client-2] client = yes accept = 127.0.0.1:5099 connect = target-domain.com:443  [client-3] client = yes accept = 127.0.0.1:5100 connect = target-domain.com:443  [client-4] client = yes accept = 127.0.0.1:5101 connect = target-domain.com:443  [client-5] client = yes accept = 127.0.0.1:5102 connect = target-domain.com:443 
0

1 Antwort auf die Frage

2
Patrick Mevzek

Ich glaube nicht, dass Sie Bereiche in der stunnelKonfiguration haben können.

stunnelDie Dokumentation unter https://www.stunnel.org/static/stunnel.html sagt:

Ein Adressparameter einer Option kann entweder sein:

Eine Portnummer.

Ein durch Doppelpunkt getrenntes IP-Adressenpaar (entweder IPv4, IPv6 oder Domänenname) und Portnummer.

Ein Unix-Socket-Pfad (nur Unix).

(Anmerkung: eine Portnummer)

und:

akzeptieren = [HOST:] PORT

Verbindungen an der angegebenen Adresse annehmen

Mögliche alternative Lösungen, die mir einfallen (keine erschöpfende Liste):

  • die stunnelKonfiguration automatisch aus einer anderen Quelle mit einem beliebigen Vorlagensystem generieren (damit ein einfacher Schleifenbefehl jede Anweisung aus einem Portbereich generieren kann),
  • Einen einzelnen Port definieren und verwenden iptables, um jeden Client-Port an den einzigen definierten Port weiterzuleiten stunnel. oder den redirBefehl ( https://linux.die.net/man/1/redir )
  • Verwenden Sie andere Software, z. B. HAProxyweil die bindOption Portbereiche spezifisch zulässt: bind [<address>]:<port_range> [, ...] [param*]und:<port_range> is either a unique TCP port, or a port range for which the proxy will accept connections for the IP address specified above.
Wissen Sie, ob die Weiterleitung des Ports mit `iptables` zu Problemen mit mehreren HTTPS / TCP-Sitzungen führen würde? ajoseps vor 6 Jahren 0
@ajoseps Es sollte sich nichts ändern. In dieser Frage finden Sie einige Hilfe: https://askubuntu.com/questions/104824/port-forward-to-a-port-on-the-same-machine Patrick Mevzek vor 6 Jahren 0
Ich denke auf jeden Fall würde ich automatisch iptable-Befehle oder die stunnel.conf automatisch generieren müssen. Es ist nur eine Frage der Conf-Datei, die ich für die automatische Generierung auswähle. ajoseps vor 6 Jahren 0