Ubuntu 22.04 OpenVPN Server 구축

회사 또는 다른 이유로 인해 VPN 사용이 필요할 때가 있습니다.

유료 VPN 사용하는 것도 좋지만 OpenVPN 구축해서 사용해 보려고 합니다.

 

1. OpenVPN 설치

sudo apt-get update 
sudo apt-get install openvpn 
sudo apt-get install openssh-server

 

2. EasyRSA 다운 및 설치

그다음 인증서(CA)를 생성할 EasyRSA를 다운받고 압축을 해제합니다.

https://github.com/OpenVPN/easy-rsa/releases

 

Releases · OpenVPN/easy-rsa

easy-rsa - Simple shell based CA utility. Contribute to OpenVPN/easy-rsa development by creating an account on GitHub.

github.com

최신버전이 EasyRSA 3.1.0인 관계로 EasyRSA 3.1.0으로 다운 받겠습니다.

다운을 받은 뒤 압축을 해제합니다.

wget -P https://github.com/OpenVPN/easy-rsa/releases/download/v3.1.0/EasyRSA-3.1.0.tgz
tar xvf EasyRSA-3.1.0.tgz

 

3. EasyRSA 설정 

easyras의 초기화 옵션인 init-pki를 추가해 초기화 합니다.

sudo ./easyrsa init-pki

easyrsa로 인증서와 키 파일을 생성합니다. nopass를 추가해 암호를 생성하지 않습니다.

Common Name (eg: your user, host, or server name) [Easy-RSA CA]:

Common Name은 인증서를 만들때 참조할 인증기관을 말하는데 엔터로 넘겨줍니다.

sudo ./easyrsa build-ca nopass

 openVPN에서 사용할 인증서와 key파일을 만듭니다.

Common Name (eg: your user, host, or server name) [server]:

Server 명칭을 입력하는데 엔터를 눌러 기본값을 사용합니다.

sudo ./easyrsa gen-req server nopass

 

이제 openVPN 디렉터리에 key파일을 복사합니다.

sudo cp ~/EasyRSA-3.1.0/pki/private/server.key /etc/openvpn/

 

easyras에 sign-req 옵션을 주고 server로 만들어 줍니다.

마지막에 오는 server는 key파일의 이름입니다.

sudo ./easyrsa sign-req server server

 

생성된 server.crt 파일과 ca.crt 파일을 openVPN 폴더로 복사합니다.

sudo cp ~/EasyRSA-3.1.0/pki/issued/server.crt /etc/openvpn/
sudo cp ~/EasyRSA-3.1.0/pki/ca.crt /etc/openvpn/

 

Diffie-Hellman key를 만듭니다.

sudo ./easyrsa gen-dh

 

openvpn을 이용해 ta.key 파일을 만듭니다.

sudo openvpn --genkey --secret ta.key

 

생성한 dh.pem 파일과 ta.key 파일을 openvpn 폴더로 복사합니다.

sudo cp ~/EasyRSA-3.1.0/ta.key /etc/openvpn/
sudo cp ~/EasyRSA-3.1.0/pki/dh.pem /etc/openvpn/

 

 

 

 

 

+ Recent posts