레이블이 제피노스는 괴롭다인 게시물을 표시합니다. 모든 게시물 표시
레이블이 제피노스는 괴롭다인 게시물을 표시합니다. 모든 게시물 표시

2014년 11월 11일 화요일

OpenVPN 윈도우즈 설치기

먼저...OpenVPN 을 설치하게 된 이유부터 밝힙니다.

회사에서 자체적인 인터넷 회선을 사용하지 않고 공동으로 사용하는 회선을 사용하고 있습니다. 그래서 원하는 포트를 마음대로 포트 포워딩 하기 힘듭니다.

그리고 망 관리자가 VPN 도 열어주기 쉽지 않은 상황입니다.

회선의 포트 포워딩도 A 회사는 14001~14009 번까지, B 회사는 14002~14009 까지...이런 식으로 일괄적으로 IP 하나를 정해서 회사에 부여를 해주더군요. 그런데 사용하는 Couchbase 는 포트를 임의로 바꾸면 컨트롤 하기 어렵습니다.

결론은???  포트를 하나만 이용하는 OpenVPN 이 해결책입니다. 물론 SSH Tunneling 도 괜찮은 방법이지만 사용상의 까다로움은 OpenVPN 쪽이 덜하다고 생각합니다. 물론 구축은???

어쨌든...



회사에서 이미 서버를 Windows...그것도 Windows 7 으로 깔아놓은 상황이라(도대체 전임자는 무슨 생각인건지) 몇 가지 문제점과 그에 따른 해결을 모색하면서 기존에 오해했던 부분들도 바로 잡을 수 있었습니다.



1. 설치

www.openvpn.net 에 접속합니다. Community 에 들어가 Download 메뉴에 들어갑니다. 지금 이 글을 쓰는 시점에선 OpenVPN 2.3.5 -- released on 2014.10.28 버전이 가장최신 버전입니다. 본인의 OS 에 맞는 설치 파일을 다운로드 받습니다.
여기서 잠깐...서버와 클라이언트가 같이 있으므로 접속 대상자에게도 이 파일을 제공해야 합니다.

종래의 *NIX 에는 갖가지 패키지 시스템(ports, pkgsrc, apt-get, yum 등)을 통해 의존성이 있는 프로그램을 설치해주지만, 윈도우즈의 경우 중간에 선택하여 설치할 수 있습니다. 중요한 건 TAP 이라는 네트워크 드라이버를 설치해주는데, 이건 설치를 해야 한다는 것입니다.

설치를 마치면 보통  C:\Program Files\OpenVPN 에 프로그램이 설치됩니다. 하위 디렉토리인 sample-config 디렉토리로 이동하면 sample 이 3 개 존재합니다. 당연히 Server 구축 시에는 server.ovpn 을 이용해야 합니다. 이 파일을 OpenVPN 디렉토리 하위의 config 디렉토리에 복사합니다.

그리고 설정 파일을 텍스트 편집기(저는 Editplus 정식 구매자로, Editplus 을 애용합니다)로 열어서 편집합니다. 주의할 것은 Administrator 로 접속하지 않았다면 텍스트 편집기를 열 때 관리자 권한으로 열어서 설정 파일을 열어야 합니다.

주의깊게 봐야 될 옵션은 다음과 같습니다.

port 1194
proto udp
dev tun

ca ca.crt
cert server.crt
key server.key

dh dh1024.pem

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

push "route 10.0.0.0 255.255.255.0"
push "redirect-gateway"
push "dhcp-option DNS 168.126.63.1"
client-to-client

keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3

사실 위 옵션만 있으면 모든게 끝납니다.

port 와 proto, dev 는 각각 OpenVPN 의 포트, 프로토콜, 방식입니다. 포트는 외부에서 접근 가능하게 열려있는 포트, 포로토콜은 말 그대로 프로토콜입니다. 방식의 경우 tun 와 tap 이 있는데, 국내 문서는 대부분 tun 으로 되어 있습니다. tun 은 공유기와 같이 해당 머신에서 다시 NAT 을 이용해서 가상의 IP 대역을 만들어 분배를 하는 방식입니다. 상단에 DHCP 가 존재하고 IP 발급이 자유롭다면 tap 형식으로 바꾼 뒤 bridge 방식으로 설정하면 머신과 동일한 레벨에서 IP 을 받아 사용할 수 있습니다. 하지만, 이 경우 네트워크 연결(제어판\네트워크 및 인터넷\네트워크 연결)에서 기존의 랜카드와 새롭게 생긴 TAP(로컬 영역 연결로 생성되며 TAP-Windows Adapter V9 으로 장치 이름이 나타납니다) 장비와 bridge 을 미리 생성해야합니다. 이 때 원격에서 작업하게 되면 네트워크 연결이 끊겨서 재접속이 안되니 주의를 해야 합니다. tun 은 기존의 랜카드로 들어가 인터넷 연결 공유(속성>공유>인터넷 연결 공유)을 체크하고 홈 네트워킹 연결에서 TAP 장치를 선택해주면 됩니다.

