웹사이트 검색

Ubuntu 14.04에서 OpenVPN 서버를 설정하는 방법


소개

호텔이나 커피숍의 WiFi와 같이 신뢰할 수 없는 네트워크에 연결된 경우 스마트폰이나 노트북에서 안전하고 안전하게 인터넷에 액세스하고 싶습니까? VPN(가상 사설망)을 사용하면 마치 안전한 사설 네트워크에 있는 것처럼 신뢰할 수 없는 네트워크를 비공개로 안전하게 DigitalOcean Droplet으로 이동할 수 있습니다. 트래픽은 Droplet에서 나와 목적지까지 계속 이동합니다.

HTTPS 연결과 결합하면 이 설정을 통해 무선 로그인 및 거래를 보호할 수 있습니다. 지리적 제한 및 검열을 우회하고 신뢰할 수 없는 네트워크에서 위치 및 암호화되지 않은 HTTP 트래픽을 보호할 수 있습니다.

OpenVPN은 광범위한 구성을 수용하는 완전한 기능을 갖춘 오픈 소스 SSL(Secure Socket Layer) VPN 솔루션입니다. 이 튜토리얼에서는 Droplet에 OpenVPN 서버를 설정한 다음 Windows, OS X, iOS 및 Android에서 이에 대한 액세스를 구성합니다. 이 자습서에서는 이러한 설정에 대해 설치 및 구성 단계를 가능한 한 간단하게 유지합니다.

참고: Droplet 사용자 데이터에 대해 자세히 알아보려면 이 자습서를 추가하여 OpenVPN을 Droplet에 자동으로 설치할 수 있습니다.

전제 조건

유일한 전제 조건은 Ubuntu 14.04 Droplet을 설정하고 실행하는 것입니다. 이 가이드를 완료하려면 루트 액세스 권한이 필요합니다.

  • 선택 사항: 이 자습서를 완료한 후 서버에서 일반 유지 관리를 수행하기 위해 sudo 권한이 있는 표준 사용자 계정을 만드는 것이 좋습니다.

1단계 - OpenVPN의 서버 환경 설치 및 구성

서버 측 설정을 위해 다음 단계를 완료하십시오.

###OpenVPN 구성

패키지를 설치하기 전에 먼저 Ubuntu의 리포지토리 목록을 업데이트합니다.

apt-get update

그런 다음 OpenVPN 및 Easy-RSA를 설치할 수 있습니다.

apt-get install openvpn easy-rsa

예제 VPN 서버 구성 파일을 /etc/openvpn에 추출해야 설정에 통합할 수 있습니다. 이것은 하나의 명령으로 수행할 수 있습니다.

gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz > /etc/openvpn/server.conf

추출되면 텍스트 편집기에서 server.conf를 엽니다. 이 튜토리얼에서는 Vim을 사용하지만 원하는 편집기를 사용할 수 있습니다.

vim /etc/openvpn/server.conf

이 파일에는 몇 가지 변경 사항이 있습니다. 다음과 같은 섹션이 표시됩니다.

# Diffie hellman parameters.
# Generate your own with:
#   openssl dhparam -out dh1024.pem 1024
# Substitute 2048 for 1024 if you are using
# 2048 bit keys.
dh dh1024.pem

dh1024.pem을 편집하여 다음과 같이 말하십시오.

dh2048.pem

이렇게 하면 서버 및 클라이언트 키를 생성할 때 사용되는 RSA 키 길이가 두 배가 됩니다.

여전히 server.conf에서 다음 섹션을 찾습니다.

# If enabled, this directive will configure
# all clients to redirect their default
# network gateway through the VPN, causing
# all IP traffic such as web browsing and
# and DNS lookups to go through the VPN
# (The OpenVPN server machine may need to NAT
# or bridge the TUN/TAP interface to the internet
# in order for this to work properly).
;push "redirect-gateway def1 bypass-dhcp"

VPN 서버가 클라이언트의 웹 트래픽을 목적지로 전달하도록 push \redirect-gateway def1 bypass-dhcp\의 주석을 제거하십시오. 완료되면 다음과 같이 표시됩니다.

