What is headscale?
- Tailscale 제어 서버의 오픈 소스 포크 버전으로, WireGuard 프로토콜을 사용하여 VPN(Virtual Private Network) 연결을 제공해주는 서비스
Name |
headscale (tailscale fork) |
Star |
18.3k stars |
Version |
v0.22.3 (Latest, May 12, 2023) |
Features
- Tailscale’s 모든 기본기능 지원
- DNS 지원
- 노드 등록
- SSO (Via Open ID Connect) 등록 방식
- 인증키 등록 방식
- Taildrop (파일 공유)
- 액세스 제어 목록
- MagicDNS
- 여러 IP 범위 지원
- 듀얼 스택 지원(IPv4, IPv6) 등
Hands-on
Prerequire
- VM 1EA (headscale service)
Server configuration
host_name |
server_ip |
cname |
role |
headscale-node |
222.99.150.1xx |
vpn.taking.kr |
- |
oracle-kubernetes |
152.69.228.2xx |
|
controller plane |
IDC-kubernetes |
101.79.1.1xx |
|
worker |
gcp-kubernetes |
34.16.112.6x |
|
worker |
Install & Setting
headscale 서버 설정
- node
- [NODE] headscale-node (non kubernetes)
headscale 사용자 생성
taking@headscale:~/headscale$ docker compose exec headscale headscale users create kubernetes
User created
실 서비스 용도라면 ZITADEL • Identity infrastructure, simplified for you 등을 통해 oidc로 구성가능하여 진행하는 것을 권장함
현재는 테스트 용도이므로 인증키를 발급받아 진행하기로 함
headscale VPN 노드 구성
- node
- [NODE] oracle-kubernetes (152.69.228.2xx)
- [NODE] IDC-kubernetes (101.79.1.1xx)
- [NODE] oracle-kubernetes (34.16.112.6x)