지난번에는 VPN이 어떤것인지 개념을 잡아보았습니다.


이번에는 실제 어떻게 사용될 수 있는지 알아보겠습니다.


VPN자체는 터널링을 이용한 가상의 전용망이라는 개념입니다.  실제 서비스에서는 여러가지 방식이 있을 수 있습니다. 그장 가장흔히 사용되는 방법은 PPP(Point To Point Protocol) 라는 프로토콜에서의 가상의 인터페이스 카드를 이용하는 방법입니다. 


가상인터페이스는  가상의 랜카드(포트)를 생각하면됩니다.  앞서 VPN개념강좌에서 VPN은 가상의 전용선을 이용한 망이라고 말씀드렸었는데요.  가상의 전용선연결하기위해서는 말그대로 가상이기때문에  네트워크 인터페이스 카드도  가상으로 만들어진다고 이해하면 쉽습니다.


즉, 우리가 랜을 구성(인터넷을)하려면  컴퓨터 랜포트에 랜케이블을 연결하게 되는데요. 이렇게 눈에 보이는 랜포트 말고 가상의 랜포트가 더 생겨나는 것입니다. 



실제로 이러한 가상 네트워크를 구성해보도록 하겠습니다.


PPTP 를 이용한 VPN 연결의 이해 


  MS Windows에서는 VPN을 위해  PPTP(Point To Point Tunneling Protocol)방식을 지원합니다. PPTP는 MS를 비롯한 몇몇 회사가 개발한 VPN을 위한 프로토콜입니다.


1.  실제 이더넷어댑터 상태 보기 

도스프롬프트(cmd.exe) 를 실행시키고  ipconfig 명령어로 현재 어댑터 상태를 확인합니다.


 C:\>ipconfig


Windows IP 구성



이더넷 어댑터 로컬 영역 연결:


   연결별 DNS 접미사. . . . : localdomain

   IPv6 주소 . . . . . . . . . : fdb2:2c26:f4e4:0:4420:9b5f:8889:a44

   임시 IPv6 주소. . . . . . . : fdb2:2c26:f4e4:0:f0a6:f616:949b:6028

   링크-로컬 IPv6 주소 . . . . : fe80::4420:9b5f:8889:a44%11

   IPv4 주소 . . . . . . . . . : 10.211.55.4

   서브넷 마스크 . . . . . . . : 255.255.255.0

   기본 게이트웨이 . . . . . . : 10.211.55.1



C:\>


2. PPTP 연결한 뒤 어댑터 상태 보기.


C:\>ipconfig


Windows IP 구성



PPP 어댑터 회사 VPN 연결:


   연결별 DNS 접미사. . . . :

   IPv4 주소 . . . . . . . . . : 192.168.1.81

   서브넷 마스크 . . . . . . . : 255.255.255.255

   기본 게이트웨이 . . . . . . : 0.0.0.0


이더넷 어댑터 로컬 영역 연결:


   연결별 DNS 접미사. . . . : localdomain

   IPv6 주소 . . . . . . . . . : fdb2:2c26:f4e4:0:4420:9b5f:8889:a44

   임시 IPv6 주소. . . . . . . : fdb2:2c26:f4e4:0:9032:41af:f2c1:2185

   링크-로컬 IPv6 주소 . . . . : fe80::4420:9b5f:8889:a44%11

   IPv4 주소 . . . . . . . . . : 10.211.55.4

   서브넷 마스크 . . . . . . . : 255.255.255.0

   기본 게이트웨이 . . . . . . : 10.211.55.1


C:\>



PPTP VPN이 연결되면 [PPP 어댑터 xxxxxx 연결]  이 추가 된것을 확인 할 수 있습니다. 그리고 이때 부여되는 IP 는 VPN 서버측에서 제공되는 IP입니다.  여기에서는 192.168.1.81 라는 주소를 부여 받게 된것이고.  해당 IP가 회사 내부네트워크 영역이라면 해당 VPN에 연결된 PC 는 마치 회사 내부에 있는 컴퓨터처럼 내부망에 접근이 가능하게 되는것입니다.  그리고 PPP 어댑터는 가상의 랜카드 역할을 하게 되는것입니다.



그럼 이제 PPTP  를 이용한 VPN을 구성하는 방법을 알아보겠습니다.


VPN을 구성하는 방법은 여러가지가 있겠지만 소규모 사무실에서 특별한 큰 비용들이지 않으면서  어렵지 않게 간단하게 구성할 수 있는 방법을 기준으로  알려드리겠습니다. 


여기에서는  공유기를 이용해서 구성하는 방법입니다. 제가 사용중인 ipTime 공유기를 설정예를 보여드릴 텐데 다른 공유기들도 VPN만 지원한다면 유사하게 설정하면 됩니다.



