VPSRe에서 주문한 VPS가 드디어 도착했다. 거기에 wg-easy를 설치해 5개의 IP를 쓰려고 했다. 3xUI 같은 더 좋은 선택지도 있지만, 새 기술을 배우는 건 은근 귀찮다. 기존 것이 잘 동작하고 특별한 학습 필요가 없으면 그냥 wg-easy로 간다.
문제와 해결
TLS와 Cloudflared 문제
설치 중 TLS 문제가 발생했다. 이건 나중에 골치 아플 것 같아 일단 HTTP로 두고, Cloudflared로 HTTPS를 맡겼다. 오렌지 구름 사랑함.
API 키는 Gethomepage의 Portainer 위젯 문서와 Portainer API 문서를 보면 해결된다.
.env에 키를 넣을 때 토큰에 /가 들어 있어 API를 못 읽는 문제도 있었다. 알고 보니 파일 마지막 줄에 오래된 Prometheus 쿼리가 있어서 그랬다 =)
wg-easy 문제
wg-easy 최신 버전은 비밀번호 해시를 요구한다. 문서를 읽으면 해결된다. 해시 형태는 다음과 같다.
keykey$keykey
문제는 $ 때문에 docker-compose.yml에서 인식이 안 된다. 그래서 $$로 이스케이프해야 한다.
- PASSWORD_HASH=$$2a$$10$$cA4sadSADASVSXxcbXjvbEiYs/OGEZ6
이렇게 하면 해결.
.env와 ENV 설정 오류
.env 문제를 해결했더니 ENV 설정이 틀려 있었다. env=3이 맞는데 env=1로 되어 있었다. Gethomepage는 Portainer에서 env 값을 그대로 읽기 때문에 정확해야 한다. env=1,2가 누락된 이유는 파고들지 않았다. 시스템은 한 번 세팅하면 VPS 만료까지 손댈 일이 없기 때문이다.

Portainer는 이렇게 마무리.
근데 끝내기엔 아쉽다. VPS에 Docker 5개가 더 있으니 계속.
VPS에서는 HTTP가 위험하니 먼저 Cloudflared를 설정한다.

cloudflared 가이드를 그대로 따라 했는데 오류가 나서 GitHub repo로 설치했다. /etc/resolv.conf 문제 같았지만 아니었다.

또 접근이 틀어져서, 결국 기존 Portainer 방식으로 돌아왔다.
처음엔 ChatGPT가 VPS IP를 그대로 노출해 Portainer가 연결한다는 게 말도 안 된다고 생각했다. 게다가 HTTP라니. 그런데 오해였다. Portainer는 자체 서명 HTTPS를 쓰고, 초기 5분 동안 Agent Claim 과정에서 키를 교환한다. 즉, 기본적으로 Secure하다.
설정을 조금 더 추가하면 끝.

Comments
Join the conversation
Leave a comment
No comments yet
Be the first to share your thoughts!