-
공유 오피스에서 로컬 GPU 서버 외부로 공유하기: Cloudflare Zero Trust + Ollama 가이드공부/네트워크 2026. 3. 13. 17:14
현재 작업 중인 공간은 공유 오피스로, 네트워크 제어권이 없어 포트 포워딩(Port Forwarding)이 불가능한 환경이었습니다.
프로젝트 배포 환경인 오라클 클라우드(OCI)는 GPU가 없어 AI 모델 서빙에 한계가 있었죠.
이를 해결하기 위해 공유기 설정 없이도 내부 자원을 외부로 연결해 주는 Cloudflare Zero Trust를 활용해 보았습니다.
1. 왜 Cloudflare Zero Trust인가?
- 네트워크 제약: 공유 오피스 공용 네트워크 사용으로 인한 포트 포워딩 불가.
- 자원 부족: 오라클 클라우드 프리티어의 GPU 부재.
- 보안성: 내 PC의 IP를 직접 노출하지 않고 Cloudflare의 Edge 서버를 통해 안전하게 연결.
Cloudflare Tunnel(cloudflared)을 사용하면 내 컴퓨터가 클라우드플레어 서버와 먼저 연결을 맺고,
외부 사용자는 그 서버에 접속하는 방식이라 방화벽 문제를 깔끔하게 해결할 수 있습니다.
2. 구축 과정 (도메인 구매부터 터널링까지)
Step 1: 도메인 구매 및 등록
Cloudflare를 통해 약 10달러에
.com도메인을 구매하고 대시보드에 등록했습니다. 터널링을 위해서는 관리가 용이한 전용 도메인이 필요합니다.Step 2: cloudflared 설치 및 터널 생성
# 1. 터널 로그인 및 도메인 인증
cloudflared tunnel login
# 2. 터널 생성 (이름은 자유롭게)
cloudflared tunnel create my-ollama
# 3. 터널 실행
cloudflared tunnel run my-ollamaStep 3: Public Hostname 설정
Zero Trust 대시보드(Access > Tunnels)에서 외부에서 접속할 주소를 로컬 포트와 매핑합니다.
항목 설정값 Subdomain ollama(아무거나 가능) Service Type HTTP URL localhost:11434(기본포트) 3. 테스트
연결된 ollama가 정상적으로 외부에서 실행되는지 CMD로 간단히 테스트를 할 수 있습니다.
curl https://{yourDomain}/api/generate -d "{\"model\": \"minimax-m2.5:cloud\", \"prompt\": \"터널 테스트 중이야. 응답이 오면 성공이야!\", \"stream\": false}"*응답
{"model":"minimax-m2.5:cloud","remote_model":"minimax-m2.5","remote_host":"https://ollama.com:443","created_at":"2026-03-13T08:21:12.027955341Z","response":"응답을 잘 받았어요!隧 tunnel 테스트가 성공적으로 진행되고 있네요. 추가적인 도움이 필요하시면 말씀해 주세요.","thinking":"The user says: \"터널 테스트 중이야. 응답이 오면 성공이야!\" which is Korean. It translates to: \"I'm in the tunnel test. If I get a response, it's success!\"\n\nThe user seems to be indicating that they are in a tunnel test (maybe network tunnel?) and that receiving a response indicates success. This is probably a test to check connectivity. So the assistant should respond acknowledging that they received the message. Should respond in Korean presumably, as the user wrote in Korean. So answer: \"응답이 제대로 도착했네요! 테스트 성공입니다.\" or something like \"테스트 성공! 응답을 받았어요.\"\n\nWe need to see if there's any policy violation. It's a simple test. There's no content requiring special handling. It's allowed. There's no disallowed content. So we can respond. There's no request for disallowed content. This is straightforward. Use Korean as the user used Korean. So respond accordingly. Maybe ask if they need anything else.\n\nWe should keep answer short and clear. Possibly ask if they need further assistance.","done":true,"done_reason":"stop","total_duration":4584016490,"prompt_eval_count":53,"eval_count":246}정상적으로 답변이 오는걸 확인하였습니다.
3. 트러블슈팅: 403 Forbidden 에러 해결
연결 후 가장 큰 문제는 외부 접근 시 발생하는 403 에러였습니다. 원인은 Ollama의 기본 보안 정책이었습니다.
원인: Ollama는 기본적으로
127.0.0.1(로컬) 요청만 허용합니다. 터널을 통한 외부 접속을 허용하려면 환경 변수 수정이 필수입니다.해결 방법 (Windows 기준)
- 시스템 환경 변수 설정:
-OLLAMA_HOST:0.0.0.0추가
-OLLAMA_ORIGINS:*추가 - Ollama 서비스 완전 재시작: 작업 표시줄 트레이에서 종료 후 다시 실행. (설정 반영까지 약간의 대기 시간이 필요할 수 있습니다.)
4. 마치며: 클라우드와 로컬의 하이브리드 구성
이 방법을 통해 도메인 하나만으로 내 컴퓨터의 GPU 자원을 어디서든 끌어다 쓸 수 있게 되었습니다.
단순히 자원을 빌려 쓰는 것을 넘어, 오라클 클라우드(메인)와 로컬 PC(연산)를 2중화하여 서버 안정성을 확보하는 아키텍처를 프로젝트에 적용할 수 있을 것 같습니다.
사무실의 제약 사항이 오히려 더 효율적인 개발 환경을 구축하게 만든 좋은 계기가 되었습니다.
'공부 > 네트워크' 카테고리의 다른 글
HTTP/2 다중화(Multiplexing) 이론 (0) 2026.03.14 Cloudflare Zero Trust 기술 심층 정리 (0) 2026.03.14 외워서 끝내는 네트워크 핵심이론(응용) - 네트워크 장치의 구조 (0) 2023.06.24 외워서 끝내는 네트워크 핵심 이론 - 섹션 5(웹 서비스 구조 기본이론) (0) 2023.06.24 외워서 끝내는 네트워크 핵심 이론 - 섹션 5 (0) 2023.06.24