https://www.clien.net/service/board/lecture/11350047
VPN(Virtual Private Network) 은 여러가지 용도로 사용되고 있습니다.
특정 서비스를 제공하는 회사에서 자사의 서비스를 이용하기 위한 네트워크 환경을 제공하는 목적으로 사용되기도 하고,
집에서 회사의 네트워크에 접근하려고 한다거나 혹은 그 반대일 수도 있구요.
개인적으로는 거주 국가, 거주 환경에 따라 접속이 막힌 사이트 등을 접근하는 것에 이용될 수도 있습니다.
윈도우에서 기본적으로 제공하는 PPTP 기반의 VPN도 있습니다만,
개인적으로 사용해 보았을 때 연결이 자주 끊어진다든지 혹은 속도가 회선만큼 나오지 않거나
또 패킷의 암호화등에 대해 여러가지가 안정적으로 보여지지 않았습니다.
ipTIME 의 몇몇 모델에서도 공유기 내부에서 PPTP 를 이용한 VPN 기능을 제공하지만,
PPTP 라는 설명을 보고는 이용해 보지는 않았습니다.
그래서 개인적으로는 이 OpenVPN 을 정말 잘 애용하고 있습니다.
OpenVPN ( 은 상당히 유명한 공개 솔루션입니다.
해당 사이트에서는 두가지 VPN 이 있는데요.
1. OpenVPN Access Server (유료) - 설정 쉬움, 배포 쉬움
2. OpenVPN Community Server (무료) - 설정 어려움, 배포 까다로움
오늘의 대상인 이 OpenVPN Access Server 는 라이센스를 필요로 합니다.
하지만 관리하기 쉬운 Web 인터페이스를 제공을 하고, 설정을 모두 마치고 나면
클라이언트용 설치본(Windows, Linux, 안드로이드, iOS용)을 알아서 만들어 주기까지 합니다.
라이센스가 필요한 버젼이지만 동시 사용자가 2명까지는 무료로!!! 사용할 수 있습니다. (불법 아니에요~)
중국에 거주하는 친구가 네이버 야구중계나 Google 을 들어갈 수 없다고 빨리 VPN 을 만들라고 난리입니다.
그래서 이 OpenVPN 을 CentOS Linux 6.4 (32-bit) 에 설치해서 운용해 보겠습니다.
요즘은 시놀로지나 여타 NAS에서 이 OpenVPN 서비스를 제공하는 듯도 한데
제가 그런 NAS 솔루션을 이용하지는 않아서 잘은 모르겠구요.
전 제가 사용하는 자작 서버에 설치하는 방법을 기준으로 작성하겠습니다.
-------------------------------------------------------------------------------------------------------------------------------------------------
다운로드 받으러 갑니다.

보시다 시피 현재 리눅스만 지원합니다.
Redhat, Fedora, CentOS, Ubuntu, Debian, OpenSUSE 만 가능합니다. (윈도우용은 없습니다)
rpm 과 deb 만 제작했다는 얘기가 되겠네요.
모두 동일하며 패키지 설치방법만 조금 다르겠네요.
rpm 패키지 (RedHat, Fedora, CentOS, OpenSUSE) 는 rpm -ivh *********
deb 패키지 (Ubuntu, Debian) 는 dpkg -i *********
이런식으로 설치하면 되겠습니다.
들어가 보면 32비트용과 64비트용이 따로 있습니다.

전 32-bit 를 받아서 서버에 넣었습니다.
이제 설치해야죠.

설치하고 나면 메시지가 뜨는데 openvpn 계정의 패스워드를 만들라는 얘기이고, 접속할 수 있는 URL 도 설명하고 있습니다.
ifconfig 를 때려보면 NIC 가 두개 (as0t0, as0t1) 가 더 생겨 있습니다. 정확한 의미는 저도 모릅니다. (__)

이제 웹으로 접속해 보겠습니다. 설치한 서버의 IP 는 192.168.99.93 입니다.

신뢰할 수 없다고 경고가 뜹니다.
살며시 예외추가.. 를 해주시면 됩니다.

openvpn 계정의 패스워드를 생성하지 않았다면 여기에서 로그인을 할 수 없습니다.
생성한 패스워드를 넣고 로그인합니다.

여기까지 오면 서버 설치는 완료되었습니다. 수고하셨습니다~
여기까지만 해도 사용하는데에는 무리가 없습니다.
하지만 무리가 없을 수 없습니다~ 설정을 해야 합니다.

Configuration -> Server Network Settings 를 가봅니다.
Hostname or IP Address 부분이 기본값으로는 192.168.99.93 이라고 되어 있습니다.
이렇게 되면 클라이언트는 저 주소로 서버에 연결하려고 시도할 겁니다.
중국에 있는 친구가 자기 PC 에서 192.168.99.93 을 아무리 Lookup 해봐야 내 서버를 찾을 수 없습니다.
그 친구의 공유기 내부 네트워크에서 맴돌겠지요.
그래서 원격에서 찾을 수 있는 도메인이나 IP 주소를 입력해야 합니다.
이 부분은 기본 개념을 알고 계셔야 하는데, 여기에서 설명하기는 힘들겠습니다. (__)
ip시간이나 dyndns, duckdns 같은 서비스를 이용하셔도 됩니다.
일단 저는 제가 가진 도메인주소를 입력하였습니다. (물론 aaa.bbb.com 은 아닙니다.)
TCP Port Number: 443 -> 2443
UDP Port Number: 1194 -> 21194
로 저는 변경하였습니다. 기본값을 그대로 써도 무방합니다.

여기에서 Web UI 의 포트도 저는 943 에서 2943 으로 변경하였는데, 역시 기본값으로 써도 상관 없습니다.

Configuration -> VPN Settings 를 가봅니다.
VPN 내부의 IP 대역을 설정하는데, 저도 그대로 사용하겠습니다.

그 다음 라우팅 부분을 보겠습니다.
1 번은 VPN 클라이언트가 내부 네트워크 즉, 제가 사용하고 있는 Private Network 에 접근을 가능하도록 할 것인지를 설정합니다.
제가 사용하는 내부 네트워크는 192.168.99.0/24 이며 여기에 파일서버, 토런트서버, 공유기 등등이 물려 있습니다.
여기를 기본값인 Yes 로 두게 되면 VPN 클라이언트는 내부네트워크상에 존재하게 됩니다.
친구에게 제 서버들을 보게 하고 싶지는 않습니다. 제 공유기 세팅을 건드릴 수도 있습니다.
No 를 선택했습니다.
2 번은 VPN 클라이언트의 인터넷 트래픽이 모두 VPN 서버를 통할 것인지를 설정합니다.
이건 해줘야 겠지요. 안하면 VPN 클라이언트는 VPN 서버와의 통신만 할 수 있습니다.
3 번은 VPN 클라이언트가 VPN 서버의 서비스들에 접근가능하도록 하겠는지를 설정합니다.
Yes 해줘도 관계 없습니다. VPN 서버에서는 VPN 만 돌고 있으니까요.

User Management 의 User Permissions 로 가보겠습니다.
openvpn 계정은 이미 생성되어 있습니다. 추가로 계정을 추가하려면 시스템 계정이 있어야 하며,
서버에서 useradd 로 생성하고 여기에 New User 로 추가해 주면 됩니다.
Allow Auto-Login 은 클라이언트가 해당 ID를 사용해 패스워드를 묻지 않고 바로 접속하는 걸 해주겠느냐는 의미입니다.
이제 원격에서 접속해 보도록 하겠습니다.

URL 은 가렸습니다.
(실제로 여기에 접속하지 마세요~ 하지 말라고 하면 꼭 하시는 분이 있다는... ^^)
여기도 들어갈때 인증서 어쩌고 하는 경고가 나오는데 무시하면 됩니다.
빨간 박스로 표시한 부분은 Connect 와 Login 을 선택할 수 있는데,
클라이언트 툴이 설치된 상태에서는 로그인만 하면 바로 VPN 연결이 됩니다.
(IE 에서만 될지도 모릅니다. 사실 안해봤습니다. -_-;; 전 그냥 트레이에 있는 아이콘으로 접속을 하기 때문에....)
처음엔 툴이 설치되어 있지 않으므로 Login 을 선택하고 들어갑니다.

클라이언트는 다양한 버젼을 지원합니다.
윈도우 부터 안드로이드, iOS 까지~
스마트 폰에서 VPN 연결을 한 다음 제 공유폴더에 있는 영화를 재생할 수도 있습니다.
일단 Windows 버젼을 받았습니다.

설치를 하고 실행을 하면 트레이에 아이콘이 생깁니다.
클릭하면 메뉴가 뜨는데..

Connect to ... 를 선택하면 바로 접속합니다. (자동로그인 설정이 되지 않은 계정은 패스워드를 물어 볼 수도 있습니다)

접속이 성공하면 다음과 같은 아이콘으로 변경되며 메시지도 접속 되었다고 표시가 됩니다.
이제 다시 서버의 관리 툴로 한번 가보겠습니다.

Current Users 를 눌러봅니다.
현재 연결된 계정과 어떤 원격 주소에서 접속했는지,
접속 시간은 얼마나 되고 송수신 트래픽은 얼마나 되는지도 볼 수 있습니다.
라이센스를 구매하지 않으면 최대 동시 접속은 2명입니다.
역시 VPN 에 성공적으로 접속이 되면 클라이언트의 IP 대역은 서버의 공인 IP 대역으로 바뀌게 됩니다.
** 서버의 설정이 바뀐 다음에는 클라이언트 설치 파일을 새로 받아서 설치해야 합니다.
그렇게 하지 않으면 서버의 바뀐 설정이 클라이언트에 적용되지 않습니다.
** 저는 공유기의 포트포워딩을 이용해서 해당 포트들이 192.168.99.93 서버로 향하도록 설정했습니다.
공유기를 사용하시는 분들은 DMZ 를 쓰시거나, 비슷한 방법을 사용하셔야 합니다.
--------------------------------------------------------------------------------------------------------------
여기 까지 OpenVPN Access Server 버젼에 대한 팁이었습니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 24 | apt-get upgrade 수행 시 특정 패키지만 빼고 설치하기 | proin | 2018.10.04 | 0 |
| 23 | apt-get upgrade 수행 시 특정 패키지만 설치하기 | proin | 2018.10.04 | 1 |
| 22 | 필요없을지도 모르지만 왠지 겁나니까 | proin | 2018.10.02 | 2 |
| 21 | Info - XE 백업 및 복원 (통째로 서버 옮기기) | proin | 2018.10.02 | 1 |
| 20 | 워드프레스와 백업(backup) | proin | 2018.10.02 | 0 |
| 19 | iptables 정리 | proin | 2018.10.02 | 3 |
| 18 | 변경된 iptables 저장 방법 | proin | 2018.10.02 | 0 |
| 17 | 내 서버에는 누가 들어오는걸까? (실시간 user-agent 분석기) | proin | 2018.10.02 | 1 |
| 16 | BIND DNS Server | proin | 2018.10.02 | 0 |
| 15 | Setting up a BIND DNS Server | proin | 2018.10.02 | 1 |
| 14 | How To Configure BIND as a Private Network DNS Server on Ubuntu 18.04 | proin | 2018.10.02 | 0 |
| 13 | 뭔가 쓸만 할수도 있는 사이트 | proin | 2018.10.01 | 1 |
| » | OpenVPN Access Server 구축하기 | proin | 2018.10.01 | 6 |
| 11 | ZmEu 해킹시도 접근 | proin | 2018.10.01 | 0 |
| 10 | [Linux] 압축 파일 관리 - gz 압축하기, 압축풀기 | proin | 2018.10.01 | 1 |
| 9 | [devil's camp] - 트위터 봇 만들기 (권준혁) | proin | 2018.09.27 | 0 |
| 8 | 아파치 가상호스트 | proin | 2018.09.26 | 1 |
| 7 | [SPRING] 스프링 시큐리티 (비밀번호 암호화) | proin | 2018.09.19 | 3 |
| 6 | [MySQL] MySQL의 password() 함수와 암호화 | proin | 2018.09.19 | 2 |
| 5 | 안전한 패스워드 저장 | proin | 2018.09.19 | 1 |