|
|
## 목차
|
|
|
|
|
|
[TOC]
|
|
|
|
|
|
## 개요
|
... | ... | @@ -29,7 +27,7 @@ vpn을 이용할려면 키가 포함된 클라이언트 설정 파일(.ovpn 파 |
|
|
|
|
|
다른 OS 환경에서도 이용방법은 크게 다르지 않다.
|
|
|
|
|
|
### vpn 이용상의 주의점
|
|
|
## vpn 이용상의 주의점
|
|
|
|
|
|
개인 키가 포함된 설정파일(.ovpn 파일)을 갖고 있으면 누구나 회사의 네트워크에 접근할 수 있다. 그렇기 때문에 공용환경에서 함부로 설정파일을 이용해서는 안된다. 개인 노트북이나 집 데스크탑, 개인 핸드폰 등 안전이 보장된 환경에서만 사용하는 것이 바람직하다.
|
|
|
|
... | ... | @@ -37,64 +35,8 @@ vpn을 이용할려면 키가 포함된 클라이언트 설정 파일(.ovpn 파 |
|
|
|
|
|
vpn을 쓰면 자신의 컴퓨터에서 이용하고 있는 인터넷 연결이 회사내의 네트워크를 거쳐서 이용하게 된다. 일반적인 용도에는 상관없지만 유튜브 등을 이용한 동영상을 시청하는 것은 회사 내부 네트워크와 vpn 서버에 부하를 주게 된다. 그럴 경우에는 vpn을 끄고 이용하자.
|
|
|
|
|
|
### 알려진 문제
|
|
|
## 알려진 문제
|
|
|
|
|
|
아이티메세지의 내부 네트워크는 192.168.1.x, 192.168.2.x, 192.168.3.x 서브넷을 이용하고 있다. openvpn을 이용하여 접속한 클라이언트는 다른 서브넷에 속한 아이피를 할당 받지만, vpn을 이용하고 있는 내 노트북이 접속한 외부(로컬) 네트워크가 회사와 같은 대역의 서브넷(192.168.[1|2|3].x)을 쓰고 있다면 아이피 충돌이 발생한다. 이 경우 내가 접근하려는 회사내의 서버 주소와 똑같은 아이피를 로컬 네트워크에서 사용하고 있으면 접속이 안된다.
|
|
|
|
|
|
이 충돌을 우회할려면 로컬 네트워크를 쓰지 말고 핸드폰 핫스팟을 이용하는 방법이 있다. |
|
|
|
|
|
## vpn 관리
|
|
|
|
|
|
### 서버 설치
|
|
|
|
|
|
이하는 서버 설치 과정과 서버에서 사용자 관리 방법을 설명할 예정임으로 vpn 사용에만 관심있는 사람은 [다음](#vpn-이용)으로 넘어가면 된다.
|
|
|
|
|
|
사내의 openvpn은 192.168.2.249(ubuntu 20.04.2 LTS) 서버에 설치되었다. openvpn의 경우 서버 설치보다는 설치후 각종 설정이 까다롭다. 하지만 [Ubuntu 20.04 LTS Set Up OpenVPN Server In 5 Minutes](https://www.cyberciti.biz/faq/ubuntu-20-04-lts-set-up-openvpn-server-in-5-minutes/) 문서에서 제공하는 스크립트를 이용하면 대부분의 과정을 자동화 해준다. 사내의 openvpn도 위 문서에서 설명하는 방법으로 설치 되었다.
|
|
|
|
|
|
서버 설치시 클라이언트 환경에서 패스워드 인증을 이용할지 이용하지 않을지에 대해서 선택을 하는데 이용을 하지 않는 것으로 설정하였다. 위의 설정에 의해 vpn을 이용할때 설정은 보다 단순화 되었지만, vpn 사용자들의 개인키의 관리의 책임은 보다 더 커졌다.
|
|
|
|
|
|
서버는 1194 포트에서 udp로 서비스 되며 사내의 공유기에 동일 포트로 열려있다.
|
|
|
|
|
|
openvpn 서버를 관리하는 명령어 목록은 다음과 같다.
|
|
|
|
|
|
```bash
|
|
|
# Stop the OpenVPN server
|
|
|
sudo systemctl stop openvpn-server@server.service
|
|
|
|
|
|
# Start the OpenVPN server
|
|
|
sudo systemctl start openvpn-server@server.service
|
|
|
|
|
|
# Restart the OpenVPN server after changing configuration options
|
|
|
sudo systemctl restart openvpn-server@server.service
|
|
|
|
|
|
# Show status of the OpenVPN server
|
|
|
sudo systemctl status openvpn-server@server.service
|
|
|
```
|
|
|
|
|
|
### 사용자 관리
|
|
|
|
|
|
서버 설치시 이용한 스크립트는 설치 후에도 사용자의 관리를 간편하게 해준다. 스크립트의 위치는 `/home/itmsg/openvpn-ubuntu-install.sh`에 있다.
|
|
|
|
|
|
스크립트를 실행하면 `sudo ./openvpn-ubuntu-install.sh` 다음의 선택 화면이 뜬다.
|
|
|
|
|
|
```
|
|
|
OpenVPN is already installed.
|
|
|
|
|
|
Select an option:
|
|
|
1) Add a new client
|
|
|
2) Revoke an existing client
|
|
|
3) Remove OpenVPN
|
|
|
4) Exit
|
|
|
Option:
|
|
|
```
|
|
|
|
|
|
### 사용자 추가
|
|
|
|
|
|
1 번을 선택하면 클라이언트의 이름을 입력하게 되는데, 이는 vpn서버를 이용하는 사용자의 아이디와 같은 개념이다. 추가된 사용자는 이후에 같은 아이디를 이용하여 삭제를 해야할 수도 있기 때문에 회사 메일의 아이디로 한다.
|
|
|
|
|
|
사용자 아이디를 입력하면 `/root` 폴더에 `[사용자 아이디].ovpn`이 생성된다. 이 파일을 사용자에게 전달해주면 관리자의 역할은 끝난다.
|
|
|
|
|
|
### 사용자 제거
|
|
|
|
|
|
2 번을 선택하면 사용자 리스트가 뜨고 제거할 사용자를 선택하는 입력창이 뜬다. 여기서 선택된 사용자는 개인키 파일을 가지고 있어도 더 이상 openvpn 서비스를 이용할 수 없다.
|
|
|
|