![有没有办法在 Stunnel 中定义端口范围?](https://linux22.com/image/1557521/%E6%9C%89%E6%B2%A1%E6%9C%89%E5%8A%9E%E6%B3%95%E5%9C%A8%20Stunnel%20%E4%B8%AD%E5%AE%9A%E4%B9%89%E7%AB%AF%E5%8F%A3%E8%8C%83%E5%9B%B4%EF%BC%9F.png)
同一台机器上有多个客户端,它们将连接到同一个域。每个客户端都需要通过不同的端口。我可以多次定义条目,但有没有更简单的方法来列出可接受的连续端口范围?
# 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) - 使用其他软件,例如
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.