본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

Cloudflare Tunnel 구성(Configuration)

원문 보기 위키 갱신

cloudflared 터널의 가장 흔한 구성 옵션인 고가용성, 방화벽 규칙, 런타임 매개변수를 알아봐요.

출처: 문서

본문

이 페이지는 cloudflared 터널의 가장 흔한 구성 옵션을 다뤄요. 고가용성, 방화벽 규칙, 런타임 매개변수가 포함돼요.

레플리카와 고가용성

터널을 실행하면 cloudflared는 최소 두 개의 서로 다른 Cloudflare 데이터 센터에 아웃바운드 전용 포스트퀀텀 암호화 연결 4개를 설정해요. 어떤 연결, 서버, 또는 데이터 센터가 오프라인이 되어도 리소스는 계속 사용 가능해요.

레플리카(replica)는 동일한 터널을 가리키는 추가 cloudflared 인스턴스예요. 각 레플리카는 새 연결 4개를 만들어 오리진에 추가 인그레스 지점을 제공해요. 터널당 최대 25개 레플리카(연결 100개)를 실행할 수 있어요. 트래픽은 지리적으로 가장 가까운 레플리카로 라우팅돼요. 특정 세션을 받은 레플리카를 확인하려면 Network session logs를 참조해요.

graph LR
    C((Cloudflare))
    subgraph E[Your network]
        cf1["cloudflared <br> (Replica for tunnel-01)"]
        cf2["cloudflared <br> (Replica for tunnel-01)"]
        S1[Application]
        cf1-->S1
        cf2-->S1
    end
    C -- "Connections x 4 <br>"--> cf1
    C --> cf1
    C --> cf1
    C --> cf1
    C -- Connections x 4--> cf2
    C --> cf2
    C --> cf2
    C --> cf2

레플리카 배포하기

원격 관리형 터널(remotely-managed tunnel)의 레플리카를 배포하려면:

  1. Cloudflare 대시보드 ↗︎에서 Networking > Tunnels로 이동해요. Tunnels로 이동 ↗
  2. 터널을 선택해요.
  3. Add a replica를 선택해요.
  4. 레플리카를 배포할 호스트의 운영 체제를 선택해요.
  5. 설치 명령을 복사해 호스트에서 실행해요.

로컬 관리형 터널(locally-managed tunnel)의 레플리카를 배포하려면 추가 호스트에서 동일한 터널 자격 증명을 사용해 cloudflared tunnel run <NAME>을 실행해요.

참고

지능형 트래픽 스티어링, 장애 조치 로직, 또는 상태 알림이 필요하면 레플리카 대신 Cloudflare Load Balancing을 사용해요.

방화벽 규칙

cloudflared는 포트 7844에서 Cloudflare로 아웃바운드 연결을 해요. 방화벽은 다음 대상으로의 이그레스(egress)를 허용해야 해요. 긍정적 보안 모델을 위해 모든 인그레스 트래픽을 차단해요. 터널 구성에 있는 서비스만 노출돼요.

필수 포트

region1.v2.argotunnel.com

IPv4 IPv6 Port Protocols
198.41.192.167 198.41.192.67 198.41.192.57 198.41.192.107 198.41.192.27 198.41.192.7 198.41.192.227 198.41.192.47 198.41.192.37 198.41.192.77 2606:4700:a0::1 2606:4700:a0::2 2606:4700:a0::3 2606:4700:a0::4 2606:4700:a0::5 2606:4700:a0::6 2606:4700:a0::7 2606:4700:a0::8 2606:4700:a0::9 2606:4700:a0::10 7844 TCP/UDP (http2/quic)

region2.v2.argotunnel.com

IPv4 IPv6 Port Protocols
198.41.200.13 198.41.200.193 198.41.200.33 198.41.200.233 198.41.200.53 198.41.200.63 198.41.200.113 198.41.200.73 198.41.200.43 198.41.200.23 2606:4700:a8::1 2606:4700:a8::2 2606:4700:a8::3 2606:4700:a8::4 2606:4700:a8::5 2606:4700:a8::6 2606:4700:a8::7 2606:4700:a8::8 2606:4700:a8::9 2606:4700:a8::10 7844 TCP/UDP (http2/quic)

US 지역 IP

--region us 플래그를 사용할 때 방화벽이 포트 7844(TCP/UDP)에서 이러한 US 지역 대상으로의 아웃바운드 연결을 허용하는지 확인해요.

us-region1.v2.argotunnel.com

IPv4 IPv6 Port Protocol
198.41.218.1 198.41.218.2 198.41.218.3 198.41.218.4 198.41.218.5 198.41.218.6 198.41.218.7 198.41.218.8 198.41.218.9 198.41.218.10 2606:4700:a1::1 2606:4700:a1::2 2606:4700:a1::3 2606:4700:a1::4 2606:4700:a1::5 2606:4700:a1::6 2606:4700:a1::7 2606:4700:a1::8 2606:4700:a1::9 2606:4700:a1::10 7844 TCP/UDP (http2/quic)

us-region2.v2.argotunnel.com

