Есть ли способ определить диапазон портов в Stunnel?
У меня есть несколько клиентов в одной коробке, которые будут подключаться к одному домену. Каждый клиент должен пройти через свой порт. Я могу просто определить записи несколько раз, но есть ли более простой способ перечислить принятый последовательный диапазон портов?
# 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
1 ответ
Я не думаю, что вы можете иметь диапазоны в stunnel
конфигурации.
stunnel
документация на https://www.stunnel.org/static/stunnel.html гласит:
Параметр адреса опции может быть:
Номер порта.
Пара IP-адресов, разделенных двоеточиями (IPv4, IPv6 или имя домена) и номер порта.
Путь к сокету Unix (только для Unix).
(примечание: номер порта)
а также:
принять = [ХОСТ:] ПОРТ
принимать соединения по указанному адресу
Возможные альтернативные решения, которые я могу придумать (не исчерпывающий список):
- автоматически генерировать
stunnel
конфигурирование из какого-либо другого источника с любой системой шаблонов (которая позволит простой команде цикла генерировать каждый оператор из диапазона портов), - определить один порт и использовать
iptables
переадресовать каждый клиентский порт на единственный, определенный вstunnel
; илиredir
команда ( https://linux.die.net/man/1/redir) - использовать другое программное обеспечение, например
HAProxy
как егоbind
Опция специально разрешает диапазоны портов:bind [<address>]:<port_range> [, ...] [param*]
а также:<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.