我在同一個盒子上有多個客戶端,它們將連接到同一個網域。每個客戶端都需要通過不同的連接埠。我可以多次定義條目,但是有沒有更簡單的方法來列出可接受的連續連接埠範圍?
# 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.