OpenVPN는 오픈 소스, 빠르고 인기 있는 프로그램으로 VPN (가상 사설망)을 만드는 데 사용됩니다. 이 프로그램은 TCP와 UDP 전송 프로토콜을 모두 사용하며, VPN 터널은 SSL/TLS 인증, 인증서, 자격 증명, 옵션으로 MAC 주소 잠금 및 다중 요소 인증과 함께 OpenVPN 프로토콜로 보안이 유지됩니다.
OpenVPN는 다양한 장치와 시스템에서 사용할 수 있습니다. 대부분의 VPN 프로토콜과 마찬가지로 클라이언트-서버 아키텍처를 가지고 있습니다. OpenVPN 액세스 서버는 Linux 시스템에서 실행되며, 클라이언트는 다른 Linux 시스템, Windows, macOS에 설치할 수 있으며, Android, Windows Mobile, iOS와 같은 모바일 운영 체제에도 설치할 수 있습니다.
OpenVPN 액세스 서버는 들어오는 VPN 연결을 받아들이며, OpenVPN Connect 클라이언트 또는 OpenVPN와 호환되는 모든 오픈 소스 클라이언트가 서버에 연결을 시작할 수 있습니다.
이 문서에서는 OpenVPN 액세스 서버를 Ubuntu 22.04/Ubuntu 20.04에 설정하고 다른 Linux 시스템의 VPN 클라이언트를 연결하는 방법을 배울 수 있습니다.
사전 요구 사항:
목차
1단계: 우분투에서 OpenVPN 서버 설정
1. 수동으로 OpenVPN 서버를 설치하고 구성하는 것은 내 경험상 간단한 작업이 아닙니다. 그런 이유로, 몇 초 만에 자신만의 보안 OpenVPN 서버를 설정할 수 있는 스크립트를 사용할 것입니다.
스크립트를 다운로드하고 실행하기 전에, 스크립트가 서버의 개인 IP 주소를 자동으로 감지하지만, NAT 뒤에서 실행되는 경우 특히 서버의 공개 IP 주소를 기억해야 합니다.
서버의 공개 IP 주소를 알아보려면 wget 명령 또는 dig 명령을 실행하십시오.
$ wget -qO - icanhazip.com OR $ dig +short myip.opendns.com @resolver1.opendns.com

2. 이제 curl 명령줄 도구를 사용하여 설치 스크립트를 다운로드한 다음, chmod 명령을 사용하여 실행 가능하게 만듭니다.
$ curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh $ chmod +x openvpn-install.sh
3. 다음으로, 실행 가능한 설치 스크립트를 다음과 같이 실행합니다.
$ sudo bash openvpn-install.sh
처음 실행할 때 스크립트는 질문을 하게 되며, 질문을 신중하게 읽고 선호하는 방식에 따라 답변을 제공하여 OpenVPN 서버를 설정합니다.

4. VPN 설치 프로세스가 완료되면 현재 작업 디렉토리 아래에 클라이언트 구성 파일이 작성됩니다. 다음 섹션에서 설명하는 대로 이 파일을 사용하여 OpenVPN 클라이언트를 구성합니다.

5. 그 다음, 다음 명령어를 사용하여 OpenVPN 서비스가 정상적으로 작동 중인지 확인하세요.systemctl 명령어를 사용하여 상태를 확인합니다.
$ sudo systemctl status openvpn

6. 또한, 스크립트에서 사용하도록 지시한 포트에서 OpenVPN 데몬이 수신 대기 중인지 ss 명령어를 사용하여 확인하세요.
$ sudo ss -tupln | grep openvpn

7. 네트워크 인터페이스를 확인하면 VPN 터널을 위한 새로운 인터페이스가 생성된 것을 확인할 수 있습니다. 이를 확인하려면 IP 명령어를 사용하세요.
$ ip add

단계 2: 우분투에서 OpenVPN 클라이언트 설정
8. 이제 OpenVPN 클라이언트를 설정하고 VPN 서버에 연결할 차례입니다. 먼저 클라이언트 머신에 다음과 같이 OpenVPN 패키지를 설치하세요.
$ sudo yum install openvpn #RHEL-based Systems $ sudo apt install openvpn #Debian-based Systems $ sudo dnf install openvpn #Fedora Linux
9. 데스크톱 시스템의 경우 VPN 설정을 그래픽 인터페이스에서 하려면 network-manager-openvpn 패키지도 설치해야 합니다.
$ sudo yum install network-manager-openvpn #RHEL-based Systems $ sudo apt install network-manager-openvpn #Debian-based Systems $ sudo dnf install network-manager-openvpn #Fedora Linux
10. 위의 패키지를 설치한 후, OpenVPN 서비스를 시작하고, 현재 시스템 부팅 시 자동으로 시작되도록 설정하고 실행 여부를 확인하세요.
$ sudo systemctl start openvpn $ sudo systemctl enable openvpn $ sudo systemctl status openvpn

