일단은 프로그래머 나부랭이

VPN이란 무엇인가? 본문

네트워크

VPN이란 무엇인가?

하필이면 도대체가 2019. 1. 16. 23:26

VPN이란 Virtual private network의 줄임말로 우리말로는 '가상 사설망'이라고 부른다.

보통 'VPN우회'등의 단어로 많이 접하게 된다.


원리

VPN 네트워크에 접속하게 되면, 외부에 있는 컴퓨터라도 내부 네트워크에 접속해 있는것처럼 이용할 수 있다.


예를 들어, A컴퓨터(ip주소 : 210.x.x.x)가 B네트워크(=VPN서버 / 168.x.x.x)의 VPN에 접속한다고 가정을 해보자.

이 경우, A컴퓨터는 더이상 210.x.x.x의 ip가 아닌 168.x.x.x의 ip로 보여지게 된다.

또한, B네트워크 내부에 속해 있는 다른 장비들과도 사설망을 이용해 직접(?) 통신이 가능하다.


만약, A컴퓨터가 B네트워크의 VPN에 접속하지 않은채 인터넷 등을 접속한다면, 이 컴퓨터의 ip주소는 210.x.x.x로 보여질 것이다. (물론 B네트워크의 사설망에도 참가할 수 없다.)

그러나 VPN에 접속한채로 인터넷에 접속한다면 168.x.x.x로 보이게 된다.

이는 VPN에 접속한 시점에서 A컴퓨터의 외부로 나가는 통신은 B네트워크를 거쳐서 나가기 때문이다.


쉽게 말해서 'A -> B -> 인터넷(외부)'순으로 통신하는 식이다.

이를 더 정확하게 표현하면 'A -> 인터넷(외부) -> B -> 인터넷(외부)'의 순서로 통신이 진행된다.

반대로 외부에서 A컴퓨터에 통신을 시도할 경우 '인터넷(외부) -> B -> 인터넷(외부) -> A'의 순서로 통신을 진행한다.


이유는 VPN에 접속하여 B네트워크의 내부 네트워크(사설망)에 참여하게 됐기 때문이다.

기본적으로 A컴퓨터는 B네트워크와 물리적으로 연결된 장비가 아니다.

하지만 VPN을 통해 가상으로 연결됐다고 보는것이다.

때문에 A컴퓨터의 모든 통신은 B네트워크를 거치게 되는 것이다.


장단점

VPN을 이용하면 아래와 같은 장점이 있다.

1. 외부에 있는 다른 통신 장비(컴퓨터)가 VPN이 속한 사설망에 접속하여, 마치 내부 네트워크에 포함된 장비처럼 통신할 수 있도록 해준다.

2. 보안등의 이유로 내부 네트워크를 이용해야 하지만, 부득이하게 외부에서 내부 네트워크를 이용해야하는 경우, VPN을 통해 보안을 해치지 않고 통신이 가능하게 된다. (사실 이게 목적이기도 하다.)


단점은 아래와 같다.

1. VPN에 접속한 장비는 VPN 서버와 암호화 통신을 하기 때문에 네트워크 속도가 매우 느려진다.



VPN서버를 구성하는 방법은 여러가지가 있다.

1. VPN 전용 장비를 통해 VPN 서버를 구축한다.

2. VPN 프로그램을 이용해 VPN 서버를 구축한다. (무료, 유료 다 있음)

3. 일반 유,무선 공유기의 VPN 설정 기능을 활용한다. (블로그의 다른 포스팅 참고)




그렇다면 VPN우회의 원리는?


위의 내용을 이해했다면 VPN우회의 원리를 이해했을 것이다.

쉽게 말해, 다른 네트워크에 참여해서 인터넷을 하기 때문에 우회가 되는 것이다.

종종 인터넷을 이용하다가 warning.go.kr의 페이지를 가는 이유는 국가가 해당 도메인(=홈페이지)를 검열하기 때문이다.

대략적인 도메인 검열의 순서는 '국가 - ISP(SK, KT, LG등의 인터넷 사업자) - 개인 공유기 혹은 pc'등의 순서로 이루어진다.


VPN 우회를 하게되면, 다른 나라의 네트워크망을 거쳐서 인터넷에 접속하기 때문에 warning.go.kr을 볼 수 없게 된다.


우회 방법에도 여러가지가 있다.

1. VPN우회 프로그램을 이용해서 VPN 우회

2. 오픈 VPN서버에 내 컴퓨터가 참여하도록 설정


물론 도메인 검열을 하는데는 다 그만한 이유가 있는 것이니, 굳이 우회하지 않도록 하자.

'네트워크' 카테고리의 다른 글

원격 부팅 설정 방법  (0) 2021.01.17
Windows MTU 변경 방법  (0) 2019.11.06
(리눅스) 네트워크 경로 추적  (0) 2019.01.17
iptime 공유기 VPN 서버 설정 방법  (0) 2019.01.15
CMD에서 포트 확인하는 명령어  (0) 2018.03.08

Comments