同じボックスに複数のクライアントがあり、同じドメインに接続します。各クライアントは異なるポートを経由する必要があります。エントリを複数回定義することはできますが、受け入れられる連続したポート範囲をリストするより簡単な方法はありますか?
# 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 のみ)。
(注記:1つのポート番号)
そして:
accept = [ホスト:]ポート
指定されたアドレスで接続を受け入れる
私が考えられる代替解決策は次のとおりです (完全なリストではありません):
stunnel
任意のテンプレート システムを使用して他のソースから構成を自動生成します(これにより、単純なループ コマンドでポート範囲から各ステートメントを生成できるようになります)。- 単一のポートを定義し、
iptables
各クライアントポートを ; で定義されたポートに転送するために使用しますstunnel
。または、redir
コマンド (出典: linux.die.net) 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.