버전: 2025-08
1. 개요
Cloudflare Tunnel은 로컬 네트워크 환경의 애플리케이션을 외부 인터넷에 안전하게 노출시키는 방식이다. 전통적인 포트 포워딩이나 VPN과 달리 Zero Trust 원칙을 따르며, Cloudflare 네트워크를 통해 암호화된 연결을 제공한다. 이를 위한 핵심 도구가 cloudflared CLI를 통해 터널 생성, 실행, 라우팅, 모니터링, 정리 작업을 수행할 수 있다.
2. 설치 및 기본 구조
- 설치:
brew install cloudflared
# macOS
apt-get install cloudflared
# Linux (repo 추가 후)
winget install Cloudflare.cloudflared
# Windows
- 구성요소:
- Tunnel: Cloudflare 네트워크에 등록된 고유 연결.
- Connector: cloudflared 프로세스가 Cloudflare에 터널을 열어주는 역할.
- Routing: 특정 도메인 → 특정 로컬 서비스로 트래픽을 매핑.
3. 운영 시나리오 예시
3.1 신규 터널 생성 및 실행
cloudflared tunnel login
cloudflared tunnel create my-tunnel
cloudflared tunnel route dns app.example.com my-tunnel
cloudflared tunnel run my-tunnel
3.2 사설 네트워크 라우팅 추가
cloudflared tunnel route ip add 10.0.0.0/24 my-tunnel
cloudflared tunnel route ip show
3.3 비정상 종료 후 정리
cloudflared tunnel cleanup my-tunnel
3.4 터널 삭제
터널은 이름 또는 UUID로 삭제할 수 있음. 안전하게 UUID로 지우는 걸 추천
cloudflared tunnel delete xxxxxxx-XXXX-XXXX-xxxx-xxxxxxxx
4. 명령어 분류
카테고리 | 명령어 | 설명 |
---|---|---|
인증 | cloudflared tunnel login |
브라우저 인증 창을 열어 Cloudflare 계정과 터널을 연결 |
조회 | cloudflared tunnel list |
모든 활성/삭제된 터널 목록 표시 (-d 로 삭제된 터널 포함) |
생성 | cloudflared tunnel create <NAME/UUID> |
터널 생성 및 자격 증명 파일 발급 |
실행 | cloudflared tunnel run <NAME/UUID> |
지정된 터널 실행 (고가용성 연결 생성) |
정보 | cloudflared tunnel info <NAME/UUID> |
해당 터널의 활성 커넥터 상세 정보 표시 |
정리 | cloudflared tunnel cleanup <NAME/UUID> |
비정상 종료된 터널 연결 제거 |
라우팅 (DNS) | cloudflared tunnel route dns <HOSTNAME> |
터널로 향하는 CNAME 레코드 생성 |
라우팅 (IP) | cloudflared tunnel route ip add <IP/CIDR> |
특정 네트워크 대역을 터널에 연결 |
cloudflared tunnel route ip show |
조직의 프라이빗 라우팅 테이블 조회 | |
cloudflared tunnel route ip delete <CIDR> |
지정 CIDR 라우팅 제거 | |
cloudflared tunnel route ip get <IP> |
특정 IP가 어떤 라우팅 규칙을 따르는지 확인 | |
로드밸런싱 | cloudflared tunnel route lb <NAME/UUID> |
터널을 로드밸런서 풀에 연결 |
설정 실행 | cloudflared tunnel --config path/config.yaml |
YAML 설정 파일 기반 터널 실행 |
5. 운영 팁
- 구성 파일 관리: /etc/cloudflared/config.yaml에 터널 이름, 인스턴스 수, 라우팅 설정을 저장하면 재시작 시 편리.
- 모니터링: cloudflared tunnel info로 연결 상태를 주기적으로 점검.
- 보안: 터널 자격 증명 파일(.json)은 루트 권한 또는 최소 권한으로 보호.
6. 참고 문서
- Cloudflare 공식 명령어 가이드
- Cloudflare Zero Trust → Networks → Tunnels 메뉴
```
'Tech' 카테고리의 다른 글
AhnLab Safe Transaction 에서 원격 접속 허용 설정하기 (2) | 2025.08.09 |
---|---|
[ssh] 윈도우에서 ssh 접속 시 publickey 에러 해결 (WARNING: UNPROTECTED PRIVATE KEY FILE!) (3) | 2025.08.05 |
[Docker]watchtower - Docker 컨테이너를 모니터링하고 자동으로 최신 이미지로 업데이트해주는 도구 (3) | 2025.08.04 |
Windows11 WSL에서 Claude code 설치하기 (0) | 2025.06.30 |
[ser8-8845] PC에 모니터가 2대 이상 연결이 안될 때 (0) | 2025.05.10 |