push "redirect-gateway def1 bypass-dhcp"

다음 편집은 이 영역에 있습니다.

# Certain Windows-specific network settings
# can be pushed to clients, such as DNS
# or WINS server addresses.  CAVEAT:
# http://openvpn.net/faq.html#dhcpcaveats
# The addresses below refer to the public
# DNS servers provided by opendns.com.
;push "dhcp-option DNS 208.67.222.222"
;push "dhcp-option DNS 208.67.220.220"

push \dhcp-option DNS 208.67.222.222\push \dhcp-option DNS 208.67.220.220\의 주석 처리를 제거하십시오. 완료되면 다음과 같이 표시됩니다.

push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

이는 가능한 경우 DNS 확인을 위해 연결된 클라이언트에 OpenDNS를 푸시하도록 서버에 지시합니다. 이렇게 하면 DNS 요청이 VPN 연결 외부로 유출되는 것을 방지할 수 있습니다. 그러나 클라이언트 장치에서도 원하는 DNS 확인자를 지정하는 것이 중요합니다. OpenDNS는 OpenVPN에서 사용하는 기본값이지만 원하는 DNS 서비스를 사용할 수 있습니다.

server.conf에서 변경할 마지막 영역은 다음과 같습니다.

# You can uncomment this out on
# non-Windows systems.
;user nobody
;group nogroup

user nobodygroup nogroup 모두 주석 처리를 제거하십시오. 완료되면 다음과 같이 표시됩니다.

user nobody
group nogroup

기본적으로 OpenVPN은 루트 사용자로 실행되므로 시스템에 대한 전체 루트 액세스 권한이 있습니다. 대신 OpenVPN을 사용자 nobody 및 그룹 nogroup으로 제한합니다. 이것은 기본 로그인 기능이 없는 권한이 없는 사용자이며 종종 웹 대면 서버와 같은 신뢰할 수 없는 응용 프로그램을 실행하기 위해 예약되어 있습니다.

이제 변경 사항을 저장하고 Vim을 종료하십시오.

###패킷 포워딩

이것은 클라이언트 장치에서 인터넷으로 트래픽을 전달하도록 서버의 커널에 지시하는 sysctl 설정입니다. 그렇지 않으면 트래픽이 서버에서 중지됩니다. 다음 명령을 입력하여 런타임 중에 패킷 전달을 활성화합니다.

echo 1 > /proc/sys/net/ipv4/ip_forward

재부팅 후에도 서버가 여전히 트래픽을 전달하도록 이를 영구적으로 만들어야 합니다.

vim /etc/sysctl.conf

sysctl 파일의 상단 근처에 다음이 표시됩니다.

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

net.ipv4.ip_forward의 주석을 제거합니다. 완료되면 다음과 같이 표시됩니다.

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

변경 사항을 저장하고 종료합니다.

복잡하지 않은 방화벽(ufw)

ufw는 iptables의 프런트 엔드이며 ufw 설정은 어렵지 않습니다. 기본적으로 Ubuntu 14.04에 포함되어 있으므로 몇 가지 규칙과 구성 편집만 수행한 다음 방화벽을 켜면 됩니다. ufw에 대한 추가 사용에 대한 참조는 Ubuntu 및 Debian 클라우드 서버에서 UFW로 방화벽을 설정하는 방법을 참조하십시오.

먼저 SSH를 허용하도록 ufw를 설정합니다. 명령 프롬프트에서 ENTER:

ufw allow ssh

이 튜토리얼에서는 UDP를 통한 OpenVPN을 사용하므로 ufw는 포트 1194를 통한 UDP 트래픽도 허용해야 합니다.

ufw allow 1194/udp

ufw 전달 정책도 설정해야 합니다. ufw의 기본 구성 파일에서 이 작업을 수행합니다.

vim /etc/default/ufw

DEFAULT_FORWARD_POLICY=DROP을 찾습니다. DROP에서 ACCEPT로 변경해야 합니다. 완료되면 다음과 같이 표시됩니다.

DEFAULT_FORWARD_POLICY="ACCEPT"

