네이버클라우드아카데미 Literacy 1기

[NCloud 1기] 네이버클라우드로 완벽하게 이해하는 SSL VPN

hwangsoojin 2025. 11. 22. 01:19

VPC 내부(사설망)에 안전하게 접속하는 기술 A to Z

VPC 기반의 서버 인프라에서는 대부분 서버를 사설망(Private Subnet) 안에 배치한다.
이때 가장 큰 고민은 다음이다:

“내 로컬 PC에서 Private Subnet의 서버로 직접 접속하려면 어떻게 해야 하지?”
(예: SSH, DB 연결, 내부 API 테스트 등)

 

공인 IP 없이 사설망에 갇혀 있는 서버에 접근하기 위해,
네이버클라우드는 SSL VPN이라는 기능을 제공한다.

이 글은 “왜 필요한가, 어떻게 동작하는가, 어떤 설정이 필요한가”를
네이버클라우드 실습 화면 기반으로 상세히 설명한다.


1. SSL VPN이란 무엇인가?

요약

SSL VPN은 인터넷 → 클라우드 내부 사설망 사이에
암호화된 안전한 통로(터널)를 만들어주는 기술이다.

일반 사용자 PC는

  • 집 공유기에서 192.168.x.x 같은 사설 IP를 쓰고
  • 외부에서는 공인 IP로 보인다.

그러나 클라우드 내부의 서버는

  • 10.0.x.x 같은 또 다른 사설망에 위치한다.

기본적으로

192.168.x.x → 10.0.x.x
는 절대로 직접 연결되지 않는다.

 

여기서 SSL VPN이 등장한다.

SSL VPN 서버는

“너의 PC가 10.0.x.x 내부망에 들어갈 수 있도록
‘가상의 내부망 IP를 새로 부여하고(VPN IP)’,
그 IP로 들어오는 연결은 내부 서버로 전달하도록 라우팅해주는 역할”을 한다.

1-1. 네이버클라우드 SSL VPN 화면

여기서 두 가지를 이해해야 한다:


1-2. IP Pool:  172.16.0.0/23  이란?

이 IP Pool은 SSL VPN 사용자(너의 PC) 에게 할당되는
**“가상의 내부망 전용 IP 대역”**이다.

즉:

너의 PC는 VPN 접속 순간,
‘집 IP(192.168.x.x)’ + ‘VPN 내부 IP(172.16.x.x)’ 두 개를 가지게 된다.

 

실제 연결 요청은
모두 172.16.x.x 주소에서 오는 것처럼 보이게 된다.


1-3. 접속 URL:  https://sslvpn-kr-vpc-02.ncloud.com 

이 URL은 SSL VPN 서버의 접속 엔드포인트이다.
우리는 VPN 접속 프로그램(= Big-IP Edge Client)
이 URL을 입력해 접속한다.


2. Big-IP Edge Client로 SSL VPN 접속하기

네이버클라우드의 SSL VPN은 Big-IP Edge Client 라는 프로그램으로 접속한다.

실행화면 1: 처음 화면

여기서 “서버 변경” 버튼을 누르고
SSL VPN 설정 화면에서 본 URL을 입력한다.

실행화면 2: 로그인 화면

여기서 입력하는 Username/Password는
SSL VPN 사용자 설정에서 등록한 계정이다.

로그인 후 터널이 생성되면
내 PC는 마치 172.16.x.x 대역의 NCP 내부 단말기가 된 것처럼 작동한다.


3. 접속 후 CMD(ipconfig)로 VPN IP 확인하기

VPN 접속 후 ipconfig 명령어를 입력하면
새로운 네트워크 인터페이스가 나타난다.

여기서 중요한 부분:

🔹 PPP 어댑터란?

PPP(Point-to-Point Protocol)는
VPN 연결을 위해 만들어진 가상의 네트워크 인터페이스이다.

 

나의 PC가 받은 IP가 여기 표시된다:

IPv4 주소 : 172.16.0.5

 

즉:

✔ 일반 인터넷용 IP → 192.168.0.34
✔ VPN 내부 IP → 172.16.0.5
두 개의 IP를 동시에 갖게 된다.

 

