Proxmox 설치 후 Tailscale 설정

Openstack은 Cloud로써 굉장히 기능이 강력하였다
하지만 소규모이기 때문에 좀 더 가벼운 리소스로 Cloud를 구성하고 싶었다
그래서 기억을 더듬던 중 예전에 Youtube에서 보았던 댓글을 힌트 삼아 Proxmox를 설정해 보았다
외부에서 접속하기 위해 pfSense + NPM 도 추가해 보았지만 HTTP와 HTTPS에 특화되었기 때문에 ❌
Tailscale을 발견하고 route를 활용하여 외부 접속도 성공 할 수 있었다 🔆

Proxmox 설치를 먼저 진행

Proxmox 설치

Proxmox VE Helper의 Talescale 설치 명령어 검색

proxmox-ve-helper

PVE Shell에 접속

pve-shell

Ubuntu LXC 템플릿 검색

pveam available | grep ubuntu

pveam-available

Ubuntu LXC 템플릿 다운로드

pveam download local ubuntu-22.04-standard_22.04-1_amd64.tar.zst

Ubuntu 컨테이너 생성

General : Unprivileged, Nesting 체크
ct-general

Template : ubuntu 선택
ct-template

Disks : hdd 선택
ct-disks

CPU
ct-cpu

Memory
ct-memory

Network : 우선 DHCP로 지정 (추후 변경)
ct-network

DNS
ct-dns

Ubuntu 컨테이너 Console 접속

tail-console

IP 정보 조회

#eth0의 IP를 조회
ip a

tail-ip

IP 고정

Gateway는 공유기에서 제공하는 IP를 지정한다

tail-gateway

tail-static

컨테이너 재부팅 후 업데이트

apt update && upgrade -y
apt install curl -y

Tailscale 다운로드 명령어 조회

tail-script

컨테이너 Console에 접속하여 Talescale 설치 명령어 실행

curl -fsSL https://tailscale.com/install.sh | sh

Forward 허용

net.ipv4.ip_forward, net.ipv6.conf.all.forwarding 주석 해제

nano /etc/sysctl.conf

tail-sysctl

컨테이너 Shutdown

shutdown now

PVE Shell 접속

unprivileged-shell

Unprivileged의 호스트 경로 접근허용

nano /etc/pve/local/lxc/컨테이너아이디.conf

lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file

unprivileged-script

컨테이너 Start 후 Console에서 Tailscale 구동

tailscale up --advertise-routes=172.30.1.0/24 --advertise-exit-node

#등록용 URL이 나옴
https://login.tailscale.com/a/임의아이디

외부에서 사용할 PC에서 Tailscale 가입 후 등록용 URL로 이동

이 과정에서 현재 PC도 등록을 해야 한다
그래야 위에서 생성한 컨테이너를 VPN처럼 사용 할 수 있다

Tailscale admin console - Edit route settings

tailscale-edit

Subnet routesExit node를 체크한다

tailscale-option

외부에서 사용할 PC의 exit nodes를 컨테이너로 지정해준다

tailscale-exit

기타 명령어

# 등록 상태
tailscale status

# 컨테이너의 tailscale 구동 중지
tailscale down

# ping
tailscale ping {Tailscale에서 발급해준 IP}

참고URL

  • https://tailscale.com/kb/1019/subnets#enable-ip-forwarding
  • https://tailscale.com/kb/1019/subnets#advertise-subnet-routes
  • https://tailscale.com/kb/1130/lxc-unprivileged?q=unpri
  • https://www.youtube.com/watch?v=QJzjJozAYJo