tun 으로 설정할 것이기 때문에 아래의 server 옵션과 push 옵션이 중요합니다.
server 옵션은 새롭게 생성할 가상 IP 의 대역입니다. 공유기를 써보신 분들은 아시겠지만 공유기 내에서는 외부의 IP 하나를 가상의 IP 여러개가 공유해서 쓰는 방식입니다.
 그래서 저렇게 새로운 가상 IP 영역이 필요한데, 기본값은 10.8.0.x 를 사용하도록 되어 있습니다. 본인이 평소 쓰는 대역과 다르게 해주는게 좋습니다.

그리고 push 에서 route 부분은 외부의 인터넷의 대역을 적어줘야 합니다. 이 값은 기존의 랜카드의 자세히 보기를 통해 확인할 수 있는데, 제가 있는 곳은 10.0.0.x 형태로 아이피를 발급하고 Subnet Mask 는 255.255.255.0 을 제공해주기 때문에 위와 같이 적었습니다. 이런 mask 기입은 여기서 설명하자면 좀 기니까...명령 프롬프트에서 ipconfig 명령 등으로 확인하고 기입하는 법을 좀 공부하시는 것도 좋겠네요.
나머지 두 개의 push 는 저와 같이 그대로 적어주시는 것도 좋습니다. 저 옵션은 VPN 으로 연결한 뒤에도 VPN 서버를 통해 인터넷을 하기 위해 적어주는 옵션입니다. redirect-gateway 을 통해 VPN 서버를 통해 인터넷을 하겠다는 것과 dhcp-option DNS 을 통해 새로 발급한 가상 IP 에 DNS 정보를 적어주는 것입니다. 168.126.63.1 은 우리나라 대표 DNS(KT 에서 운영)로 자신의 환경에 맞는 DNS 을 적어줄 수 있고, 여러 개를 쓰고 싶을 경우 이어적지 마시고 여러줄 적어주시면 됩니다.

그 외에 OpenVPN 은 개인키/공개키 방식의 보안 접속을 기본으로 하기 때문에 ca, cert, key 을 생성해서 등록해줘야 하고, config 디렉토리에 넣어둘 경우 저렇게 파일 이름만, 다른 위치에 두고자 할 때에는 ca "C:\\ca.crt" 와 같이 쌍따옴표를 이용해 경로를 지정해주고 역슬래쉬(\)는 두 번을 적어줘야 합니다.

keepalive 는 접속 유지 시간, comp-lzo 는 통신 내용 압축, status 는 로그 파일, verb 는 로그 단계(내용)에 관련된 내용입니다. 기본값 유지를 권장합니다.

이렇게 서버를 설정하신 뒤 server.ovpn 파일에서 마우스 우측 버튼으로 Start OpenVPN on this config file 을 실행하시면 서버가 실행됩니다. 명령 프롬프트 창이 뜨니까 거기에 나오는 내용을 잘 보세요. 혹시 에러가 있을 경우 내용을 보고 수정을 해야 합니다.

물론 서비스에도 등록이 되기 때문에 서비스로 가셔서 OpenVPN 을 실행해도 됩니다.




클라이언트의 경우 서버와 비슷합니다. 마찬가지로 sample-config 에서 client.ovpn 을 config 디렉토리로 복사한 디 설정파일을 서버와 내용을 맞춰가면서 설정하면 됩니다.

client
dev tun
proto udp

remote 123.123.123.123 1194

resolv-retry infinite
nobind
persist-key
persist-tun

ca ca.crt
cert client.crt
key client.key

ns-cert-type server
comp-lzo
verb 3

dev와 proto 는 서버와 동일하게 해주시고, remote 에서 OpenVPN 서버를 생성한 서버의 실제 IP 와 포트를 적어줍니다. 그 외에는 모두 그대로 두시고, ca, cert, key 역시 생성된 것을 config 디렉토리에 넣어줍니다. ca 는 서버와 동일한 파일이고 cert, key 는 클라이언트용 파일입니다. 이 역시 생성 방법은 찾아보면 많습니다.