다음으로 네트워크 주소 변환 및 연결된 클라이언트의 IP 매스커레이딩을 위한 추가 ufw 규칙을 추가합니다.

vim /etc/ufw/before.rules

before.rules 파일의 상단을 아래와 같이 만듭니다. OPENVPN 규칙에 대한 빨간색 영역을 추가해야 합니다.

#
# rules.before
#
# Rules that should be run before the ufw command line added rules. Custom
# rules should be added to one of these chains:
#   ufw-before-input
#   ufw-before-output
#   ufw-before-forward
#

# START OPENVPN RULES
# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0] 
# Allow traffic from OpenVPN client to eth0
-A POSTROUTING -s 10.8.0.0/8 -o eth0 -j MASQUERADE
COMMIT
# END OPENVPN RULES

# Don't delete these required lines, otherwise there will be errors
*filter

ufw가 변경되었으므로 이제 활성화할 수 있습니다. 명령 프롬프트에 다음을 입력합니다.

ufw enable

ufw를 활성화하면 다음 프롬프트가 반환됩니다.

Command may disrupt existing ssh connections. Proceed with operation (y|n)?

y라고 답하세요. 결과는 다음과 같습니다.

Firewall is active and enabled on system startup

ufw의 기본 방화벽 규칙을 확인하려면:

ufw status

status 명령은 다음 항목을 반환해야 합니다.

Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
1194/udp                   ALLOW       Anywhere
22 (v6)                    ALLOW       Anywhere (v6)
1194/udp (v6)              ALLOW       Anywhere (v6)

2단계 - 인증 기관 및 서버측 인증서 및 키 생성

OpenVPN은 인증서를 사용하여 트래픽을 암호화합니다.

###인증 기관 구성 및 구축

이제 자체 인증 기관(CA)을 설정하고 OpenVPN 서버용 인증서와 키를 생성할 차례입니다. OpenVPN은 인증서 기반의 양방향 인증을 지원합니다. 즉, 상호 신뢰가 설정되기 전에 클라이언트는 서버 인증서를 인증하고 서버는 클라이언트 인증서를 인증해야 합니다. 이를 위해 이전에 복사한 Easy RSA의 스크립트를 사용합니다.

먼저 Easy-RSA 생성 스크립트를 복사합니다.

cp -r /usr/share/easy-rsa/ /etc/openvpn

그런 다음 키 저장소 디렉터리를 만듭니다.

mkdir /etc/openvpn/easy-rsa/keys

Easy-RSA에는 편집할 수 있는 변수 파일이 있어 개인, 비즈니스 또는 선택한 엔터티 전용 인증서를 생성할 수 있습니다. 이 정보는 인증서와 키에 복사되며 나중에 키를 식별하는 데 도움이 됩니다.

vim /etc/openvpn/easy-rsa/vars

빨간색으로 표시된 아래의 변수는 환경 설정에 따라 변경해야 합니다.

export KEY_COUNTRY="US"
export KEY_PROVINCE="TX"
export KEY_CITY="Dallas"
export KEY_ORG="My Company Name"
export KEY_EMAIL="sammy@example.com"
export KEY_OU="MYOrganizationalUnit"

동일한 vars 파일에서 아래와 같이 한 줄도 편집합니다. 간단히 하기 위해 server를 키 이름으로 사용합니다. 다른 이름을 사용하려면 server.keyserver.crt를 참조하는 OpenVPN 구성 파일도 업데이트해야 합니다.

export KEY_NAME="server"

Diffie-Hellman 매개변수를 생성해야 합니다. 이것은 몇 분이 걸릴 수 있습니다.

openssl dhparam -out /etc/openvpn/dh2048.pem 2048

이제 2단계에서 이전에 Easy-RSA의 스크립트를 이동한 위치에서 직접 작업하도록 디렉토리를 변경하겠습니다.

cd /etc/openvpn/easy-rsa

PKI(공개 키 인프라)를 초기화합니다. ./vars 명령 앞의 점(.)과 공백에 주의하십시오. 이는 현재 작업 디렉토리(소스)를 나타냅니다.

. ./vars

