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 stunnel
configuração.
stunnel
documentaçã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
stunnel
configuraçã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
iptables
para encaminhar cada porta do cliente para a única definida emstunnel
; ou oredir
comando (https://linux.die.net/man/1/redir) - use outro software,
HAProxy
como suabind
opçã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.