openvpn 설치해보기 > IT Tip&Tech

사이트 내 전체검색

IT Tip&Tech

openvpn 설치해보기 3

페이지 정보

View11,275  | 작성일2018.04.02 11:29

본문

​로그에 적었던 것을 그대로 긁어서 보기 이상할 수도 있습니다... ;ㅅ;a


참고 url 들

http://blog.yunochi.co.kr/?p=568
http://inmile.tistory.com/15
http://blog.syszone.co.kr/2495
http://incredible.ai/ubuntu/2016/07/04/Open-VPN/
https://www.joinc.co.kr/w/Site/System_management/VPN/OpenVPN
등등 구글 검색으로 다수의 블로그들과 stackoverflow 사이트 글에서 도움을 받았습니다.

설치 환경

집과 회사 모두 J3160 보드를 사용했고 OS 는 각각 Ubuntu Server 17.10 , Ubuntu Server 16.04 LTS 를 썼습니다.
J3160 보드는 집에서 개인 서버용으로 사용할 것을 찾다가 이것을 활용해서 vpn 서버를 셋팅해주는 분(아마도 지인들에게?)의 블로그를 보고 선택했었습니다. 20~25 명 정도까지는 무난하게 커버한다고 합니다.

openvpn 설치

제 경우엔 따로 압축 파일을 받아 설치하는 것 없이 패키지 설치관리자를 통해 문제없이 설치되었습니다.

# apt update
# apt install openvpn easy-rsa -y

다음 easy-rsa 파일들을 openvpn 밑으로 복사해 와서 작업했습니다.

패키징 관리 시스템을 통해 설치한 경우 복사본을 만들어 편집하는 것을 권장하고 있습니다.

# mkdir /etc/openvpn/cert
# cp /usr/share/easy-rsa/* /etc/openvpn/cert/

인증서 생성

# cd /etc/openvpn/cert/

vars 파일의 내용 수정

# 작업하는 easy-rsa 경로를 적어준다.
# vars 파일을 다른 특정 위치에 둔게 아니라면
# 기본값 `pwd` (현재작업디렉토리) 그대로 놔둬도 상관없다. 
export EASY_RSA="/etc/openvpn/cert/" 

export KEY_COUNTRY="KR"
export KEY_PROVINCE="SEOUL"
export KEY_CITY="SEOUL"
export KEY_ORG="MY-HOME"
export KEY_EMAIL="XXX@XXXX.com" # 이메일 주소 적어준다
export KEY_OU="MY-HOME"
export KEY_NAME="server"

var 적용

# source ./vars

키 초기화

# ./clean-all

ca key, server key 생성

# ./build-ca
# ./build-key-server server

Diffie Hellman 파라미터 생성

# ./build-dh

client key 생성

client01, client02 등 편한 방식으로 키를 생성 합니다.
이 후에 특정 키를 폐기 시키고 싶은 경우 해당 키를 재생성하면 기존 키는 못 쓰게 됩니다.

# ./build-key client01

tls 인증을 위한 키 만들어두기

# openvpn --genkey --secret ta.key

인증서 배포

ca.crt, client.crt, client.key, ta.key 를 해당 클라이언트에 맞게 배포하면 됩니다.
client01 이면 ca.crt, client01.crt, client01.key, ta.key 이렇게 건내주면 됩니다.

openvpn 서비스 설정 편집

# nano /etc/default/openvpn

파일 내용 중에 다음 항목들을 수정해줍니다.

# AUTOSTART 주석해제
AUTOSTART="all"

# config 파일 위치 지정
OPTARGS="/etc/openvpn/server.conf"

server.conf 파일 만들기

# nano /etc/openvpn/server.conf
# 자신의 환경에 맞게 ip 주소 적어준다
local 192.168.0.144
# 적당한 사용하고 싶은 포트 번호 적기.
# 공유기 사용시 포트포워딩 해주도록 한다.
port 4094
# udp / tcp 중 선택
proto tcp
dev tun
# 인증서,키 파일들 위치 지정
ca /etc/openvpn/cert/keys/ca.crt
cert /etc/openvpn/cert/keys/server.crt
key /etc/openvpn/cert/keys/server.key
dh /etc/openvpn/cert/keys/dh2048.pem
# client 에 할당할 subnet 지정
server 10.8.0.0 255.255.255
keepalive 10 120
# 생성해둔 ta.key 경로를 적어준다
tls-auth /etc/openvpn/cert/keys/ta.key 0
# 압축 사용
comp-lzo
persist-key
persist-tun
# 로그 파일
status openvpn-status.log
# 암호방식, BF-CBC 는 sweet32 공격 위험 경고가 뜬다.
cipher AES-256-CBC
verb 3

방화벽 포트 열기

# ufw allow 4094

client 설정

openvpn 윈도우용 installer 받아 설치후 인증서는 기본 위치에 넣었습니다.
client
client.ovpn 파일 작성

client
dev tun
proto tcp
remote XXX.XXX.XXX.XX 4094 # 공유기에 bind 된 public ip 적어줌
auth-nocache
nobind
persist-key
persist-tun
ca ca.crt
cert Client.crt
key Client.key
remote-cert-tls server
tls-auth ta.key 1
comp-lzo
cipher AES-256-CBC
verb 3

연결을 수행하고 문제가 없다면 트레이 아이콘에 녹색불이 들어오고
icon
상태창을 열어보면 잘 접속된 것을 확인할 수 있습니다.
client-1

댓글목록

IT Tip&Tech 목록

게시물 검색

Copyright © LittleCandle All rights reserved.
문의메일 : littlecandle99@gmail.com
PC 버전으로 보기