Raspberry Pi 터널 설정

항상 켜져 있는 홈 서버용 Raspberry Pi Cloudflare Tunnel 구축

Raspberry Pi 또는 소형 미니 PC에서 cloudflared를 항상 온라인 상태로 유지해야 할 때 이 가이드를 사용하세요. 설치, systemd 설정, 안전 점검, GhostlyShare 및 ghs CLI 선택 기준을 다룹니다.

목표는 안정적인 아웃바운드 연결 유지이며, 마법 같은 익명성은 아닙니다. 방문자는 라우터 접근 권한이 필요 없지만 Cloudflare, 계정, 사용 습관은 중요합니다.

최적 사용 사례: 항상 접속 가능한 소규모 서비스

터널이 노트북 절전, 데스크톱 로그오프, 일상 작업 중에도 유지되어야 할 때 Raspberry Pi가 유용합니다. 수동 서비스 파일 대신 앱이나 CLI 작업을 선호하면 GhostlyShare도 장기 공유에 적합합니다.

간단 답변: 터널을 항상 온라인으로 유지하려면 Raspberry Pi 사용

웹사이트, 대시보드, 웹훅 엔드포인트, 실험실 서비스가 일상 노트북에 의존하지 않고 항상 접속 가능해야 할 때 Raspberry Pi가 좋은 Cloudflare Tunnel 연결 장치입니다. 장기 운영 옵션은 이것만 있는 게 아니며, GhostlyShare가 더 간편한 터널 워크플로우가 될 수 있습니다.

필요사용이유
항상 켜져 있는 홈 서비스용 호스트명Raspberry Pi용 Cloudflare TunnelPi는 항상 온라인 상태 유지, 예측 가능한 재부팅, Linux 서비스로 cloudflared 실행이 가능합니다.
미리보기, 웹훅 콜백, 관리형 공유GhostlyShareGhostlyShare는 앱이나 CLI에서 터널 워크플로우를 관리해 cloudflared 설정 수동 관리보다 간편합니다.
격리 강화된 프로덕션 앱VPS 또는 관리형 호스팅공용 서버는 모니터링, 백업, 홈 네트워크 분리 관리가 더 쉽습니다.

간단한 구조: 방문자, Cloudflare, Pi, 로컬 서비스

Cloudflare Tunnel은 오리진 측 아웃바운드 연결을 유지합니다. Raspberry Pi가 Cloudflare에 연결을 열고, Cloudflare는 공개 호스트명을 localhost:3000 또는 LAN 주소 같은 로컬 서비스에 매핑합니다.

방문자

방문자는 집 라우터 포트가 아닌 Cloudflare 엣지와 공개 호스트명에 접속합니다.

Cloudflare

Cloudflare가 공개 엣지, DNS 존, 터널 매핑, 요청 경로를 관리합니다.

Raspberry Pi

cloudflared가 Pi에서 실행되며 Cloudflare로 나가는 연결을 유지합니다.

로컬 서비스

실제 앱은 localhost, 다른 포트, 또는 Pi가 접근 가능한 LAN 호스트에 위치할 수 있습니다.

모든 대상에 대한 프라이버시 벽으로 보지 마세요. 주로 방문자와 무작위 스캔이 집 라우터나 원본을 직접 확인하는 것을 막습니다.

cloudflared 설치 전 Raspberry Pi 준비하기

터널 문제 대부분은 Cloudflare가 아니라 불안정한 장치, 변경된 로컬 서비스 주소, 또는 서비스 사용자가 읽지 못하는 설정 파일 때문입니다.

안정적인 Linux 기반 사용

Raspberry Pi OS 또는 Debian으로 시작해 업데이트를 적용하고, 64비트 지원 시 64비트를 권장합니다.

로컬 네트워크 안정화

Pi에 안정적인 네트워크 경로를 제공하세요. LAN 호스트 접근 시 유선 이더넷 또는 DHCP 예약을 권장합니다.

로컬 앱 먼저 확인

Cloudflare, DNS, systemd 적용 전 로컬에서 앱이 정상 작동하는지 확인하세요.

비공개 범위 결정

관리자 패널을 실수로 노출하지 마세요. 비공개 도구는 Cloudflare Access 뒤에 두거나 로컬에 유지하세요.

하드웨어 선택: Raspberry Pi 5 키트 권장

터널 연결용으로는 단순 보드보다 Raspberry Pi 5 키트가 안전합니다. 보드, 안정적인 USB-C 전원, 쿨링 또는 팬, 신뢰할 수 있는 저장장치를 갖추고 Cloudflare 문제를 판단하세요.