위 명령의 출력은 다음과 같습니다. 아직 keys 디렉토리에 아무 것도 생성하지 않았으므로 경고는 걱정할 필요가 없습니다.

NOTE: If you run ./clean-all, I will be doing a rm -rf on /etc/openvpn/easy-rsa/keys

이제 작업 디렉토리에서 가능한 이전 키 또는 예제 키를 지워 새로운 키를 만들 것입니다.

./clean-all

이 마지막 명령은 대화형 OpenSSL 명령을 호출하여 인증 기관(CA)을 구축합니다. 출력은 이전에 Easy-RSA의 변수 파일(국가 이름, 조직 등)에 입력한 고유 이름 변수를 확인하라는 메시지를 표시합니다.

./build-ca

각 프롬프트를 통과하려면 ENTER를 누르기만 하면 됩니다. 변경해야 하는 사항이 있는 경우 프롬프트 내에서 변경할 수 있습니다.

###서버용 인증서 및 키 생성

여전히 /etc/openvpn/easy-rsa에서 작업 중이므로 이제 명령을 입력하여 서버 키를 생성합니다. 빨간색으로 표시된 server가 보이는 곳은 이전에 Easy-RSA의 vars 파일에서 설정한 export KEY_NAME 변수입니다. 2 단계.

./build-key-server server

./build-ca를 실행했을 때와 유사한 출력이 생성되며 ENTER를 다시 눌러 고유 이름의 각 줄을 확인할 수 있습니다. 그러나 이번에는 두 가지 추가 프롬프트가 있습니다.

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

둘 다 비워 두어야 하므로 ENTER를 눌러 각 항목을 통과하십시오.

끝에 있는 두 개의 추가 쿼리에는 긍정적(y) 응답이 필요합니다.

Sign the certificate? [y/n]
1 out of 1 certificate requests certified, commit? [y/n]

위의 마지막 프롬프트는 다음과 같이 완료되어야 합니다.

Write out database with 1 new entries
Data Base Updated

###서버 인증서 및 키 이동

OpenVPN은 /etc/openvpn에서 서버의 CA, 인증서 및 키를 볼 것으로 예상합니다. 적절한 위치에 복사해 봅시다.

cp /etc/openvpn/easy-rsa/keys/{server.crt,server.key,ca.crt} /etc/openvpn

다음을 사용하여 복사가 성공했는지 확인할 수 있습니다.

ls /etc/openvpn

서버에 대한 인증서 및 키 파일이 표시되어야 합니다.

이제 OpenVPN 서버를 사용할 준비가 되었습니다. 시작하고 상태를 확인하십시오.

service openvpn start
service openvpn status

상태 명령은 다음을 반환해야 합니다.

VPN 'server' is running

축하해요! OpenVPN 서버가 작동 중입니다. 상태 메시지에 VPN이 실행되고 있지 않다고 표시되면 /var/log/syslog 파일에서 다음과 같은 오류를 확인하십시오.

Options error: --key fails with 'server.key': No such file or directory

이 오류는 server.key/etc/openvpn에 올바르게 복사되지 않았음을 나타냅니다. 파일을 다시 복사하고 다시 시도하십시오.

3단계 - 클라이언트용 인증서 및 키 생성

지금까지 OpenVPN 서버를 설치 및 구성하고 인증 기관을 생성하고 서버 고유의 인증서와 키를 생성했습니다. 이 단계에서는 서버의 CA를 사용하여 VPN에 연결할 각 클라이언트 장치에 대한 인증서와 키를 생성합니다. 이러한 파일은 나중에 노트북이나 스마트폰과 같은 클라이언트 장치에 설치됩니다.

###키 및 인증서 구축

VPN에 연결하는 각 클라이언트가 고유한 인증서와 키를 갖는 것이 이상적입니다. 이것은 모든 클라이언트 장치에서 사용할 하나의 일반 인증서 및 키를 생성하는 것보다 바람직합니다.

참고: 기본적으로 OpenVPN은 동일한 인증서와 키를 사용하는 클라이언트에서 서버로의 동시 연결을 허용하지 않습니다. (/etc/openvpn/server.confduplicate-cn 참조)