PPTP VPN 구성하기 


1.  공유기 설정


메뉴 에서 [특수기능] - [VPN서버설정]선택




그리고 VPN 서버 설정화면에서 


동작모드 :실행

암호화(MPPE) : 암호화사용함


선택 합니다.


그리고 VPN 접속시 사용할 계정을 추가 해주어야합니다.


아이디/암호를 넣어주고.  할당 될 IP주소는 해당 USER가 VPN접속하고 나면 부여받게 되는  IP입니다. 해당 IP를 사용하게 되면서, 마치 해당 내부 네트워크에 접속된상황이 되는거죠.


해당 IP는 사전에 DHCP 부여 영역에서 제외를 시켜야합니다.




VPN 접속계정은 여러명이사용할 경우 사용자별로 만드는게 좋습니다. 동시접속등의 경우에도 문제가 없어야 하니까요.



이렇게 해서 VPN 접속계정까지 추가했다면.  공유기 설정을 저장합니다.  공유기 종류에 따라서는 공유기를 다시 실행시켜야 할 수 도 있습니다.



2. VPN 접속하기 


그럼 이제 외부에서 VPN을 접속하는 방법입니다.


여기에서는 Windows 7 을 기준으로 설명합니다. (다른 버전에서도 유사하게 설정할 수 있습니다.)



제어판에서 - 네트워크 및 인터넷 - 네트워크 및 공유센터   로 찾아 들어갑니다.



네트워크 설정 변경에서 [ 새 연결 또는 네트워크 설정]을 선택합니다.



[연결 옵션] 선택에서  회사에 연결을 선택합니다. (회사라는 말은 그냥 상징적인 단어입니다. 그냥 VPN 연결용 이라고 보면 됩니다.)





연결 방법중에서  [내 인터넷 연결 사용(VPN)]을 선택합니다.



인터넷 주소에는 회사 공유기의 실제 IP 또는  미리 만들어둔  DDNS 이름을 넣어주면됩니다.  