소형 Cloudflare Tunnel 홈 서버용 Raspberry Pi 5 키트
권장 하드웨어

소형 Cloudflare Tunnel 홈 서버용 Raspberry Pi 5 키트

안정적인 USB-C 전원, 쿨링, 케이스, 저장장치를 갖춘 Raspberry Pi 5 키트를 찾으세요. cloudflared는 4GB면 충분하며, 앱도 실행 시 8GB를 권장합니다.

Amazon에서 보기
Amazon 어소시에이트 프로그램의 참여자로서 적합한 구매에서 수수료를 받습니다.
구매 체크리스트

공식 Raspberry Pi 27W USB-C 전원 또는 동등한 5V/5A 전원을 사용하고 쿨링을 반드시 적용하세요. 전원 불안정과 과열은 cloudflared 설정이 올바른 경우에도 터널 불안정으로 보일 수 있습니다.

Cloudflare Tunnel Raspberry Pi 설치 가이드

Pi 아키텍처에 맞는 최신 패키지 명령은 Cloudflare 대시보드나 공식 문서를 참고하세요. 아래 명령은 작업 순서 예시일 뿐, 패키지 URL 변경을 보장하지 않습니다.

1

1단계: Pi 업데이트 및 아키텍처 확인

먼저 업데이트를 설치하고 아키텍처를 확인해 Cloudflare에서 올바른 cloudflared 패키지 명령을 복사하세요.

ShellLinux 셸
sudo apt update
sudo apt upgrade -y
dpkg --print-architecture
2

2단계: 최신 공식 명령어로 cloudflared 설치

Cloudflare 대시보드나 문서에서 아키텍처에 맞는 최신 Linux 명령어를 확인하세요. 설치 후 바이너리를 검증합니다.

ShellLinux 셸
# Paste the current official Cloudflare install command for your Pi here.
cloudflared --version
3

3단계: 인증 후 명명된 터널 생성

Cloudflare 존을 인증하고 명명된 터널을 생성한 뒤 출력된 터널 UUID를 복사하세요.

ShellLinux 셸
cloudflared tunnel login
cloudflared tunnel create home-pi
4

4단계: 명확한 config.yml 작성

실행 전 터널 UUID, 호스트명, 로컬 서비스, 자격 증명 경로를 교체하세요. 폴백 규칙은 마지막에 둡니다.

ShellLinux 셸
mkdir -p ~/.cloudflared
nano ~/.cloudflared/config.yml
ShellLinux 셸
tunnel: <tunnel-uuid>
credentials-file: /home/pi/.cloudflared/<tunnel-uuid>.json

ingress:
  - hostname: app.example.com
    service: http://localhost:3000
  - service: http_status:404
5

5단계: 유효성 검사, DNS 경로 설정, 포그라운드 실행

인그레스 규칙을 검증하고 DNS 경로를 생성한 뒤, 다른 네트워크에서 테스트할 때 터널을 포그라운드로 유지하세요.

ShellLinux 셸
cloudflared tunnel ingress validate
cloudflared tunnel route dns home-pi app.example.com
cloudflared tunnel run home-pi

올바른 config 경로로 Linux 서비스로 cloudflared 실행

Linux에서 중요한 점은 config 경로입니다. sudo로 서비스를 설치하면 홈 디렉터리가 root의 홈으로 바뀌어 pi 사용자로 테스트한 config를 서비스가 찾지 못할 수 있습니다.

1

서비스 1단계: 명확한 config 경로로 서비스 설치

테스트한 pi 사용자 config와 서비스 계정 간 sudo 홈 디렉터리 불일치를 방지합니다.

ShellLinux 셸
sudo cloudflared --config /home/pi/.cloudflared/config.yml service install
2

서비스 2단계: 서비스 활성화 및 상태 확인

systemd로 cloudflared를 시작한 후 예상 config를 사용하며 정상 작동하는지 확인하세요.

ShellLinux 셸
sudo systemctl enable --now cloudflared
systemctl status cloudflared
3

서비스 3단계: 로그 확인 및 재시작 테스트

경로 의존 전 로그로 config 경로, 자격 증명, DNS, 로컬 서비스 오류를 확인하세요.

ShellLinux 셸
journalctl -u cloudflared -f
sudo systemctl restart cloudflared
systemctl status cloudflared

소규모 상시 터널 운영 점검표

재부팅, 업데이트, 로그, 접근 규칙이 안정적일 때 홈 터널도 안정적으로 작동합니다. URL 공유 전 이 부분을 반드시 점검하세요.