주의하실 점은 처음 생성할 때에는 client 키를 잘 만들었는데, 그 다음부턴 오류가 난다(C:\*.old을 찾을 수 없습니다)는 분들이 계신데, easy-rsa 에서 init-config 와 vars 을 다시 실행한 뒤 생성하시면 됩니다.

그리고 클라이언트에서는 openvpn-gui.exe 파일로 트레이에 아이콘을 띄워놓고 쓰는게 편한데, 관리자 권한으로 실행되야 합니다. 그러므로 해당 파일을 항상 관리자 권한으로 띄우도록 설정한 뒤 사용하는게 편합니다.

이상 끝!!!



이 문서는 처음 OpenVPN 을 설치하는 분이 아닌, 기존 문서를 보고 좀 막힌다 싶은 분들을 위한 문서입니다. 처음 구축을 하시는 분들은 구글에서 "openvpn 윈도 설치" 로 먼저 검색(http://goo.gl/OqFdM5) 한 번 해보시고 문서들 보면서 좀 익히신 뒤 따라해보세요.

2012년 10월 29일 월요일

내 컴퓨터 목록

회사 업무용 메인 노트북 : Gigabyte U2442N Dual (Libra)

회사 업무용 서브 노트북 : LG XNote Z1 Advanced (Aries)

폐기 일보직전 노트북 : Compaq (Virgo)


그 외 메인 데스크탑PC, 파일서버PC, 맥북프로PC 가 있는데...이름이 기억이 안남...

2011년 8월 20일 토요일

컴퓨터에서 가장 중요한 부품은 뭐니뭐니 해도 CPU!

인간에게 심장이 중요하냐, 뇌가 중요하냐, 기타 장기가 중요하냐...는 건 논쟁거리 밖에 안되지만, 인간을 인간답게 만드는 가장 중요한 요소가 발달된 두뇌를 통한 사고라는 것을 감안하면 당연히 인간에게 가장 중요한 장기는 뇌라고 생각한다.

마찬가지로 컴퓨터 역시 가장 중요한 3대 요소가 연산, 기억, 처리인데 이 모든 것이 CPU 에 포함되어 있다. 당연한 이야기이지만 컴퓨터의 성능에 영향을 미치는 비율도 대략 60~70% 정도이므로 가장 중요한 부품은 CPU 라 할 수 있겠다.

IBM 이라는 공룡, IT 제국 등으로 비유되는 업체는 PC 라는 것을 제창해서 개인들에게 널리 컴퓨터를 보급하게 만들었고, 이 때 채용된 컴퓨터의 두뇌인 CPU 는 인텔이라는 비교적 무명의 업체 제품이었다. 8086, 8088, 80286 등의 진화를 거듭하며 인텔은 이제 세계에서 손가락 안에 꼽히는 회사가 되었고, PC 용 CPU 시장에서도 90% 정도의 점유율을 가지며 독과점 때문에 점유율을 늘이지 않도록 조심해야 하는 입장에 서 있는 회사이기도 하다.
한 때 경쟁상대였던 AMD 는 INTEL 이 프레스캇이라는 코드네임의 CPU 등으로 삽질을 하는 동안 점유율을 크게 늘렸으나 INTEL 이 CPU 구조를 완전히 갈아엎는 대변혁을 통해 반전을 시도하자 완전히 밀리기 시작했고, 아직도 현재 진행중이다. 물론 현재 언제 나올지 미지수인 AMD 의 신제품인 불도져라는 코드 네임의 새로운 CPU 가 나와도 계속될 것 같다.

INTEL 은 이러한 이점 속에서도 외계인을 감금하고 있다는 오해(?)까지 사가며 또 한 번 일대 혁신에 가까운 제품을 몇 년 전에 출시했는데, 그것이 바로 i 시리즈이다.
예전에는 CPU 의 등급은 오로지 속도 표시였다. Pentium 으로 대변되던 586/686 계열의 CPU 에서도 Pentium 100, Pentium 120 등의 이름으로 판매되었고, 뒤의 숫자가 곧 처리 속도를 의미했었다. 하지만 AMD 의 반격을 기점으로 완전히 내부 구조를 갈아엎은 뒤(위에서 설명했던!) 속도와 무관한 숫자를 뒤에 붙이기 시작함으로써 컴맹, 초보사용자들에게 속도에 대한 오해를 불러일으키기 시작했다.
급기아 i 시리즈에서는 i3/i5/i7 이라는 세 개의 코드접두어를 사용하여 더욱 혼란을 가중시키고 있는 실정이다. 물론 어려운 작명은 아니지만, 초보에게는 뭐든 어렵지 않겠는가!

어제도 나의 친한 벗은 노트북 CPU 가 더 좋은거냐는 질문에 i7 뒤에 붙은 게 뭐냐고 물어보았다. 그럼, i7 은 뭔지 알고 그러느냐고 되묻고 싶었는데...
사실 i 뒤에 붙은 숫자가 높으면 높을 수록 좋은 건 맞다. i3 가 듀얼코어, i5/i7 은 쿼드코어이라던가 그 외 다른 차이점을 일일이 나열할 필요없이 i7 이 좋다. 물론 i5 중에는 또 두가지 이상으로 타입이 나뉘어지기도 하고, 같은 등급 중에서도 코드명(결국 후속모델)에 따라 기능이 또 다른게 있는데...어찌 다 설명할 수 있겠는가!

결국 지금 컴퓨터, 노트북을 산다면 CPU 를 고려할 때에는 숫자 높은게 장땡이라는 것이다. 물론 i7-760 같은 이름에서 i5-2500 같이 갑자기 뒷자리가 4자리로 뛰어버려서 혼란도 가중되고 있지만...위에서 이렇게 구분하라고 말하지 않는 가장 큰 이유는 나 역시 모르기 때문이다. 그럼 어떻게 하라고?

바로 검색을 하란 소리다! 구글을 위시한 좋은 검색엔진이 많고, 다나와 같은 사이트를 봐도 단품 CPU 의 경우 속도부터 해서 기본적인 특징이 다 나온다.
그런데도 제피노스를 괴롭게 하는 사람들의 전형적인 특징은 여기서도 나온다. 바로 검색 따윈 가볍게 무시해주고 제피노스에게 바로 질문을 해서 답을 얻는, 말 그대로 자기들만 편한 행동을 스스럼 없이 하고 제피노스에게 피해를 준다는 사실은 까맣게 잊는다는 것이다.
그렇다고 물어보는 것 자체를 하지 말라는 소린가? 물론 아니다. 검색을 통해 얻은 지식을 나누고 의견을 묻고 확인을 하라는 것이다. 무조건 물어보는건 예의가 아니지 않는가! 제피노스가 왜 많은 걸 알고 있는거라고 생각하는가? 원래 알고 태어나서? 똑똑해서(이건 맞을지도...)? 아니다!!! 물어보는 사람들보다 더 많이 검색해서 알아봤고 더 많이 아는 사실들을 바탕으로 더욱 정답에 가까운 답을 찾고자 머리를 굴리고 판단하고 분석했기 때문이다.

CPU 에서도 이러한 사람이 접대받는 시대가 되었다. CPU 의 성능을 알고 싶다고? 검색해보라.

그리고, 한가지 첨언하지면 노트북은 업그레이드가 불가능한 부품이 상당수다. 그래서 노트북 고를 때에는 i3/i5/i7 등의 등급 정도만 정해놓고 나머지 기능 중 자신이 원하는 기능을 가진 제품을 찾아내어 선택하라고 하고 싶다. 너무 뒷자리가 차이나지 않는 이상 부가기능으로 인해 발생하는 문제 때문에 받는 스트레스보다 속도에 대한 스트레스가 크지 않기 때문이다. 제발 노트북 살 때 CPU 중에 i7 950 과 i7 980 중 어느게 더 좋아...와 같은 허접한 질문이 없길 바란다(뒷자리는 내가 지금 임의로 만든 숫자니까 의미를 가지지 맙시다).

2011년 8월 18일 목요일

gmail 과 아웃룩(2010 x64 버젼 기준)의 연동 작업을 요청하여 작업을 하였다.
m.google.com 을 이용한 Exchange Server 를 이용하는 방법은 잘 안되는 것 같다.
그래서 메일과 일정만 연동하였다.

메일은 읽기와 쓰기를 따로 설정해주는데...

읽기를 위해 먼저 imap 을 gmail 에서 허용해주고, imap.gmail.com 에 SSL 을 이용하도록 설정을 해주었다.
쓰기는 smtp.gmail.com 에 TLS(587 포트)로 설정했고(물론 SSL을 이용할 수도 있다), 보내는 메일 인증을 활성화 하였다. 썬더버드 같은 메일 클라이언트는 이걸 자동으로 처리하는데 아웃룩은 그렇게 해주질 않는다.

일정의 경우 구글에서 제공하는 프로그램으로 동기화를 시키는데, 그닥 좋아보이지 않는다.