(DDNS 는 http://funnylog.kr/457 글을 참고하세요)


그리고 대상이름을 적절히 넣어주고.





다음에는  사용자 이름과 암호를 넣어줍니다.



그리고 연결을 진행하면 바로 VPN 연결이 되고,  추후에 연결을 하고 자 할때는 작업표시줄에 네트워크상태표시 아이콘을 클릭하면 (WIFI나 유선)  VPN 설정목록이 보입니다. (아래그림참고)




그리고 해당 VPN 설정 선택후 [연결] 을 누르면 아래 처럼 로그인 창이 나타납니다. 마치 전화다이얼업모뎀 연결과 같은 화면 입니다.




앞서 공유기에 등록한  VPN 계정을 이용해 연결을 하면 됩니다.



연결이 끝나면 사무실vpn  [연결됨]으로 바뀌었습니다.


네트워크 연결 아답터 목록에서 보면 사무실vpn 이 활성화 되어있습니다.  해당 WAN miniport 가 PPTP 용 가상 네트워크 인터페이스(랜카드)가 되는 셈 입니다.


그리고  도스프롬프트(CMD)에서 ipconfig 명령으로 확인 하면  PPP 어댑터가 연결되어있는 것을 확인 할 수 있고. 

해당 어댑터의 IP는 공유기에서 설정한 내부 IP가 됩니다.




이제  외부에서 사무실 내부로 접속한 상태가 되어.  내부내트워크 자원(공유폴더, 그룹웨어 등) 에 접근할 수 있습니다.


제 경우는 사무실밖에 있을때 스마트폰의 핫스팟기능으로 노트북을 WIFI로 인터넷 연결한뒤 VPN 을 이용해 사무실등에 연결할때 사용하는 편입니다.






 위 강좌시리즈의 5번째 시작입니다.


#5.1 VPN개념 정리


  VPN을 활용하는 강좌를 쓰기에 앞서 먼저 VPN이 뭔지에 대해서 정리해보려고 합니다.


VPN은 Virtual Private Network의 약자로  보통 우리말로는  "가상사설망"이라고 합니다.   이 "가상사설망"이란 직역된 단어 때문에 저도 처음에는 그게 뭔가 했었던것 같습니다.   지금은 VPN 이 널리 활용되고 있기는 하는데  VPN이전에는 무엇을 썼는지 알아보면 좀더 쉬울 것 같습니다.


VPN(Virtual Private Network)이전에는 PN(Private Network)을 쓰고 있었습니다.  그럼 PN 이 뭘까요? 이미 쓰고 있었다는데.  바로 전용선을 말합니다.   


   즉  VPN이 좀더 자연스러운 우리말로 바꾸면 "가상전용망(선)"이라는 말이 더 어울리고 개념적으로도 분명해진다는 생각입니다.   그리고 사설이라함은 사적으로 설치하고 사용하는 것을 의미하지만, 물리선로  자체를  사적으로 설치 소유하는경우는 거의 없고 KT 같은 통신망 회사의 선로를 임대 이용하는 경우가 대부분이니까요. 전용으로 사용하는 망(전용망)이 더 적절해 보입니다.  


  그리고 VPN 에서  Network  단어를  번역하면  일반적으로  '망(望)'이 되는데 '망'이 구성되려면 '선(線)'로가 있어야 합니다.  즉 전용망이 구성되려면 전용선(線)이 구성되어야 한다는 것이죠.  따라서  가상전용망(VPN)을  구현하려면  전용선을 가상으로 구현하기 위한 '가상전용선' 기술이 먼저 필요합니다.  


그래서 VPN을 알려면 먼저 '가상이 아닌' 전용선을 이해 하고,   '가상' 전용선의 개념으로 접근하는게 쉽습니다.


그럼 전용선이 무엇이었나요?


실제로 제가 예전에 근무하던직장은 전용선을 사용하고 있었습니다. (1997년도 즈음)


본사는 서울에 있었고 공장은 경기도에 있었습니다.  저는 공장인 경기도에 근무하고 있었는데.  처음 회사에 입사했을때  사무실에서 외부로 전화할때는 보통 9번을 누르고 원하는 곳에 지역번호화 전화번호를 눌러서 전화하는 식이었는데  서울본사에 전화할때는 그럴필요가 없었습니다.  서울 본사로는 전용선이 설치되어있어서 본사로 전화할때는 전용선을 통하게 되었기때문에 본사 내선번호로 바로 누르면 되었습니다. 따라서 전화요금(공중망비용)이 안들어 가는 것이었죠.  


   그러니까 우리가 쓰는 지역번호를 눌러서 사용하던 전화망은 공중망이라고 하는 Public Network 인것인데 이를 이용할때는 해당 전화요금을 내야 하지만 전용선을 설치한경우에는 그 비용을 낼 필요가 없는 것이죠.  


그런데 이런 전용선을 유지하는 비용이 적잖았습니다.  56Kbps회선에  대략 월 50만원이상 들었던 것 같습니다.  (당시 제 월급보다  많습니다)


지금 가정용 100Mbps 광랜(공중망)을 월 2만원도 안되는 비용에 이용하는 것을 생각하면 엄청나게 비싼것이죠.  지금은 많이 내리긴 했지만 지금도 여전히 전용선은 비쌉니다. 





즉 비싼 전용선 대신 값싼 공중망의 한 회선을 이용하는걸 선호하는게  당연합니다. 그런데 문제가 있습니다. 


이 공중망는 말그대로 공중에 노출되어있습니다. 그러다 보니 보안에 취약합니다. 실제로 예전에는 이러한 공중망의 보안취약함 때문에  도청을 당하기도 쉬었습니다.  그것은 인터넷을 이용하는 경우에도 마찬가지 입니다.  인터넷을 통해 메일을 보거나 파일을 송수신 할때도 항상 누군가가 중간에 가로챌수있는 상황에 놓이게 됩니다.  이것은 공중망이 말그대로 상대편과 연결과는 수많은 단계를 거치면서 중간에 누군가 빼낼 수 있는 것입니다.  물론 각각 서비스 마다 암호화 통신을 할 수 도 있겠지만 그럴경우 서비스 비용이 만만치 않습니다. 매 서비스마다 암호화 기술을 적용해야 하기 때문이고 유지보수가 힘들어지기 때문입니다.  전용선일때는 고민할필요없던 문제 였습니다. (물론 전용선이라고 100% 안전을 담보할 순 없습니다.)


   사실 본사와 지방사무실 1곳만 연결하는 경우라면 여전히 전용선이 효과적일 수 있습니다.  하지만 본사와 수십개의 전용선을 연결해야 하는 상항이라면?


 제가 처음 VPN을 알게된것은  입사 2년정도 지났을때였습니다.


   그때 회사에는 사내식당이 있었는데  이때는 회사가 사내식당을 운영을 외부업체에 맡기게 되었습니다.  이 업체는 C사 였습니다.  식당에는 조그마한 사무실이있었는데 C사에서 파견된 영양사가 근무하고 있었습니다.  한번은 PC가 고장났다며 상태를 좀 봐달라고 해서 갔었는데  영양사는 매주 식단을 짜고 이를 바탕으로 본사에 식자재를 주문을 프로그램을 통해 하고 있었습니다.   이때 영양사는 전화선을 통해 모뎀을 접속해서 인터넷을 연결하고 다시 VPN 을 연결하는 과정을 거쳤습니다.  즉 전화선을 이용한 인터넷이라는 공중망을 이용하지만 여기에 다시 VPN연결을 한뒤에야 실제 프로그램 통신이 가능한 네트워크(망)이 구성되고 해당 업체 본사전산에 연결이 가능해 지는 구조 였습니다.


그때만 해도 왜이런 불편한 과정을 추가로 거치나 했는데.  해당 업체 본사 내부에 있는 실제 전산망에 원격지의 한 PC를 마치 내부의 망에 연결되것 처럼 하기 위해서는 가상의 회선을 (소프트웨어적으로)설치하는 과정이었던것 입니다. 


즉 이 외주업체는 여러 지역에 고객사마다 영양사를 파견하고 주문 프로그램을 운영해야 하는데 여기마다 실제 전용선을 설치한다는 것은 비용이 너무 많이 발생하기 때문에 가상의 전용선을 소프트웨어적으로 구현하는 VPN 기술을 이용하는것이 훨씬 저렴한 방법이기 때문입니다. 그리고 보안도 확보되구요.



그럼 VPN은 어떻게 가상으로 전용망이 확보 되고 보안 된다는 것인가?


  VPN은 알 수 없는 공중망을 거치는 연결을 통하지만 그안에서 소프트웨어적으로 가상의 회선을 직접 연결한 것과 같은 효과를 내는 것을 말합니다.

 

  여기에서 가상의 회선을 구현하는 방식에따라 VPN 방식을 분류하게 되는데 공통적으로 터널링이라는 기술이 사용됩니다. 터널링이라는것은 사전적의미로는 실제 통신을 위해 사용을 원하는 특정프로토콜 (예 IP)를  이를 지원하지 못하는 네트워크 프로토콜(X25망 ,ATM 망 같은), 이나 신뢰성이 부족한 네트워크(공중망)에 캡슐화를 통해 전달하는 기술을 말합니다.


  간단히 말하면  데이터영역안에 프로토콜을 통째로 집어넣는것이죠. 





예를 들어  A사무실에서  본사의 특정서버 S로 데이터를 보내야 하는데  사무실과 본사간의 통신연결은  X25라고 합시다. 그런데 A사무실내에 네트워크와  본사의 네트워크는 모두 IP 네트워크인것이죠.  그러면서 본사와 연결되는 프로그램이 IP프로토콜  사용한다고 했을때 X25로 바뀌는 시점에 데이터를 뽑아 X25에 맞춰서 보내고 다시 받는쪽에서 X25에서 데이터를 뽑아 IP프로토콜로 변환 해야 합니다.  이렇게 할경우 통신 서비스가  1종만 있다면 별 문제가 없겠지만 다양한  IP 프로토콜을 이용한 통신서비스를 사용해야 하는경우 각 서비스마다 변환 프로그램을 개발해야 하기 때문에 상당히 비효율적입니다. 그래서 단지 데이터만 뽑아서 변환하기 보다  프로토콜을 통째로 전달해버리는 것입니다. 즉 X25 프로토콜안에 IP프로토콜을 통째로 넣어서 보내 버리고 도착지에서 다시 IP프로토콜로 뽑아서 보내는 겁니다. 

이렇게 하면,IP프로토콜을 이용한 다양한 서비스가 있더라도 새로 데이터 변환 프로그램을 개발할 필요가 없게 됩니다. 이러한 프로토콜을 통째로 전달해버리는 것을 터널링이라고 합니다. 


양쪽에 실제 통신하는 컴퓨터들은 X25라는 프로토콜을 전혀 몰라도 상관이 없게 되는것이죠. 


그런데 이러한 터널링을 다른프로토콜을 사용하는 통신간의 전달뿐 아니라 신뢰성이 부족한 같은 IP통신에서도 활용할 필요가 있게 되는데 이역시 터널링이됩니다.


단지 예를 들어 IPv4라는 프로토콜을 또 다른 공중망 IPv4를 통해 전달하게 될때 이번에는 프로토콜을 통째로 집어넣기전에 한번 암호화를 하고 넣는것입니다. 그러면 중간에 누군가 IPv4 패킷을 가로채어 데이터 영역을 들여다 보더라도 암호화 되어있기 때문에 알 수 가 없게되는 것이죠.  이렇가 하면 해당 터널링 안에서는 보안통신을 하지 않더라도 자동적으로 터널링 레벨에서 보안이 되는겁니다.


터널링 = 가상전용선


이러한 터널링 기술은 가상 전용선이 될 수 있게 됩니다. 그리고 이를 이용해  원격지와의 네트워크를 구성하게 되면 바로 가상사설망이라고 하는 VPN(Virtual Private Network)이 되는 것이죠.


다음강좌에서는 이를 이용한 활용방법을 알아보겠습니다.


 


+ Recent posts