Tailscale로 사내망 원격접속 통제하기: VPN 장비 비용을 줄이는 제로트러스트 구조

조회 200좋아요 0

외부에서 사내 서버, 스위치와 방화벽 관리 화면에 접속해야 할 때가 있습니다. 가장 쉬워 보이는 방법은 장비의 관리 포트를 인터넷에 열거나, 모든 관리자를 하나의 전통적 VPN에 넣는 것입니다. 하지만 공개된 관리 화면은 공격 대상이 되기 쉽고, 사내망 전체가 한꺼번에 연결되는 VPN은 계정 하나가 탈취됐을 때 피해 범위를 키울 수 있습니다.

원격 관리자 단말이 신원 확인과 암호화 연결을 거쳐 서브넷 라우터 뒤의 사내 서버와 네트워크 관리 장비에 접속하는 구조

이 글에서는 Tailscale을 이용해 사람과 장치를 먼저 확인한 뒤, 각 관리자에게 필요한 사내 자원과 포트만 열어 주는 방법을 다룹니다. 별도 VPN 장비를 새로 사지 않고 기존 Linux 가상머신 한 대를 관문으로 활용할 수 있어, 소규모 조직이나 여러 고객사를 관리하는 운영팀이 특히 검토할 만한 구조입니다.


Tailscale을 한 문장으로 설명하면

Tailscale은 허가받은 사람과 장치를 하나의 비공개 네트워크로 연결하는 서비스입니다. 통신 내용은 WireGuard라는 검증된 기술로 암호화됩니다. WireGuard는 인터넷 위에 다른 사람이 내용을 볼 수 없는 전용 통로를 만드는 기술이라고 이해하면 됩니다.

일반적인 회사 VPN은 모든 이용자의 통신을 중앙 VPN 장비로 모으는 경우가 많습니다. Tailscale은 가능한 경우 장치끼리 직접 연결합니다. 직접 연결이 어려우면 중계 서버를 사용하지만, 이때도 통신 내용은 출발 장치에서 목적 장치까지 암호화됩니다. 다만 중계 경로는 직접 연결보다 느릴 수 있으므로 설치 후 연결 상태를 확인해야 합니다.

여기서 “제로트러스트”는 아무도 믿지 않는다는 뜻이 아닙니다. 회사 안에 있다는 이유만으로 모두 허용하지 않고, 접속할 때마다 누구인지, 어떤 장치인지, 어디에 접근하려는지를 확인한다는 뜻입니다.

권장 구조는 어떻게 작동하는가

첨부한 개념을 실제 환경에 적용하면 흐름은 다음과 같습니다.

1. 관리자 단말

관리자 PC, 관리자 노트북, 운영 PC에 Tailscale 프로그램을 설치합니다. 여러 사람이 하나의 계정을 공유하지 않고 각자 자신의 회사 계정으로 로그인해야 합니다. 그래야 퇴사자나 역할이 바뀐 사람의 권한만 정확히 회수할 수 있습니다.

2. 신원 확인 관문

Tailscale은 Google Workspace, Microsoft Entra ID, Okta 같은 회사 로그인 체계와 연결할 수 있습니다. 로그인 체계는 “이 사람이 누구인가”를 확인하는 신분증 창구입니다. 이 계정에는 반드시 다중 인증을 켭니다. 다중 인증은 비밀번호 외에 휴대전화 확인 같은 두 번째 증명을 요구하는 장치입니다.

3. 암호화된 통로

신원이 확인된 장치 사이에는 WireGuard 암호화 연결이 만들어집니다. 사내 서버나 방화벽의 관리 화면을 인터넷에 직접 공개할 필요가 없습니다. 가능한 경우 장치끼리 직접 통신하므로 중앙 VPN 장비에 모든 트래픽이 몰리는 현상도 줄일 수 있습니다.

4. 사내망 서브넷 라우터

서브넷 라우터는 Tailscale 네트워크와 기존 사내망 사이의 안내소입니다. Tailscale을 설치할 수 없는 스위치, 방화벽, 오래된 서버도 이 안내소 뒤에 두면 접근할 수 있습니다. 기존 Linux 가상머신이나 소형 PC를 활용할 수 있어 전용 VPN 장비 구매 부담을 줄일 수 있습니다.

5. 세 개의 내부 영역

  • 업무 서버 영역: 사내 서버와 업무 시스템
  • 운영 서버 영역: 사내 서버와 운영 서비스
  • 네트워크 관리 영역: 스위치, 방화벽, 무선 장비

