콘텐츠로 건너뛰기
Home » 20090925 :: 리눅스에서 nortel vpn 접속하기

20090925 :: 리눅스에서 nortel vpn 접속하기

우분투 리눅스를 노트북의 주력 OS로 사용하면 가장 절망(?)적인 것이 한 가지 있다면 그것은 vpn연결이었습니다. 리눅스에서도 여러가지 vpn 클라이언트들을 제공하지만, 제 직장에서는 Nortel Networks Contivity VPN 을 사용합니다. 따라서 기존에 나와 있는 vpn 클라이언트들은 설정도 모르겠고, 구글링을 해봐도 어디에나 방법을 묻거나, “그런 거 없다”는 이야기 뿐이었습니다. (아 정말 이 말을 포럼에서 봤을 땐 보란 듯이 성공해보고 싶었습니다.. ㅠㅠ)
실제로 Nortel Networks에서는 리눅스용 클라이언트를 상용으로 팔고 있다는 소문도 있었고, 평가판을 제공한다는 이야기도 있었지만, 결국은 다 안되더군요. 하지만 피와 눈물과 땀을 엄청나게 투자한 끝에, 오늘 이 밤, 회사 vpn에 성공적으로 접속하여 원격으로 문서를 메일로 전달하는데 성공했습니다. 그럼 이제부터 그 눈물겨운 과정을 함께 하도록 하겠습니다.

사전작업

먼저 윈도우에서 VPN 클라이언트를 실행해서, 프로그램 정보 및 연결 정보 (트레이아이콘에서 Status…)를 확인합니다. 이 모든 정보는 매우 중요하니 모조리 기록해 두도록 합니다. 이제, 우분투로 부팅합니다. 참고로 제 경우에는 회사 vpn은 그룹ID, Password로 인증받는 경우입니다. 다른 설정인 경우에는 vpnc 프로그램의 설정 부분을 주의깊게 읽어보고 해당 항목을 윈도우용 클라이언트에서 찾으면 됩니다.

준비

맨 처음 할 것은 vpnc-nortel을 설치하기 위한 디렉터리로 이동합니다.

cd ~/bin   (이미 만들어두었다고 가정합니다)

먼저 소스를 svn에서 내려받기 위해 subversion을 설치합니다.

sudo apt-get install subversion

그리고 소스를 컴파일하기 위해 필요한 패키지도 설치합니다.

sudo apt-get install build-essential

vpnc-nortel 컴파일을 위해서는 다음 패키지도 필요하다고 합니다.

sudo apt-get install libgcrypt11-dev (혹은 build-essential을 설치하면 같이 설치되기도 합니다.)

그리고 vpnc를 기반으로 하기 때문에 vpnc가 의존하는 패키지도 미리 다운로드 받아둡니다.

sudo apt-get build-dep vpnc

이제 소스를 내려 받습니다. 아래 명령을 실행하면 vpnc-nortel이라는 디렉터리가 생성됩니다.

svn co -r 414 http://svn.unix-ag.uni-kl.de/vpnc/branches/vpnc-nortel

이 때, -r 스위치를 사용하여 버전을 명시했습니다. 저 버전은 되더군요. 최신 버전은 이상하게 안됐습니다.

설치

소스 다운로드가 끝나면 설치를 합니다. 방금 새로 생성된 디렉터리로 이동합니다.

cd vpnc-nortel

Makefile 파일을 조금 수정해야 합니다.

sudo vi Makefile (or sudo gedit Makefile)

그러면 긴 주석문 아래에 PREFIX 라는 값에 다음과 같이

PREFIX=/usr/local

이라고 되어 있는데, 여기를

PREFIX=/usr

로 수정해줍니다.
이제 설치를 진행합니다. 다음의 명령을 순서대로 입력해 줍니다.

make
sudo make install

설정

디폴트로 생성되어 있는 설정 파일은 cisco 장비에 맞게 되어 있습니다. 그러니 이 부분은 그냥 따로 보관합니다.

sudo mv /etc/vpnc/default.conf /etc/vpnc/default.conf.install

이제 설정 파일을 따로 만들어야 합니다. 설정 파일을 만들기 전에 어떤 어떤 항목을 설정할 것인지 미리 알아보기 위해서는

vpnc –long-help

를 입력하여 대략 알아봅니다. 그러면 설정값들이 뭘 의미하고, 설정 파일에서는 어떤 이름으로 설정하는지 나옵니다. 아까 기록해 둔 윈도에서의 설정값과 비교하여 입력할 수 있는 내용들을 골라봅니다.

sudo vi /etc/vpnc/default.conf (익숙치 않으시다면 vi 대신 gedit 를 사용하여, 텍스트 에디터에서 작업하는 것이 정신 건강에 좋을 수도 있습니다)

내용은 대략 다음과 같습니다. 단 아래 내용은 제 경우에 한한 것이니 다를 수도 있습니다. X로 가리거나 붉은 글씨로 표시한 부분이 그렇습니다.

Vendor nortel #Nortel 꺼라고 선언합니다.
Nortel Client ID V06_01
IPSec gateway XXXX.XXX.XXX.XXX
IPSec ID XXXXX (이것이 그룹 ID)
IPSec secret XXXXXXXXX (이건 그룹 Password)
NAT Traversal Mode none
IKE DH Group dh1 (D….. H….. 라는 뭔가 긴 단어의 약어입니다. 윈도용 클라이언트에서는 약어로 표시되지 않습니다.)

IKE Authmode gpassword
Enable Single DES #맨 마지막 줄은 첨에 없이 실행했더니 연결이 안돼서 추가했습니다.
#아이디와 패스워드를 묻지 않으려면 아래를 추가합니다. (전 안했습니다.)
Xauth username <아이디>
Xauth password <패스워드>

다 했습니다. 이제 vpnc를 실행합니다. vpn 설정을 위해 네트워크 설정을 내부적으로 변경하니 관리자 권한이 필요합니다.

sudo vpnc (혹은 sudo ./vpnc)

제 경우에는 아이디와 비밀번호를 묻더군요. 최신 버전을 설치했을 때는 이상하게 게이트웨이 주소를 파싱하지 못하고 연결이 안됐습니다. 계정 정보를 입력하고나면 윈도에서 연결할 때와는 달리 아주 빨리 연결이 돼 버립니다. 그리고는 “VPNC started in background (pid : 0000)”과 같이 잘 실행됐다고 나옵니다.
믿을 수가 없어서 핑도 날려보고, 원격 데스크톱도 연결해봅니다.
원격 데스크톱을 연결하고 싶다면

sudo apt-get install rdesktop 로 설치하고

rdesktop xxx.xxx.xxx.xxx (연결할 컴퓨터의 ip)

그러면 윈도에서 원격 데스크톱 연결을 실행한 것과 동일한 화면이 표시됩니다.

드디어 해냈습니다. 축하합니다!!! 짝짝짝짝

아, vpn 연결을 끊고 싶다면 아까 그 디렉터리로 가서 스크립트를 실행합니다.

sudo ./vpnc-disconnect

정말이지 감개가 무량한 순간입니다. 혹시 vpn 연결에 있어서 저와 비슷한 상황이신 분께 도움이 되었으면 합니다. 그럼 즐거운 하루 되세요!