Tailscale
- WireGuard 기반으로 동작하는 가상 사설망.
- Tailscale에 로그인 → 장치등록 → 각 장치에 Tailscale IP 부여 방식으로 서비스가 이루어짐.
- 장치 간 자동 연결을 지원하며 가능하다면 직접 통신(P2P)을 시도하고, 직접 통신이 안된다면 중계 방식으로 접속을 함.
Tailscale 설치 및 사용 방법
Ubuntu Server
파일 설치
curl -fsSL https://tailscale.com/install.sh | sh
실행
sudo tailscale up
- 현재 메인@gmail.com 계정에 메인 workstaion을 등록하는 방식으로 사용함.
Tag 설정
sudo tailscale up --advertise-tags=tag:workstation
- Tag는 나의 기기들을 그룹화 해주는 개념으로, 기기 접속 관리를 더 편하게 만들어 줌.
할당된 IP 확인
- Workstation1은 WS1 IP에 해당하는 Tailscale IP를 할당 받음.
- Workstation2은 WS2 IP에 해당하는 Tailscale IP를 할당 받음.
유저 초대
- 다른 유저 계정(U1@gmail.com, U2@gmail.com, ...)도 메인@gmail.com에 접속 할 수 있도록 유저를 등록해야 함.
- Admin의 Users에서 유저를 초대할 수 있음.
- Tailscale은 하나의 기기에 등록할 수 있는 계정을 3개까지 무료로 지원하며, 그 이상은 유로로 사용이 가능 함.
Window Client
- Window에 Tailscale 앱을 다운받아 설치함.
- U1@gmail.com으로 로그인을 완료 하고, 메인@gmail.com의 IP에 접속을 함.
SSH 연결
ACLS 보안 설정
{
"ACLs": [
{
"action": "accept",
"users": ["autogroup:members"],
"ports": ["tag:workstation:22"]
}
],
"tagOwners": {
"tag:workstation": [
"메인@gmail.com",
"U1@gamil.com",
"U2@gmail.com"
]
},
"ssh": [
{
"action": "accept",
"users": ["autogroup:members"],
"src": ["autogroup:members"],
"dst": ["tag:workstation"]
}
]
}
- 메인@gmail.com의 Admin에서 ACLS 설정을 추가해야 SSH 접속이 가능해짐.
- Workstation tag를 지정한 기기만 접속이 가능함. → 설정한 tag에 맞게 변경해야 함.
- Workstation tag에 접속 가능한 계정은 ACLS rule에 추가해야 함.
SSH config 설정
Host USER@WS1 IP
HostName WS1 IP
User USER
ServerAliveInterval 60
ServerAliveCountMax 3
Compression yes
TCPKeepAlive yes
ForwardAgent yes
- SSH config 설정을 이용해서, SSH 연결을 가능하게 만듦.
- 끄적이는 보송, VScode로 서버에 SSH 원격 접속하기 내용 참고.