중요한 점은 세 영역을 한꺼번에 열지 않는 것입니다. 서버 관리자는 담당 사내 서버에, 서비스 운영자는 업무에 필요한 사내 서버에, 네트워크 관리자는 스위치와 방화벽에만 접속하도록 나눕니다.

접속통제는 네 가지 질문으로 설계한다

Tailscale의 최신 접속 정책은 Grants라고 부릅니다. 한국말로는 “누구에게 무엇을 허가할지 적는 규칙”입니다. 새 구성을 만들 때는 예전 방식인 ACL보다 Grants 사용이 권장됩니다.

정책을 만들 때 다음 네 가지를 정하면 됩니다.

1. 누가 접속하는가: 서버 관리자, 서비스 운영자, 네트워크 관리자

2. 어떤 장치에서 접속하는가: 승인된 회사 PC, 최신 운영체제를 쓰는 노트북

3. 어디로 접속하는가: 담당 사내 서버, 운영 서비스, 방화벽 관리 주소

4. 어떤 문만 열 것인가: 웹 관리 포트, SSH 포트처럼 업무에 필요한 통신만 허용

예를 들면 다음처럼 나눌 수 있습니다.

역할 허용 대상 허용 범위 허용하지 않는 대상
서버 관리자 담당 사내 서버 관리 화면과 승인된 원격 명령 다른 부서 서버·네트워크 장비
서비스 운영자 업무에 필요한 사내 서버 서비스 운영에 필요한 통신 다른 사내 서버·방화벽
네트워크 관리자 스위치·방화벽 관리 화면과 승인된 원격 명령 일반 사내 서버
일반 직원 없음 없음 모든 관리망

연결 프로그램을 설치했다고 모든 서버가 보이면 접속통제가 아닙니다. 기본은 차단이고, 업무에 필요한 대상만 예외로 허용해야 합니다.

비전공자도 따라 하는 설치 순서

아래 예시는 관리자 단말은 Windows, 사내 관문은 Ubuntu 또는 Debian 계열 Linux인 환경을 기준으로 합니다. 실제 사내 IP 대역은 네트워크 담당자에게 먼저 확인하십시오. 예시 주소를 그대로 입력하면 안 됩니다.

준비물

  • 회사 계정과 다중 인증 수단
  • 관리자 PC 또는 노트북
  • 사내망에 항상 켜 둘 Linux 가상머신 또는 소형 PC 한 대
  • 사내 IP 대역 정보. 예: `10.10.0.0/16`
  • Tailscale 관리 콘솔을 설정할 담당자

1단계: 회사용 Tailscale 네트워크 만들기

1. Tailscale 웹사이트에서 회사 계정으로 로그인합니다.

2. 화면에 표시되는 조직 이름과 로그인 도메인을 확인합니다.

3. 관리자 계정을 최소 인원으로 지정합니다.

4. 사용자 승인과 장치 승인을 켭니다.

5. 회사 로그인 계정에 다중 인증을 적용합니다.

개인 Gmail 계정으로 시험한 네트워크를 그대로 회사 운영에 쓰지 않는 편이 좋습니다. 소유권과 퇴사자 권한 회수를 명확히 하려면 회사가 관리하는 도메인과 계정을 사용해야 합니다.

2단계: Windows 관리자 PC에 설치하기

1. 공식 Windows 다운로드 페이지에서 설치 파일을 받습니다.

2. 내려받은 파일을 두 번 눌러 설치합니다. 현재 공식 문서 기준 Windows 10 이상 또는 Windows Server 2016 이상이 필요합니다.

3. 설치가 끝나면 화면 오른쪽 아래 작업 표시줄에서 Tailscale 아이콘을 찾습니다. 보이지 않으면 위쪽 화살표를 누릅니다.

4. 아이콘을 마우스 오른쪽 버튼으로 누르고 Log in을 선택합니다.

5. 회사 계정으로 로그인하고 다중 인증을 마칩니다.

6. 관리 콘솔의 Machines 화면에서 새 PC를 확인하고 승인합니다.

관리자 노트북과 운영 PC도 같은 순서로 설치하되, 각 사용자는 자신의 계정으로 로그인합니다.

3단계: Linux 서브넷 라우터 준비하기

사내망에 있는 Ubuntu 또는 Debian 계열 Linux에 로그인합니다. 아래 명령은 검은색 터미널 창에 한 줄씩 입력합니다.

먼저 Tailscale을 설치합니다.

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

보안 정책상 인터넷 설치 스크립트를 바로 실행할 수 없다면, 공식 Linux 패키지 안내에서 운영체제별 수동 설치 방법을 사용합니다.

설치가 끝나면 다음 명령으로 로그인 주소를 받습니다.

