동일한 도메인에 연결되는 동일한 상자에 여러 클라이언트가 있습니다. 각 클라이언트는 서로 다른 포트를 통과해야 합니다. 항목을 여러 번 정의할 수 있지만 허용되는 연속 포트 범위를 나열하는 더 쉬운 방법이 있습니까?
# 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.