VPN에 연결하려는 각 장치에 대해 별도의 인증 자격 증명을 생성하려면 각 장치에 대해 이 단계를 완료해야 하지만 아래의 client1 이름을 client2 또는 iphone2. 장치별로 별도의 자격 증명을 사용하여 필요한 경우 나중에 서버에서 개별적으로 비활성화할 수 있습니다. 이 자습서의 나머지 예제에서는 client1을 예제 클라이언트 장치의 이름으로 사용합니다.

서버의 키로 했던 것처럼 이제 client1 예제를 위한 키를 만듭니다. 여전히 /etc/openvpn/easy-rsa에서 작업해야 합니다.

./build-key client1

다시 한 번 고유 이름 변수와 비어 있어야 하는 이 두 프롬프트를 변경하거나 확인하라는 메시지가 표시됩니다. 기본값을 적용하려면 ENTER를 누르십시오.

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

이전과 마찬가지로 빌드 프로세스가 끝날 때 이 두 가지 확인에는 (y) 응답이 필요합니다.

Sign the certificate? [y/n]
1 out of 1 certificate requests certified, commit? [y/n]

키 빌드가 성공적이면 출력은 다시 다음과 같습니다.

Write out database with 1 new entries
Data Base Updated

예제 클라이언트 구성 파일도 Easy-RSA 키 디렉터리에 복사해야 합니다. 편집을 위해 클라이언트 장치에 다운로드할 템플릿으로 사용할 것입니다. 복사 프로세스에서 예제 파일의 이름을 client.conf에서 client.ovpn으로 변경하고 있습니다. 클라이언트가 사용하기를 기대하는 것.

cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/easy-rsa/keys/client.ovpn

각 클라이언트에 대해 이 섹션을 다시 반복하여 client1을 적절한 클라이언트 이름으로 대체할 수 있습니다.

인증서 및 키를 클라이언트 장치로 전송

위의 단계에서 클라이언트 인증서와 키를 생성했으며 OpenVPN 서버의 /etc/openvpn/easy-rsa/keys 디렉토리에 저장되었음을 기억하십시오.

각 클라이언트에 대해 클라이언트 인증서, 키 및 프로필 템플릿 파일을 로컬 컴퓨터 또는 다른 클라이언트 장치의 폴더로 전송해야 합니다.

이 예에서 client1 장치에는 다음 위치의 서버에 있는 인증서와 키가 필요합니다.

  • /etc/openvpn/easy-rsa/keys/client1.crt
  • /etc/openvpn/easy-rsa/keys/client1.key

ca.crtclient.ovpn 파일은 모든 클라이언트에서 동일합니다. 이 두 파일도 다운로드하십시오. ca.crt 파일은 다른 파일과 다른 디렉터리에 있습니다.

  • <코드>/etc/openvpn/easy-rsa/keys/client.ovpn
  • <코드>/etc/openvpn/ca.crt

이 전송을 수행하는 데 사용되는 정확한 애플리케이션은 사용자의 선택과 장치의 운영 체제에 따라 다르지만 애플리케이션이 백엔드에서 SFTP(SSH 파일 전송 프로토콜) 또는 SCP(보안 복사)를 사용하기를 원합니다. 그러면 암호화된 연결을 통해 클라이언트의 VPN 인증 파일이 전송됩니다.

다음은 client1 예제를 사용한 SCP 명령 예제입니다. client1.key 파일을 로컬 컴퓨터의 다운로드 디렉토리에 저장합니다.

scp root@your-server-ip:/etc/openvpn/easy-rsa/keys/client1.key Downloads/

다음은 서버에서 로컬 컴퓨터로 파일을 안전하게 전송하기 위한 몇 가지 도구 및 자습서입니다.

  • WinSCP
  • SFTP를 사용하여 원격 서버와 파일을 안전하게 전송하는 방법
  • Filezilla를 사용하여 VPS에서 안전하게 파일을 전송하고 관리하는 방법

이 섹션의 끝에서 클라이언트 장치에 다음 네 개의 파일이 있는지 확인하십시오.

  • client1.crt
  • client1.key
  • client.ovpn
  • ca.crt

