우분투 리눅스에 OpenVPN 서버 프로그램을 소스 컴파일로 설치하는 방법을 소개했었습니다(환경 : 구글 클라우드 플랫폼. GCP).

 

https://openvpn.net/community-downloads/ => OpenVPN Community판 다운로드 페이지 주소.

 

글 작성 당시 OpenVPN Community판 최신 버전이 2.5.1이었는데, 2021년 4월 21일에 OpenVPN 2.5.2 버전이 올라왔습니다.

 

그래서 소스파일을 컴파일하여 설치한 OpenVPN을 버전 업데이트(업그레이드)하는 과정을 정리하겠습니다. 공식 가이드는 아니고, 제가 시도한 방식입니다.

 

▼ OpenVPN 서비스가 실행 중이라면 중지시킵니다.

sudo systemctl stop openvpn-server@server.service

 

▼ OpenVPN 서비스 등록했던 것을 해제합니다.

sudo systemctl disable openvpn-server@server.service

 

▼ /lib/systemd/system/ 경로에 복사했던 openvpn-client@.service 파일과 openvpn-server@.service 파일을 삭제합니다.

sudo rm /lib/systemd/system/openvpn-client@.service

sudo rm /lib/systemd/system/openvpn-server@.service

 

▼ OpenVPN 2.5.1 버전 소스파일을 저장했던 경로로 이동합니다.

cd /usr/local/src/openvpn-2.5.1

 

▼ 기존에 설치했던 openvpn 2.5.1 버전을 언인스톨(삭제)합니다.

sudo make uninstall

( server.conf 설정파일 저장을 위해 수동으로 생성했던 /etc/openvpn, /etc/openvpn/server, /etc/openvpn/client 디렉토리는 지워지지 않습니다. 안심하세요. )

 

https://openvpn.net/community-downloads/ => OpenVPN Community판 다운로드 페이지 주소에 들어가서 openvpn-2.5.2.tar.gz 파일의 링크 주소를 복사합니다.

 

▼ cd 명령어로 /usr/local/src 경로로 접근한 다음,
복사했던 주소를 sudo wget 명령어 뒤에 붙여서 openvpn-2.5.2.tar.gz 파일을 받습니다.

cd /usr/local/src

sudo wget https://swupdate.openvpn.org/community/releases/openvpn-2.5.2.tar.gz

(주소 붙여넣기는 Ctrl+Shift+V 단축키를 이용하면 쉽습니다.)

 

▼ openvpn-2.5.2.tar.gz 의 압축을 풉니다.

sudo tar -zxf openvpn-2.5.2.tar.gz

 

▼ openvpn-2.5.2.tar.gz 파일을 삭제하여 용량을 절약합니다.

sudo rm openvpn-2.5.2.tar.gz

 

▼ openvpn-2.5.2/doc/man-sections 디렉토리에 cipher-negotiation.rst 파일이 포함되어 있는지 확인합니다.

find openvpn-2.5.2/doc/man-sections/c*

(없네요. -_-;;)

 

▼ OpenVPN GitHub 페이지에 가면 cipher-negotiation.rst 파일을 받을 수 있습니다.

https://github.com/OpenVPN/openvpn

 

/doc/man-sections/ 경로로 들어가면 cipher-negotiation.rst 파일이 보일 거예요.

cipher-negotiation.rst 파일을 우클릭하여 링크주소를 복사합니다.

 

sudo wget 링크주소 -P 경로 형식으로 입력하여 /usr/local/src/openvpn-버전명/doc/man-sections/ 경로에 cipher-negotiation.rst 파일을 받습니다.

sudo wget https://github.com/OpenVPN/openvpn/blob/master/doc/man-sections/cipher-negotiation.rst -P /usr/local/src/openvpn-2.5.2/doc/man-sections/

 

▼ /usr/local/src/openvpn-2.5.2 디렉토리로 들어갑니다.

cd /usr/local/src/openvpn-2.5.2/

 

▼ 명령어 3종 세트를 입력하여 환경설정, 빌드, 인스톨을 진행합니다.

sudo ./configure --enable-systemd

sudo make

sudo make install

 

▼ 소스코드 경로 아래의 /distro/systemd 디렉토리에 openvpn-client@.service 파일과 openvpn-server@.service 파일이 추가되었는지 확인합니다. 추가됐다면 distro/systemd/ 디렉토리로 진입합니다.

ll distro/systemd/

cd distro/systemd/

 

▼ openvpn-client@.service 파일을 /lib/systemd/system/ 경로로 복사합니다.

openvpn-server@.service 파일을 /ib/systemd/system/ 경로에 복사합니다.

sudo cp openvpn-client@.service /lib/systemd/system/

sudo cp openvpn-server@.service /lib/systemd/system/

 

▼ OpenVPN Server 서비스를 추가합니다.

sudo systemctl -f enable openvpn-server@server.service

▲ 명령어에서 붉게 표시한 server는 server.conf 파일을 뜻합니다. /etc/openver/server/server.conf 파일의 이름이 바뀌면 명령어의 붉은 글씨도 같이 바꿔야 합니다.)

 

▼ OpenVPN Server 서비스를 시작합니다.

sudo systemctl start openvpn-server@server.service

(또는 sudo service openvpn-server@server.service start)

 

▼ OpenVPN Server 서비스의 상태를 확인합니다. Active 항목이 active (running)으로 나오면 정상 작동하는 것입니다. Ctrl+C를 눌러 빠져나오세요.

sudo systemctl status openvpn-server@server.service

 

▼ 서비스 상태에 문제가 있다면 openvpn 로그파일을 봐야 합니다. /etc/openvpn/server/server.conf 파일에서 log파일 옵션을 설정하지 않았다면 /var/log/syslog 파일에서 log를 봐야 됩니다.

sudo cat /etc/openvpn/server/openvpn.log

 

저는 별다른 이상이 없었습니다. 업데이트 절차가 끝났습니다.

반응형