Terminal
bash
sudo tailscale up

화면에 나타난 주소를 브라우저에서 열고 회사 계정으로 인증합니다. 그다음 관리 콘솔의 Machines에서 이 장치를 확인합니다. 서버에는 사람이 소유한 장치 대신 `tag:subnet-router` 같은 역할 태그를 붙이는 편이 좋습니다.

4단계: Linux가 통신을 전달하도록 허용하기

서브넷 라우터는 두 네트워크 사이에서 통신을 전달해야 합니다. Linux에서 IPv4 전달 기능을 켭니다.

Terminal
bash
echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf

IPv6 사내망도 함께 전달해야 할 때만 다음 설정을 추가합니다.

Terminal
bash
echo 'net.ipv6.conf.all.forwarding = 1' | sudo tee -a /etc/sysctl.d/99-tailscale.conf
sudo sysctl -p /etc/sysctl.d/99-tailscale.conf

방화벽은 전달을 기본 차단으로 유지하고, Tailscale에서 허용한 트래픽만 통과시키도록 구성해야 합니다. 이 단계는 사내 방화벽 정책과 충돌할 수 있으므로 네트워크 담당자와 함께 진행하는 것이 안전합니다.

5단계: 실제 사내망 주소를 광고하기

다음 명령의 `10.10.0.0/16`은 예시입니다. 반드시 회사의 실제 사내 IP 대역으로 바꿉니다. 서로 다른 세 영역을 나누어 관리한다면 쉼표로 여러 대역을 적을 수 있습니다.

Terminal
bash
sudo tailscale set --advertise-routes=10.10.0.0/16

이 명령은 “이 Linux를 통해 10.10 대역으로 갈 수 있다”고 Tailscale에 알립니다. 아직 누구에게나 길이 열린 것은 아닙니다.

6단계: 관리 콘솔에서 경로 승인하기

1. Tailscale 관리 콘솔의 Machines를 엽니다.

2. Subnets 표시가 붙은 Linux 장치를 선택합니다.

3. Subnets 영역의 Edit을 누릅니다.

4. 방금 광고한 사내망 주소를 선택하고 저장합니다.

관리자 승인을 거치게 하면 실수로 잘못된 네트워크 대역을 공개하는 일을 줄일 수 있습니다.

7단계: 화면에서 역할별 접속 규칙 만들기

1. 관리 콘솔에서 Access controls를 엽니다.

2. Visual editor를 선택합니다.

3. 사용자 그룹을 만듭니다. 예: 서버 관리자, 서비스 운영자, 네트워크 관리자.

4. 목적지 IP 집합을 만듭니다. 예: 업무 서버 대역, 운영 서버 대역, 관리망 대역.

5. General access rules에서 새 Grant를 추가합니다.

6. 출발지에는 사용자 그룹, 목적지에는 해당 IP 집합, 통신 범위에는 업무에 필요한 포트만 선택합니다.

7. 미리보기와 정책 검사를 확인한 뒤 저장합니다.

처음부터 코드를 직접 작성할 필요는 없습니다. 시각적 편집기가 화면에서 선택한 내용을 Grants 규칙으로 바꿔 줍니다. 규칙 이름에는 “누가-어디에-무엇을 위해”가 드러나도록 적으면 나중에 관리하기 쉽습니다.

8단계: 허용과 차단을 모두 시험하기

서버 관리자 PC에서는 담당 사내 서버의 관리 화면만 열리고 다른 부서의 서버와 방화벽 화면은 열리지 않아야 합니다. 서비스 운영자 PC에서도 업무에 필요한 사내 서버만 열려야 합니다. 일반 직원 계정에서는 모든 관리 영역이 차단되어야 합니다.

연결 경로도 확인합니다.

Terminal
bash
tailscale status
tailscale ping 서브넷라우터장치이름

결과에 `direct`가 보이면 직접 연결입니다. `relay`가 보이면 암호화는 유지되지만 중계 경로를 사용하므로 속도가 낮을 수 있습니다.

비용 면에서 왜 유리한가

Tailscale의 장점은 서비스 이용료가 전혀 없다는 데 있지 않습니다. 큰 초기 장비 투자와 복잡한 운영 작업을 작은 월 구독과 기존 장비 활용으로 바꿀 수 있다는 데 있습니다.

