Existe uma maneira de definir um intervalo de portas no Stunnel?

Existe uma maneira de definir um intervalo de portas no Stunnel?

Tenho vários clientes na mesma caixa que se conectarão ao mesmo domínio. Cada cliente precisa passar por uma porta diferente. Posso definir as entradas várias vezes, mas existe uma maneira mais fácil de listar um intervalo consecutivo de portas aceito?

# 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

Responder1

Eu não acho que você possa ter intervalos na stunnelconfiguração.

stunneldocumentação emhttps://www.stunnel.org/static/stunnel.htmldiz:

Um parâmetro de endereço de uma opção pode ser:

Um número de porta.

Um par de endereço IP separado por dois pontos (IPv4, IPv6 ou nome de domínio) e número de porta.

Um caminho de soquete Unix (somente Unix).

(observação:anúmero da porta)

e:

aceitar = [HOST:]PORTA

aceitar conexões no endereço especificado

Possíveis soluções alternativas em que consigo pensar (não é uma lista exaustiva):

  • gerar automaticamente a stunnelconfiguração de alguma outra fonte com qualquer tipo de sistema de modelo (que permitirá que um comando de loop simples gere cada instrução de um intervalo de portas),
  • defina uma única porta e use iptablespara encaminhar cada porta do cliente para a única definida em stunnel; ou o redircomando (https://linux.die.net/man/1/redir)
  • use outro software, HAProxycomo sua bindopção permite especificamente intervalos de portas: bind [<address>]:<port_range> [, ...] [param*]e:<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.

informação relacionada