그리고 서버로 향하는 요청은 모두 VPN IP(172.16.x.x)에서 오는 것처럼 보이게 된다.


4. 왜 ACG에서 SSL VPN IP Pool을 허용해야 하나?

SSL VPN 터널이 열렸다고 해서
서버가 자동으로 접속을 허용하는 것은 아니다.

서버의 최종 방어막은 ACG이다.

ACG는 다음 질문을 묻는다:

“172.16.x.x에서 오는 요청을 받아들여도 괜찮나?”

 

그래서 반드시 다음 규칙이 필요하다:

접근 소스: 172.16.0.0/23
포트: 22, 8080 등 필요한 포트

이렇게 해야
VPN 사용자(너의 PC) → 서버 로의 접속이 허용된다.


5. 왜 Route Table에 SSL VPN 경로가 필요할까?

ACG가 문을 열어주는 역할이라면,
Route Table은  “길을 만드는 역할”  이다.

 

서버와 네트워크 입장에서 보면:

“172.16.0.5에서 오는 패킷은 어디에서 들어온 것인지?
이걸 어디로 보내야 할지?”

 

이 정보를 제공하는 것이
Route Table의 SSLVPN 설정이다.


Route Table에 SSLVPN 경로가 없으면 생기는 문제

  • 172.16.0.5 → 10.0.2.5(WAS) 로 가는 패킷이
    “이 목적지로 가는 길을 모름”
  • 결과: timeout
  • ACG 허용 여부와 상관없이 “길이 없으니 도착 불가”

그래서 반드시 다음 항목이 있어야 한다:

Destination: 172.16.0.0/23
Target: SSLVPN

이 설정은
“172.16.x.x 대역의 요청은 SSLVPN 터널을 통해 들어온 것이므로 내부로 전달해라”
라는 의미다.


5-1. 왜 Public Route Table에도 추가해야 하는가?

자주 하는 질문:

“VPN 사용자는 Private Subnet 서버에만 접속하려고 하는데
Private Route Table만 수정하면 되는 것 아닌가?”

 

하지만 실제로는 다음 문제 때문에 Public Table에도 필요하다:

✔ 1) VPN 사용자가 WEB 서버(Public Subnet)에 접속할 수도 있다

  • SSH 접속
  • 로그 확인
  • 구성 테스트 등
    → Public Subnet도 SSLVPN 경로 필요

✔ 2) NCP에서는 Subnet을 단위로 라우팅을 분리

  • Private Subnet → Private Route Table
  • Public Subnet → Public Route Table
    → 각각에 경로를 넣어야 전체가 연결됨

✔ 3) “VPC 전체에서 VPN 사용자를 신원 확인”하는 목적

따라서 두 Route Table 모두에 SSLVPN 경로가 필요하다.


전체 흐름 요약

1) Big-IP Edge Client 연결

→ SSL VPN 서버에서 사용자 인증

2) 내부 전용 IP 부여 (예: 172.16.0.5)

3) Route Table

→ “172.16.x.x 에서 오는 패킷은 내부로 보내라”

4) ACG

→ “172.16.x.x 에서 오는 요청을 허용해도 좋다”

5) PuTTY 등으로 사설IP(10.x.x.x)로 접속

→ SSLVPN 터널을 통해 서버에 안전하게 접속 성공


마무리

이번 글의 목적은
“SSL VPN이 어떻게 작동하며, 네이버클라우드에서는 어떤 설정이 필요한가”를
초보자도 처음부터 끝까지 이해할 수 있도록 설명하는 것이었다.

핵심 요약:

  • SSL VPN = 로컬PC ↔ VPC 내부망 연결 통로
  • IP Pool = VPN 사용자의 내부망 아이덴티티
  • Big-IP Edge Client = SSLVPN 접속 프로그램
  • ACG = 접근 허용 여부
  • Route Table = 내부망으로 향하는 길
  • PPP 어댑터 = VPN용 가상 네트워크 인터페이스
  • Public/Private 모두 Route 필요 = 서브넷 단위로 라우팅이 분리되기 때문