有没有办法在 Stunnel 中定义端口范围?

有没有办法在 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)。

(笔记:A端口号)

和:

接受 = [主机:]端口

接受指定地址的连接

我能想到的可能的替代解决方案(不是详尽的列表):

  • stunnel使用任何类型的模板系统从其他来源自动生成配置(这将允许简单的循环命令从端口范围生成每个语句),
  • 定义一个端口并使用iptables将每个客户端端口转发到唯一定义的端口stunnel;或redir命令(https://linux.die.net/man/1/redir
  • 使用其他软件,例如HAProxybind选项特别允许端口范围: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.

相关内容