재부팅 테스트

Pi를 재시작하고 SSH 접속 없이 호스트명이 정상 작동하는지 확인하세요.

접근 규칙

개인 앱은 Cloudflare Access, 강력한 로그인, 또는 로컬 전용 네트워크 경계 뒤에 두세요.

업데이트

OS와 cloudflared를 정기적으로 패치하고 업데이트 후 서비스 상태를 확인하세요.

로그 관리

터널 ID, 계정 이메일, 호스트명, 개인 서비스명이 포함된 로그나 스크린샷은 공개하지 마세요.

백업

config는 의도적으로 백업하되 터널 자격 증명은 비밀처럼 보호하세요.

프라이버시 한계

이 설정은 방문자에게 오리진을 숨기지만 Cloudflare 계정, 도메인 기록, 관리자 행위는 숨기지 않습니다.

GhostlyShare와 ghs CLI 활용 위치

직접 cloudflared config를 관리하지 않고 Cloudflare 스타일의 로컬 공유를 원할 때 GhostlyShare가 간편한 대안입니다. 빠른 미리보기, 웹훅 콜백, 스크립트 흐름, 장기 공유에 적합하며 가동 시간을 의도적으로 관리할 때 유용합니다.

수동 제어가 필요할 때는 Pi 터널을, 관리형 터널 워크플로우가 필요할 때는 GhostlyShare를 사용하세요.

이 구분은 지속 시간보다 제어에 관한 것입니다. Raspberry Pi와 cloudflared는 systemd, 명확한 설정 경로, DNS 소유권, 저수준 서비스를 제공합니다. GhostlyShare는 실행 방식에 따라 단기 또는 장기 실행이 가능한 간단한 앱 또는 CLI 워크플로우를 제공합니다.

문제 해결: 주로 발생하는 주요 오류

증상가능한 원인첫 점검
앱 대신 Cloudflare 오류 페이지 표시터널이 중단되었거나 서비스 URL이 잘못되었거나 로컬 앱이 응답하지 않습니다.Pi에서 systemctl status cloudflared, journalctl 명령과 로컬 서비스에 curl을 실행하세요.
설치 후 서비스가 백그라운드에서 작동하지 않음systemd가 다른 홈 디렉터리나 설정 경로를 사용 중입니다.--config 경로를 /home/pi/.cloudflared/config.yml로 명시하여 서비스를 다시 설치하세요.
호스트명이 터널에 연결되지 않음DNS 경로, 호스트명 또는 Cloudflare 존이 지정된 터널과 연결되어 있지 않습니다.Zero Trust에서 공개 호스트명을 확인하고 cloudflared tunnel info home-pi 명령을 실행하세요.
관리자 페이지가 공개적으로 접근 가능함인그레스 규칙이 접근 제어 없는 사설 도구를 가리킵니다.Cloudflare Access 뒤로 옮기거나 해당 서비스를 로컬 전용으로 유지하세요.

의존 전 반드시 확인할 공식 문서

Pi 설정 중 Cloudflare 공식 문서를 열어 두세요. 제품명, 명령어, 대시보드, 요금제 제한이 변경될 수 있습니다.

Raspberry Pi Cloudflare Tunnel 자주 묻는 질문

자주 묻는 질문

Raspberry Pi가 Cloudflare Tunnel에 적합한가요?

네, 소규모 홈 서버나 실험실 서비스용 상시 연결 장치로 적합합니다. 저전력이며 안정적이고, 일상용 노트북보다 항상 켜두기 쉽습니다.

라우터 포트 포워딩이 필요한가요?

아니요. Cloudflare Tunnel은 cloudflared에서 Cloudflare로 나가는 연결을 사용하므로 방문자가 라우터로 직접 들어오는 경로가 필요 없습니다.

대신 GhostlyShare CLI를 사용해야 하나요?

미리보기, 웹훅, 스크립트 공유 또는 장기 공유를 앱으로 관리하려면 GhostlyShare 또는 ghs CLI를 사용하세요. 서비스 파일, 인그레스 설정, 호스트 OS를 완전히 제어하려면 Raspberry Pi와 cloudflared를 사용하세요.

이것이 내 홈 서버를 익명으로 만드나요?

아닙니다. 방문자에게 출처를 숨길 수는 있지만, Cloudflare 계정 정보, 도메인 기록, 결제 내역, 로그, 콘텐츠, 관리자 활동 등은 여전히 프로젝트와 연결될 수 있습니다.