4단계 - 클라이언트 장치용 통합 OpenVPN 프로필 생성

클라이언트 파일을 관리하는 방법에는 여러 가지가 있지만 가장 쉬운 방법은 통합 프로필을 사용하는 것입니다. 이는 서버의 인증 기관, 클라이언트의 인증서 및 해당 키를 포함하도록 client.ovpn 템플릿 파일을 수정하여 생성됩니다. 병합되면 단일 client.ovpn 프로필만 클라이언트의 OpenVPN 애플리케이션으로 가져와야 합니다.

모든 클라이언트 파일을 다운로드한 로컬 컴퓨터에서 client1 장치에 대한 단일 프로필을 생성합니다. 이 로컬 컴퓨터는 그 자체로 의도된 클라이언트이거나 인증 파일을 병합하기 위한 임시 작업 영역일 수 있습니다. 원본 client.ovpn 템플릿 파일을 복제하고 이름을 변경해야 합니다. 이를 수행하는 방법은 로컬 컴퓨터의 운영 체제에 따라 다릅니다.

참고: 복제된 client.ovpn의 이름은 클라이언트 장치와 관련될 필요가 없습니다. 클라이언트 측 OpenVPN 애플리케이션은 파일 이름을 VPN 연결 자체의 식별자로 사용합니다. 대신, client.ovpn을 운영 체제에서 VPN의 이름 태그를 원하는 대로 복제해야 합니다. 예: work.ovpn은 직장, school.ovpn은 학교 등으로 식별됩니다.

이 자습서에서는 VPN 연결의 이름을 DigitalOcean으로 지정하므로 DigitalOcean.ovpn이 이 시점부터 참조되는 파일 이름이 됩니다. 이름이 지정되면 텍스트 편집기에서 DigitalOcean.ovpn을 열어야 합니다. 원하는 편집기를 사용할 수 있습니다.

주의를 기울여야 할 첫 번째 영역은 Droplet의 IP 주소입니다. 파일 상단 근처에서 VPN의 IP를 반영하도록 my-server-1을 변경합니다.

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote my-server-1 1194

다음으로 아래 표시된 영역을 찾아 1단계의 server.conf에서 수행한 것처럼 user nobodygroup nogroup의 주석 처리를 제거합니다. 참고: Windows에는 적용되지 않으므로 건너뛸 수 있습니다. 완료되면 다음과 같이 표시됩니다.

# Downgrade privileges after initialization (non-Windows only)
user nobody
group nogroup

아래 제공된 영역은 주석 처리된 세 줄을 표시해야 DigitalOcean.ovpn 파일에 인증서와 키를 직접 포함할 수 있습니다. 완료되면 다음과 같이 표시됩니다.

# SSL/TLS parms.
# . . .
#ca ca.crt
#cert client.crt
#key client.key

개별 파일을 하나의 통합 프로필로 병합하기 위해 ca.crt, client1.crt 및 client1.key 파일의 콘텐츠를 .ovpn 프로필은 기본 XML 유사 구문을 사용합니다. 파일 끝에 있는 XML은 다음 형식을 취해야 합니다.

<ca>
(insert ca.crt here)
</ca>
<cert>
(insert client1.crt here)
</cert>
<key>
(insert client1.key here)
</key>

완료되면 파일의 끝은 이 축약된 예와 유사해야 합니다.

<ca>
-----BEGIN CERTIFICATE-----
. . .
-----END CERTIFICATE-----
</ca>

<cert>
Certificate:
. . .
-----END CERTIFICATE-----
. . .
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
. . .
-----END PRIVATE KEY-----
</key>

client1.crt 파일에는 몇 가지 추가 정보가 있습니다. 전체 파일을 포함하는 것이 좋습니다.

변경 사항을 저장하고 종료합니다. 이제 client1을(를) 구성하기 위한 통합 OpenVPN 클라이언트 프로필이 있습니다.

5단계 - 클라이언트 프로필 설치

이제 Windows, OS X, iOS 및 Android에 클라이언트 VPN 프로필을 설치하는 방법에 대해 설명하겠습니다. 이러한 클라이언트 지침은 서로 의존하지 않으므로 해당하는 항목으로 건너뛸 수 있습니다.