IPv4 IPv6 Port Protocol
198.41.219.1 198.41.219.2 198.41.219.3 198.41.219.4 198.41.219.5 198.41.219.6 198.41.219.7 198.41.219.8 198.41.219.9 198.41.219.10 2606:4700:a9::1 2606:4700:a9::2 2606:4700:a9::3 2606:4700:a9::4 2606:4700:a9::5 2606:4700:a9::6 2606:4700:a9::7 2606:4700:a9::8 2606:4700:a9::9 2606:4700:a9::10 7844 TCP/UDP (http2/quic)

FedRAMP High IP

FedRAMP High ↗︎ 환경에서 cloudflared를 배포하면 cloudflared는 터널 토큰에 따라 FedRAMP 데이터 센터로 자동 라우팅해요. 방화벽이 포트 7844(TCP/UDP)에서 이러한 FedRAMP 전용 대상으로의 아웃바운드 연결을 허용하는지 확인해요.

fed-region1.v2.argotunnel.com

IPv4 IPv6 Port Protocols
162.159.234.1 162.159.234.2 162.159.234.3 162.159.234.4 162.159.234.5 162.159.234.6 162.159.234.7 162.159.234.8 162.159.234.9 162.159.234.10 2a06:98c1:4d::1 2a06:98c1:4d::2 2a06:98c1:4d::3 2a06:98c1:4d::4 2a06:98c1:4d::5 2a06:98c1:4d::6 2a06:98c1:4d::7 2a06:98c1:4d::8 2a06:98c1:4d::9 2a06:98c1:4d::10 7844 TCP/UDP (http2/quic)

fed-region2.v2.argotunnel.com

IPv4 IPv6 Port Protocols
172.64.234.1 172.64.234.2 172.64.234.3 172.64.234.4 172.64.234.5 172.64.234.6 172.64.234.7 172.64.234.8 172.64.234.9 172.64.234.10 2606:4700:f6::1 2606:4700:f6::2 2606:4700:f6::3 2606:4700:f6::4 2606:4700:f6::5 2606:4700:f6::6 2606:4700:f6::7 2606:4700:f6::8 2606:4700:f6::9 2606:4700:f6::10 7844 TCP/UDP (http2/quic)

SNI를 강제하는 방화벽

방화벽이 Server Name Indication(SNI)을 강제한다면 포트 7844에서 아래 호스트 이름도 허용해요:

Hostname Port Protocols
_v2-origintunneld._tcp.argotunnel.com 7844 TCP (http2)
cftunnel.com 7844 TCP/UDP (http2/quic)
h2.cftunnel.com 7844 TCP (http2)
quic.cftunnel.com 7844 UDP (quic)

선택적 포트 443 대상

포트 443을 열면 소프트웨어 자동 업데이트, Access JWT 검증 같은 선택적 기능이 활성화돼요. cloudflared는 이러한 연결 없이도 정상적으로 실행돼요.

Destination Purpose
api.cloudflare.com Software update checks
update.argotunnel.com Software update checks
github.com Download latest release
<team-name>.cloudflareaccess.com Access JWT validation (if Access enabled)
pqtunnels.cloudflareresearch.com Post-quantum error reporting
cfd-features.argotunnel.com (DNS TXT) UDP datagram version negotiation

방화벽이 터널 트래픽을 허용하는지 확인하려면 Connection errors를 참조해요.

실행 매개변수(Run parameters)

이 플래그들은 cloudflared tunnel run 명령에 적용돼요. 운영 체제에서 터널이 어떻게 실행되는지를 제어해요.

가장 자주 사용하는 매개변수:

Parameter Default Description
--loglevel info Log verbosity: debug, info, warn, error, fatal
--logfile stdout Path to write log output
--metrics 127.0.0.1:20241–20245 Prometheus metrics endpoint address (first available port in range)
--protocol auto Connection protocol: auto, quic, http2
--region global Route through US-only data centers with us
--token — Tunnel token (remotely-managed tunnels)

다음 예시는 구성 플래그로 터널을 수동 실행하는 방법을 보여줘요:

cloudflared tunnel --loglevel info --logfile /var/log/cloudflared/cloudflared.log run --token <TOKEN VALUE>

실행 매개변수의 전체 목록과 터널 서비스에 추가하는 방법은 Run parameters를 참조해요.

오리진 매개변수(Origin parameters)

오리진 구성 매개변수는 cloudflared가 오리진 서버로 트래픽을 프록시하는 방식을 제어해요.

가장 자주 사용하는 매개변수:

Parameter Default Description
originServerName "" Hostname expected from origin certificate
noTLSVerify false Disable TLS certificate verification
httpHostHeader "" Override HTTP Host header
connectTimeout 30s TCP connection timeout to origin

오리진 매개변수의 전체 목록과 설정 방법은 Origin parameters를 참조해요.

권한(Permissions)

Cloudflare 멤버 권한을 계정 전체가 아닌 개별 Cloudflare Tunnel 인스턴스로 범위를 한정할 수 있어요. 이렇게 해서 특정 터널의 관리를 위임할 수 있어요. 예를 들어 애플리케이션 팀이 계정의 나머지 부분을 노출하지 않고 하나의 터널을 관리하게 할 수 있어요.

Granular permissions를 참조해요.

더 알아보기 (Learn more)

터널 구성의 핵심은 고가용성 레플리카, 포트 7844 이그레스 방화벽 규칙, 실행·오리진 매개변수예요. 세부 목록은 각 매개변수 참조 페이지를 확인해요.