홈서버 casaOS 관리하기. 원격접속 서비스 Tailscale (강추!!!)

 

안녕하세요. 달소입니다.

 

이번편에서는 CasaOS에서 서비스를 올리는게 아닌 관리하기위한 용도로의 Tailscale을 설치해보고자합니다.

 

Tailscale의 경우 제가 여러번 찬양(?) 했지만 굳이 VPN 서버를 구축할 필요없이 언제 어디서는 접속할 수 있고 Google 로그인으로 pw관리까지 필요없는(?) 팔방미인 서비스로 강추드립니다.

 

 Tailscale이란 무엇인가?? 기본적인 개념과 사용방법.[서버 구축(Self-Hosted)] 달소 2023.09.09  안녕하세요. 달소입니다.   이번글은 Tailscale의 기본적인 개념과 사용방법에 대해서 소개해드... 

 

무료플랜으로도 100개의 device 까지 사용가능하기때문에 홈랩 사용자 분들께는 아주 유용한 툴이며 웹으로 ssh 접속도 되기때문에 클라우드 플레어 arm 인스턴스 관리에도 매우 용이했습니다.

 

무튼 이번가이드를 잘 진행하신다면 외부에 포트오픈을 하지않더라도 언제 어디서 어떤 기기에서(pc/모바일 등)든 tailscale을 통해 서버에 접속할 수 있습니다.

 

 OMV + casaOS 조합 SMB를 활성화하기[서버 구축(Self-Hosted)] 달소 2024.08.09안녕하세요 달소입니다. 이제 앞서 설치한 OMV + casaOS 조합에서 SMB를 활성화 하는 방법입니다. 기본적으로 OMV의 경우 rootfs를 공유폴더로 만들 수 없게되어있는데 sharerootfs 플러그인을 설치하면 공유폴더로 ... 

 

Tailscale 설치하기

Tailscale의 경우 Host에 직접 설치하는것으로 진행해보겠습니다. LXC에서는 에러가 발생하니 VM이나 Native 환경에서만 진행해주세요.

 

먼저 서버에 ssh를 통해 연결해줍니다.

casaOS도 터미널이 있죠?

image.png.jpg

 

접속 계정은 실제 서버에 접속하는 계정이여야합니다. ex) root

image.png.jpg

 

접속이 되시면 아래 명령어로 tailscale을 설치합니다.

 

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

 

image.png.jpg

 

image.png.jpg

 

설치가 완료되면 어떤방식으로 구동할지 결정해야하는데요.

 

일단 단순히 node로 등록하는것보다 subnet route 모드로 구동하면 해당 tailscale을 거쳐 내부 대역에 접속이 가능합니다.

자세한 개념은 아래내용을 참고해주세요.

 Subnet routers · Tailscale Docstailscale.comLearn how to relay traffic from your Tailscale network onto your physical subnet. 

 

간단하게 설명하자면 1대의 192.168.1.5 tailscale이 설치된 casaOS를 통해 192.168.1.0/24 대역에 에이전트가 설치되지않은 서버들을 접근할 수 있는 모드입니다.

 

Exit 모드는 일반적인 vpn에서 공인 ip까지 바꿔주는 모드인데 실제로 모든 트래픽을 해당 노드를 통해서 통신하게됨을 의미합니다.

 

 Exit nodes (route all traffic) · Tailscale Docstailscale.comLearn how to route all internet traffic through a specific device on your network. 

 

기본적으로 서브넷 모드를 추천드리기때문에 작동시키기 전에 아래 명령어를 통해 설정을 진행해주세요.

 

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p /etc/sysctl.conf

 

image.png.jpg

 

그리고 서브넷 모드로 업을 시켜줄텐데 명령어 뒤의 ip는 실제 사용하시는 ip대역대를 적어주셔야합니다.

 

 

exit node의 역할까지하게하려면 뒤에 --advertise-exit-node 만 더 붙여주시면됩니다.

sudo tailscale up --advertise-routes=192.168.1.0/24

 

sudo tailscale up --advertise-routes=192.168.1.0/24 --advertise-exit-node

 

명령어를 실행시키면 인증을하라는 tailscale 창이나오고 

사용하시는 구글이나 다른 인증을 통해 자신만의 tailnet에 device를 추가하게됩니다.

 

image.png.jpg

 

tailscale의 관리창에서도 해당 노드 확인이 가능하며

 

subnets 과 Exit Node가 모두 활성화 된걸로 보일텐데 관리페이지에서 추가설정이 필요합니다.

image.png.jpg

 

Tailscalelogin.tailscale.com  

 

여기서 등록 된 노드의 설정으로가서 Edit route settings...로 가서 마저 활성화시켜주시면됩니다.

 

image.png.jpg

 

체크박스를 모두 체크해주시면됩니다.

 

image.png.jpg

 

노드 아래모양도 조금 달라집니다.

 

image.png.jpg

 

그리고 이제 tailscale이 연결된상태에서 해당 대역으로 연결할 경우 모두 이 노드를 통해 통신하게 됩니다.

 

안드로이드 앱이나 PC에 Tailscale을 설치/로그인하시면 쉽게 테스트해보실 수 있습니다.

 

기본적으로 derp라는 중개서버를 타게되는데 사용하시는 환경에서 upnp를 활성화해주시거나 udp 41641 을 포트포워딩 해주시면 node 끼리 p2p통신을 통해 wireguard만큼의 빠른속도를 낼 수 있습니다.

 

모바일 앱에서 핑체크로도 다이렉트 연결확인이 되네요 ㄷㄷ

 

여기서 원하는 형태의 주소로 접근하면 내부망에서 붙는것처럼 잘 접근됩니다.

image.png.jpg

 

홈랩을 운영하신다면 꼭 설치해보시길 강추드립니다.