11. 이제 OpenVPN 클라이언트 설정을 OpenVPN 서버에서 가져와야 합니다. 터미널 창을 열고 다음과 같이 SCP 명령어를 사용하여 파일을 가져옵니다.
$ cd ~ $ scp [email protected]:/home/tecmint/tecmint.ovpn .

12. 시스템 설정을 열고, 네트워크로 이동하세요. VPN 아래에서 필요한 옵션을 얻으려면 추가 버튼을 클릭합니다.

13. 팝업 창에서 다음 스크린샷에 강조된대로 “파일에서 가져오기”를 선택하세요. 그런 다음 파일 관리자를 열고 서버에서 다운로드한 .ovpn
클라이언트 구성 파일을 선택하세요.


14. 다른 Linux 데스크톱 시스템에서는 시스템 패널의 네트워크 아이콘을 클릭한 다음 네트워크 연결로 이동하세요. 그런 다음 새 연결을 추가하려면 플러스 버튼을 클릭하세요. 드롭다운에서 다음과 같이 “저장된 VPN 구성 가져오기…”를 선택하세요.
연결을 만들고 파일을 가져옵니다.

15. 파일을 가져온 후, VPN 설정이 다음 스크린샷에 표시된대로 추가되어야 합니다. 그런 다음 추가를 클릭하세요.

16.VPN 클라이언트 설정이 성공적으로 추가되어야 합니다. 다음 스크린샷에서 강조된대로 VPN을 켜면 OpenVPN 서버에 연결할 수 있습니다.

17.이제 다음 스크린샷에 나와 있는대로 VPN 연결이 성공적으로 설정되어야 합니다.

18. 네트워크 인터페이스 연결을 IP add 명령어를 사용하여 확인하면 다음 스크린샷에 강조된대로 VPN 터널 인터페이스가 있어야 합니다.
$ ip add

단계 3: 리눅스에서 OpenVPN 클라이언트 설정
19.VPN 클라이언트로 다른 리눅스 서버에 연결하려면 OpenVPN 패키지가 설치되어 있고 위에서 설명한대로 OpenVPN 서비스가 시작되고 활성화되었는지 확인하십시오.
그런 다음 .ovpn
클라이언트 파일을 다운로드하고 다음과 같이 /etc/openvpn/ 디렉토리로 복사하십시오.
$ scp [email protected]:/home/tecmint/tecmint.ovpn . $ ls $ sudo cp tecmint.ovpn /etc/openvpn/client.conf

20.다음으로 VPN 클라이언트 서비스를 시작하고 활성화하고 다음 명령어로 상태를 확인하십시오.
$ sudo systemctl start [email protected] $ sudo systemctl enable [email protected] $ sudo systemctl status [email protected]

21.그런 다음 VPN 터널 인터페이스가 다음과 같이 IP add 명령어를 사용하여 생성되었는지 확인하십시오.
$ ip add

22. 운영 체제에 다른 OpenVPN 클라이언트를 설정하려면 다음 클라이언트를 사용하십시오:
- Windows: 공식 Windows용 OpenVPN 커뮤니티 클라이언트.
- Android: Android용 OpenVPN 클라이언트.
- iOS: 공식 iOS용 OpenVPN Connect 클라이언트.
단계 4: 우분투에서 OpenVPN 제거
23. 새 VN 사용자를 추가하거나 기존 사용자를 취소하거나 시스템에서 OpenVPN 서버를 제거하려면 설치 스크립트를 다시 실행하십시오. 그런 다음 옵션 목록에서 수행할 작업을 선택하고 프롬프트에 따르십시오.
$ sudo bash openvpn-install.sh

이로써 이 가이드를 마칩니다. 의견을 공유하거나 질문을 하려면 아래의 피드백 양식을 사용하십시오. 자세한 정보는 openvpn-install 스크립트 Github 저장소를 참조하십시오.