|
|
# openvpn 사용법
|
|
|
|
|
|
## 개요
|
|
|
|
|
|
vpn을 이용하면 회사밖 네트워크에서도 사내의 네트워크에 있는 것 같은 환경을 제공해준다. 기존에 사외에서 사내의 자원을 이용하려면 공유기에서 열린 포트를 이용해야 했는데 서버별로 열려있지 않은 포트들도 많은데다 자신의 노트북에 설정해 놓은 사내 아이피와 포트 정보를 외부 도메인네임(itmsg.iptime.org) 기준으로 변경해야 하는 문제가 있었다. vpn을 이용하면 자신의 노트북을 사내외 상관없이 동일한 설정으로 이용할수 있다.
|
|
|
|
|
|
아이티메세지의 vpn 서비스는 [openvpn](https://openvpn.net/)으로 구축되었다. openvpn은 별도의 클라이언트를 설치해야되는 불편함은 있지만, 리눅스 서버 환경에서 돌릴 수 있는 가장 대중적인 서버를 제공한다. openvpn은 대중적인 데스크탑, 모바일 환경 대부분에서 클라이언트를 제공하기 때문에 다양한 환경(윈도우즈, 맥, 안드로이드, IOS)에서 이용할 수 있다.
|
|
|
|
|
|
## 서버 설치
|
|
|
|
|
|
이하는 서버 설치 과정과 서버에서 사용자 관리 방법을 설명할 예정임으로 vpn 사용에만 관심있는 사람은 [다음](#vpn-이용)으로 넘어가면 된다.
|
|
|
|
|
|
사내의 openvpn은 우분투 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 서비스를 이용할 수 없다.
|
|
|
|
|
|
## vpn 이용
|
|
|
|
|
|
vpn을 이용할려면 키가 포함된 클라이언트 설정 파일(.ovpn 파일)을 받아야 된다. 현재 openvpn 서비스는 [고철호 부장](mailto:cheolho.koh@itmsg.co.kr)이 관리하고 있다. 이용을 원한다는 메일을 보내면 설정 파일을 아마도(?) 받을 수 있을 것이다.
|
|
|
|
|
|
윈도우즈 환경에서 이용하는 경우 [윈도우즈용 클라이언트](https://openvpn.net/client-connect-vpn-for-windows/)를 다운 받아야 한다. 설치후 다음화면에서 발급받은 파일을 등록하면 된다.
|
|
|
|
|
|

|
|
|
|
|
|
파일이 등록된후 앱에서 connect를 실행하면 vpn으로 연결이 된다.
|
|
|
|
|
|
다른 OS 환경에서도 이용방법은 크게 다르지 않다.
|
|
|
|
|
|
## vpn 이용상의 주의점
|
|
|
|
|
|
개인 키가 포함된 설정파일(.ovpn 파일)을 갖고 있으면 누구나 회사의 네트워크에 접근할 수 있다. 그렇기 때문에 공용환경에서 함부로 설정파일을 이용해서는 안된다. 개인 노트북이나 집 데스크탑, 개인 핸드폰 등 안전이 보장된 환경에서만 사용하는 것이 바람직하다.
|
|
|
|
|
|
또한, 하나의 설정파일을 여럿이 이용하는 것은 바람직하지 않다. 키는 개인별로 발급되며 자신에게 발급된 설정파일만 이용하도록 하자. |
|
|
\ No newline at end of file |