비용 항목 전통적인 중앙 VPN 방식 Tailscale 서브넷 라우터 방식
전용 장비 VPN 장비 구매·라이선스가 필요할 수 있음 기존 Linux VM·소형 PC 활용 가능
내부 장비 설치 장비별 설정이나 에이전트 설치가 필요할 수 있음 라우터 뒤 장비는 Tailscale 설치 없이 연결 가능
인터넷 공개 공인 IP·포트 개방과 방화벽 규칙 관리가 늘 수 있음 관리 서비스를 인터넷에 직접 공개하지 않아도 됨
중앙 대역폭 모든 통신이 중앙 장비에 몰릴 수 있음 직접 연결이 성립하면 장치 간 통신 가능
확장 방식 최대 사용자 수를 고려해 장비를 선구매할 수 있음 소수 좌석부터 시작해 인원에 맞춰 확대 가능
이중화 전용 장비 두 대와 관련 라이선스가 필요할 수 있음 일반 Linux 라우터 두 대로 구성 가능하나 운영비는 발생

2026년 8월 공식 가격표 기준으로 비상업적 개인용 Personal은 최대 6명까지 무료입니다. 회사 사용에 적합한 Standard는 사용자당 월 8달러, Premium은 사용자당 월 18달러입니다. 사용자 PC와 휴대기기는 전 요금제에서 무제한이며, 서버나 서브넷 라우터 같은 태그 자원은 기본 50대가 포함됩니다. 요금과 조건은 바뀔 수 있으므로 도입 직전에 공식 가격표를 다시 확인해야 합니다.

예를 들어 원격 관리자가 5명뿐인 조직이라면 전 직원 수가 아니라 실제 접속 좌석을 중심으로 계산할 수 있습니다. 반면 네트워크 흐름 기록, 로그 외부 전송, 고급 장치 상태 조건이 필요하면 상위 요금제가 필요할 수 있습니다. 단순 구독료만 보지 말고 기존 VPN 장비 유지비, 공인 IP, 장애 대응 시간, 인증서와 계정 관리 시간까지 합쳐 비교해야 합니다.

비용을 아끼더라도 생략하면 안 되는 것

서브넷 라우터를 두 대 둔다

라우터 한 대가 꺼지면 원격 관리 통로도 멈춥니다. 운영 환경에서는 서로 다른 물리 장비나 전원 계통에 두 대를 두고 같은 경로를 광고해 장애에 대비합니다.

관리자 계정을 강하게 보호한다

Tailscale 관리자나 회사 로그인 계정이 탈취되면 영향이 큽니다. 다중 인증, 최소 관리자 수, 퇴사자 즉시 회수, 장치 승인을 기본으로 운영합니다.

내부 방화벽과 패치를 계속 유지한다

Tailscale은 안전한 길과 출입 규칙을 제공합니다. 서버 운영체제 업데이트, 백신·EDR, 취약점 점검과 내부 방화벽까지 대신하지는 않습니다.

접속 기록의 한계를 확인한다

서브넷 라우터는 기본적으로 주소 변환을 사용하므로 내부 서버에는 여러 관리자의 통신이 라우터 한 대에서 온 것처럼 보일 수 있습니다. 사람별 원본 IP가 감사에 꼭 필요하다면 주소 변환 해제, 네트워크 경로, 반환 경로와 방화벽 정책을 전문가와 함께 설계해야 합니다.

작은 범위부터 시작하는 도입 순서

처음부터 사내망 전체를 연결하지 마십시오.

1. 테스트용 관리자 두 명과 비중요 서버 한 대를 선정합니다.

2. Tailscale 설치, 장치 승인, 다중 인증을 적용합니다.

3. 좁은 IP 대역 하나만 서브넷 라우터로 연결합니다.

4. Grants로 필요한 관리 포트만 허용합니다.

5. 허용 사용자와 비허용 사용자의 결과를 모두 확인합니다.

6. 연결 속도와 `direct`·`relay` 상태를 확인합니다.

7. 라우터를 두 대로 늘린 뒤 사내 서버와 네트워크 관리 영역을 차례로 추가합니다.

이 순서라면 보안 정책의 실수를 작은 범위에서 발견할 수 있고, 실제 운영비와 성능을 확인한 뒤 확대할 수 있습니다.

마무리

Tailscale을 도입한다고 자동으로 제로트러스트가 완성되는 것은 아닙니다. 모든 관리자를 한 네트워크에 넣고 전체 포트를 허용하면 이름만 바뀐 VPN이 됩니다.

핵심은 사람과 장치를 확인하고, 서브넷 라우터로 기존 사내망을 연결하되, 역할마다 필요한 목적지와 포트만 허용하는 것입니다. 이 원칙을 지키면 사내 서버와 네트워크 장비의 관리 화면을 인터넷에서 감추면서도 별도 전용 VPN 장비와 복잡한 개별 설치 비용을 줄일 수 있습니다.

함께 읽을 글

참고 및 출처