.ovpn 파일의 이름이 무엇이든 간에 연결이 호출된다는 점을 기억하십시오. 이 예에서 파일 이름은 DigitalOcean.ovpn이므로 연결 이름은 DigitalOcean이 됩니다.

윈도우

설치 중

Windows용 OpenVPN 클라이언트 애플리케이션은 OpenVPN의 다운로드 페이지에서 찾을 수 있습니다. Windows 버전에 적합한 설치 프로그램 버전을 선택하십시오.

참고: OpenVPN을 설치하려면 관리자 권한이 필요합니다.

OpenVPN을 설치한 후 통합 DigitalOcean.ovpn 프로필을 다음 위치에 복사합니다.

C:\Program Files\OpenVPN\config

OpenVPN을 실행하면 자동으로 프로필을 보고 사용할 수 있게 됩니다.

OpenVPN은 관리자 계정으로도 사용할 때마다 관리자 권한으로 실행해야 합니다. VPN을 사용할 때마다 마우스 오른쪽 버튼을 클릭하고 관리자 권한으로 실행을 선택하지 않고 이 작업을 수행하려면 미리 설정할 수 있지만 관리 계정에서 수행해야 합니다. 이것은 또한 표준 사용자가 OpenVPN을 사용하려면 관리자 암호를 입력해야 함을 의미합니다. 반면 일반 사용자는 클라이언트의 OpenVPN에 관리자 권한이 없으면 서버에 제대로 연결할 수 없으므로 상승된 권한이 필요합니다.

OpenVPN 애플리케이션이 항상 관리자 권한으로 실행되도록 설정하려면 바로 가기 아이콘을 마우스 오른쪽 버튼으로 클릭하고 속성으로 이동합니다. 호환성 탭 하단에서 모든 사용자에 대한 설정 변경 버튼을 클릭합니다. 새 창에서 이 프로그램을 관리자로 실행을 선택하십시오.

연결 중

OpenVPN GUI를 실행할 때마다 Windows는 프로그램이 컴퓨터를 변경할 수 있도록 허용할지 묻는 메시지를 표시합니다. 예를 클릭합니다. OpenVPN 클라이언트 응용 프로그램을 시작하면 애플릿이 시스템 트레이에 배치되므로 필요에 따라 VPN을 연결하고 연결을 끊을 수 있습니다. 실제로 VPN 연결을 만들지는 않습니다.

OpenVPN이 시작되면 시스템 트레이 애플릿으로 이동하고 OpenVPN 애플릿 아이콘을 마우스 오른쪽 버튼으로 클릭하여 연결을 시작합니다. 상황에 맞는 메뉴가 열립니다. 메뉴 상단에서 DigitalOcean(DigitalOcean.ovpn 프로필)을 선택하고 연결을 선택합니다.

연결이 설정되는 동안 로그 출력을 보여주는 상태 창이 열리고 클라이언트가 연결되면 메시지가 표시됩니다.

같은 방법으로 VPN에서 연결 해제: 시스템 트레이 애플릿으로 이동하여 OpenVPN 애플릿 아이콘을 마우스 오른쪽 버튼으로 클릭하고 클라이언트 프로필을 선택한 다음 연결 해제를 클릭합니다.

OS X

설치 중

Tunnelblick 다운로드 페이지. 다운로드한 .dmg 파일을 두 번 클릭하고 지시에 따라 설치합니다.

설치 프로세스가 끝날 무렵 Tunnelblick은 구성 파일이 있는지 묻습니다. 아니요라고 대답하고 Tunnelblick이 종료되도록 하는 것이 더 쉬울 수 있습니다. Finder 창을 열고 DigitalOcean.ovpn을 두 번 클릭합니다. Tunnelblick이 클라이언트 프로필을 설치합니다. 관리 권한이 필요합니다.

연결 중

응용 프로그램 폴더에서 Tunnelblick을 두 번 클릭하여 Tunnelblick을 시작합니다. Tunnelblick이 실행되면 화면 오른쪽 상단의 메뉴 표시줄에 연결 제어를 위한 Tunnelblick 아이콘이 표시됩니다. 아이콘을 클릭한 다음 연결 메뉴 항목을 클릭하여 VPN 연결을 시작합니다. DigitalOcean 연결을 선택합니다.

아이폰 OS

설치 중

iTunes App Store에서 공식 iOS OpenVPN 클라이언트 애플리케이션인 OpenVPN Connect를 검색하여 설치합니다. iOS 클라이언트 프로필을 기기로 전송하려면 컴퓨터에 직접 연결하세요.

iTunes로 전송을 완료하는 방법은 여기에 설명되어 있습니다. 컴퓨터에서 iTunes를 열고 iPhone > 앱을 클릭합니다. 파일 공유 섹션까지 아래로 스크롤하고 OpenVPN 앱을 클릭합니다. 오른쪽의 빈 창인 OpenVPN 문서는 파일 공유를 위한 것입니다. .ovpn 파일을 OpenVPN 문서 창으로 드래그합니다.

이제 iPhone에서 OpenVPN 앱을 실행하세요. 새 프로필을 가져올 준비가 되었다는 알림이 표시됩니다. 녹색 더하기 기호를 탭하여 가져옵니다.

연결 중

이제 OpenVPN을 새 프로필과 함께 사용할 준비가 되었습니다. 연결 버튼을 켜짐 위치로 밀어서 연결을 시작합니다. 동일한 버튼을 끔으로 밀어서 연결을 끊습니다.

참고: 설정 아래의 VPN 스위치는 VPN에 연결하는 데 사용할 수 없습니다. 시도하면 OpenVPN 앱을 사용해서만 연결하라는 알림을 받게 됩니다.

기계적 인조 인간

설치 중

Google Play 스토어를 엽니다. 공식 Android OpenVPN 클라이언트 애플리케이션인 Android OpenVPN Connect를 검색하고 설치합니다.

.ovpn 프로필은 Android 기기를 USB로 컴퓨터에 연결하고 파일을 복사하여 전송할 수 있습니다. 또는 SD 카드 리더가 있는 경우 기기의 SD 카드를 제거하고 프로필을 복사한 다음 카드를 Android 기기에 다시 삽입할 수 있습니다.

OpenVPN 앱을 시작하고 메뉴를 탭하여 프로필을 가져옵니다.

그런 다음 저장된 프로필의 위치(스크린샷에서는 /sdcard/Download/ 사용)로 이동하여 파일을 선택합니다. 앱에서 프로필을 가져왔다는 메모를 작성합니다.

연결 중

연결하려면 연결 버튼을 누르기만 하면 됩니다. OpenVPN 애플리케이션을 신뢰하는지 묻는 메시지가 표시됩니다. 확인을 선택하여 연결을 시작합니다. VPN 연결을 끊으려면 OpenVPN 앱으로 돌아가서 연결 끊기를 선택하세요.

6단계 - VPN 연결 테스트

모든 것이 설치되면 간단한 점검으로 모든 것이 제대로 작동하는지 확인합니다. VPN 연결을 활성화하지 않은 상태에서 브라우저를 열고 DNSLeakTest로 이동합니다.

사이트는 귀하의 인터넷 서비스 제공업체가 할당한 IP 주소를 귀하가 다른 세계에 표시되는 대로 반환합니다. 동일한 웹사이트를 통해 DNS 설정을 확인하려면 확장 테스트를 클릭하면 사용 중인 DNS 서버를 알려줍니다.

이제 OpenVPN 클라이언트를 Droplet의 VPN에 연결하고 브라우저를 새로 고칩니다. 이제 VPN 서버의 완전히 다른 IP 주소가 나타납니다. 그것이 이제 당신이 세상에 나타나는 방식입니다. 다시 말하지만 DNSLeakTest의 확장 테스트는 DNS 설정을 확인하고 현재 VPN에서 푸시하는 DNS 리졸버를 사용하고 있는지 확인합니다.

축하해요! 이제 스누퍼와 검열자로부터 신원, 위치 및 트래픽을 보호하면서 인터넷을 안전하게 통과하고 있습니다.