웹사이트 검색

Ubuntu 18.04에서 StrongSwan으로 IKEv2 VPN 서버를 설정하는 방법


소개

가상 사설망(VPN)을 사용하면 커피숍, 회의 또는 공항과 같은 신뢰할 수 없는 네트워크를 통해 이동하는 트래픽을 안전하게 암호화할 수 있습니다.

IKEv2(Internet Key Exchange v2)는 서버와 클라이언트 간에 직접 IPSec 터널링을 허용하는 프로토콜입니다. IKEv2 VPN 구현에서 IPSec은 네트워크 트래픽에 대한 암호화를 제공합니다. IKEv2는 일부 플랫폼(OS X 10.11+, iOS 9.1+ 및 Windows 10)에서 추가 애플리케이션 없이 기본적으로 지원되며 클라이언트 딸꾹질을 매우 원활하게 처리합니다.

이 자습서에서는 Ubuntu 18.04 서버에서 StrongSwan을 사용하여 IKEv2 VPN 서버를 설정하고 Windows, macOS, Ubuntu, iOS 및 Android 클라이언트에서 연결합니다.

전제 조건

이 자습서를 완료하려면 다음이 필요합니다.

  • 루트가 아닌 sudo 사용자 및 방화벽을 포함하여 Ubuntu 18.04 초기 서버 설정 가이드에 따라 구성된 Ubuntu 18.04 서버 1대

1단계 - StrongSwan 설치

먼저 VPN 서버로 구성할 오픈 소스 IPSec 데몬인 StrongSwan을 설치합니다. 또한 인프라에 대한 자격 증명을 제공하는 인증 기관을 생성할 수 있도록 공개 키 인프라 구성 요소를 설치합니다.

로컬 패키지 캐시를 업데이트하고 다음을 입력하여 소프트웨어를 설치합니다.

  1. sudo apt update
  2. sudo apt install strongswan strongswan-pki

이제 모든 것이 설치되었으므로 인증서 생성으로 이동하겠습니다.

2단계 - 인증 기관 생성

IKEv2 서버에는 클라이언트에 자신을 식별하기 위한 인증서가 필요합니다. 필요한 인증서를 생성하는 데 도움이 되도록 strongswan-pki 패키지에는 인증 기관 및 서버 인증서를 생성하는 유틸리티가 함께 제공됩니다. 시작하려면 작업할 모든 자산을 저장할 몇 개의 디렉토리를 생성해 보겠습니다. 디렉토리 구조는 /etc/ipsec.d의 일부 디렉토리와 일치하며, 여기에서 생성한 모든 항목을 이동하게 됩니다. 개인 파일을 다른 사용자가 볼 수 없도록 권한을 잠급니다.

  1. mkdir -p ~/pki/{cacerts,certs,private}
  2. chmod 700 ~/pki

이제 모든 것을 저장할 디렉토리 구조가 있으므로 루트 키를 생성할 수 있습니다. 이는 루트 인증 기관에 서명하는 데 사용되는 4096비트 RSA 키입니다.

다음 명령을 실행하여 키를 생성합니다.

  1. ipsec pki --gen --type rsa --size 4096 --outform pem > ~/pki/private/ca-key.pem

이제 키가 있으므로 키를 사용하여 루트 인증서에 서명하여 루트 인증 기관을 생성할 수 있습니다.

  1. ipsec pki --self --ca --lifetime 3650 --in ~/pki/private/ca-key.pem \
  2. --type rsa --dn "CN=VPN root CA" --outform pem > ~/pki/cacerts/ca-cert.pem

원하는 경우 고유 이름(DN) 값을 다른 값으로 변경할 수 있습니다. 여기서 일반 이름은 지표일 뿐이므로 인프라의 어떤 것과도 일치할 필요가 없습니다.

이제 루트 인증 기관을 설정하고 실행했으므로 VPN 서버에서 사용할 인증서를 만들 수 있습니다.

3단계 - VPN 서버용 인증서 생성

이제 VPN 서버에 대한 인증서와 키를 생성합니다. 이 인증서를 통해 클라이언트는 방금 생성한 CA 인증서를 사용하여 서버의 신뢰성을 확인할 수 있습니다.

먼저 다음 명령을 사용하여 VPN 서버의 개인 키를 만듭니다.

  1. ipsec pki --gen --type rsa --size 4096 --outform pem > ~/pki/private/server-key.pem

이제 이전 단계에서 생성한 인증 기관의 키로 VPN 서버 인증서를 생성하고 서명합니다. 다음 명령을 실행하되 일반 이름(CN) 및 주체 대체 이름(SAN) 필드를 VPN 서버의 DNS 이름 또는 IP 주소로 변경합니다.

  1. ipsec pki --pub --in ~/pki/private/server-key.pem --type rsa \
  2. | ipsec pki --issue --lifetime 1825 \
  3. --cacert ~/pki/cacerts/ca-cert.pem \
  4. --cakey ~/pki/private/ca-key.pem \
  5. --dn "CN=server_domain_or_IP" --san "server_domain_or_IP" \
  6. --flag serverAuth --flag ikeIntermediate --outform pem \
  7. > ~/pki/certs/server-cert.pem

이제 StrongSwan에 필요한 모든 TLS/SSL 파일을 생성했으므로 다음을 입력하여 파일을 /etc/ipsec.d 디렉토리의 위치로 이동할 수 있습니다.

  1. sudo cp -r ~/pki/* /etc/ipsec.d/

이 단계에서는 클라이언트와 서버 간의 통신을 보호하는 데 사용할 인증서 쌍을 만들었습니다. 또한 CA 키로 인증서에 서명했으므로 클라이언트는 CA 인증서를 사용하여 VPN 서버의 신뢰성을 확인할 수 있습니다. 이제 모든 인증서가 준비되었으므로 소프트웨어 구성으로 이동합니다.

4단계 - StrongSwan 구성

StrongSwan에는 몇 가지 예제가 포함된 기본 구성 파일이 있지만 대부분의 구성을 직접 수행해야 합니다. 처음부터 시작하기 전에 참조를 위해 파일을 백업해 보겠습니다.

  1. sudo mv /etc/ipsec.conf{,.original}

다음을 입력하여 새 빈 구성 파일을 만들고 엽니다.

  1. sudo nano /etc/ipsec.conf

먼저 StrongSwan에게 디버깅을 위해 데몬 상태를 기록하고 중복 연결을 허용하도록 지시합니다. 파일에 다음 줄을 추가합니다.

config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no

그런 다음 VPN에 대한 구성 섹션을 만듭니다. 또한 StrongSwan에 IKEv2 VPN 터널을 생성하고 시작할 때 이 구성 섹션을 자동으로 로드하도록 지시합니다. 파일에 다음 줄을 추가합니다.

. . .
conn ikev2-vpn
    auto=add
    compress=no
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes

또한 클라이언트가 예기치 않게 연결이 끊어지는 경우 "dangling\ 연결을 지우도록 데드 피어 감지를 구성합니다. 다음 줄을 추가합니다.

. . .
conn ikev2-vpn
    . . .
    dpdaction=clear
    dpddelay=300s
    rekey=no

그런 다음 서버(왼쪽) 측 IPSec 매개변수를 구성합니다. 파일에 다음을 추가하십시오.

. . .
conn ikev2-vpn
    . . .
    left=%any
    leftid=@server_domain_or_IP
    leftcert=server-cert.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0

참고: 서버 ID(leftid)를 구성할 때 VPN 서버가 도메인 이름으로 식별되는 경우 @ 문자만 포함하십시오.

    leftid=@vpn.example.com

서버가 IP 주소로 식별되는 경우 IP 주소를 다음 위치에 입력하십시오.

    leftid=203.0.113.7

다음으로 사용할 사설 IP 주소 범위 및 DNS 서버와 같은 클라이언트(오른쪽) 측 IPSec 매개변수를 구성할 수 있습니다.

. . .
conn ikev2-vpn
    . . .
    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightsourceip=10.10.10.0/24
    rightdns=8.8.8.8,8.8.4.4
    rightsendcert=never

마지막으로 클라이언트가 연결할 때 사용자 자격 증명을 요청하도록 StrongSwan에 지시합니다.

. . .
conn ikev2-vpn
    . . .
    eap_identity=%identity

구성 파일은 다음과 같아야 합니다.

config setup
    charondebug="ike 1, knl 1, cfg 0"
    uniqueids=no

conn ikev2-vpn
    auto=add
    compress=no
    type=tunnel
    keyexchange=ikev2
    fragmentation=yes
    forceencaps=yes
    dpdaction=clear
    dpddelay=300s
    rekey=no
    left=%any
    leftid=@server_domain_or_IP
    leftcert=server-cert.pem
    leftsendcert=always
    leftsubnet=0.0.0.0/0
    right=%any
    rightid=%any
    rightauth=eap-mschapv2
    rightsourceip=10.10.10.0/24
    rightdns=8.8.8.8,8.8.4.4
    rightsendcert=never
    eap_identity=%identity

표시된 대로 항목을 구성했음을 확인한 후 파일을 저장하고 닫습니다.

이제 VPN 매개변수를 구성했으므로 사용자가 서버에 연결할 수 있도록 계정 생성으로 이동하겠습니다.

5단계 - VPN 인증 구성

이제 VPN 서버가 클라이언트 연결을 허용하도록 구성되었지만 아직 구성된 자격 증명이 없습니다. ipsec.secrets라는 특수 구성 파일에서 몇 가지를 구성해야 합니다.

  • 서버 인증서의 개인 키를 찾을 수 있는 위치를 StrongSwan에 알려야 서버가 클라이언트에 인증할 수 있습니다.
  • 또한 VPN에 연결할 수 있는 사용자 목록을 설정해야 합니다.

편집을 위해 비밀 파일을 열겠습니다.

  1. sudo nano /etc/ipsec.secrets

먼저 StrongSwan에게 개인 키를 찾을 위치를 알려줍니다.

: RSA "server-key.pem"

그런 다음 사용자 자격 증명을 정의합니다. 원하는 사용자 이름 또는 암호 조합을 만들 수 있습니다.

your_username : EAP "your_password"

파일을 저장하고 닫습니다. 이제 VPN 매개변수 작업을 마쳤으므로 구성이 적용되도록 VPN 서비스를 다시 시작합니다.

  1. sudo systemctl restart strongswan

VPN 서버가 서버 옵션과 사용자 자격 증명으로 완전히 구성되었으므로 이제 가장 중요한 부분인 방화벽 구성으로 넘어갈 차례입니다.

6단계 - 방화벽 및 커널 IP 포워딩 구성

StrongSwan 구성이 완료되면 VPN 트래픽을 전달하고 허용하도록 방화벽을 구성해야 합니다.

전제 조건 자습서를 따랐다면 매우 기본적인 UFW 방화벽이 활성화되어 있어야 합니다. 아직 UFW를 구성하지 않은 경우 기본 구성을 만들고 다음을 입력하여 활성화할 수 있습니다.

  1. sudo ufw allow OpenSSH
  2. sudo ufw enable

이제 표준 IPSec 포트 500 및 4500에 대한 UDP 트래픽을 허용하는 규칙을 추가합니다.

  1. sudo ufw allow 500,4500/udp

다음으로 UFW의 구성 파일 중 하나를 열어 IPSec 패킷을 라우팅하고 전달하기 위한 몇 가지 낮은 수준의 정책을 추가합니다. 그 전에 서버에서 인터넷 액세스에 사용되는 네트워크 인터페이스를 찾아야 합니다. 기본 경로와 연결된 인터페이스를 쿼리하여 찾을 수 있습니다.

  1. ip route | grep default

공용 인터페이스는 "dev\라는 단어 뒤에 와야 합니다. 예를 들어 이 결과는 아래에 강조 표시된 eth0라는 인터페이스를 보여줍니다.

Output
default via 203.0.113.7 dev eth0 proto static

공용 네트워크 인터페이스가 있으면 텍스트 편집기에서 /etc/ufw/before.rules 파일을 엽니다.

  1. sudo nano /etc/ufw/before.rules

파일 상단 부근(*filter 줄 앞)에 다음 구성 블록을 추가합니다.

*nat
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -m policy --pol ipsec --dir out -j ACCEPT
-A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
COMMIT

*mangle
-A FORWARD --match policy --pol ipsec --dir in -s 10.10.10.0/24 -o eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360
COMMIT

*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]
. . .

ip route에서 찾은 인터페이스 이름과 일치하도록 위 구성에서 eth0의 각 인스턴스를 변경합니다. *nat 줄은 방화벽이 VPN 클라이언트와 인터넷 간의 트래픽을 올바르게 라우팅하고 조작할 수 있도록 규칙을 만듭니다. *mangle 줄은 최대 패킷 세그먼트 크기를 조정하여 특정 VPN 클라이언트의 잠재적인 문제를 방지합니다.

다음으로, *filter 및 체인 정의 줄 뒤에 구성 블록을 하나 더 추가합니다.

. . .
*filter
:ufw-before-input - [0:0]
:ufw-before-output - [0:0]
:ufw-before-forward - [0:0]
:ufw-not-local - [0:0]

-A ufw-before-forward --match policy --pol ipsec --dir in --proto esp -s 10.10.10.0/24 -j ACCEPT
-A ufw-before-forward --match policy --pol ipsec --dir out --proto esp -d 10.10.10.0/24 -j ACCEPT

이러한 라인은 VPN 클라이언트가 연결할 수 있도록 ESP(Encapsulating Security Payload) 트래픽을 전달하도록 방화벽에 지시합니다. ESP는 VPN 패킷이 신뢰할 수 없는 네트워크를 통과할 때 추가 보안을 제공합니다.

완료되면 파일을 저장하고 닫습니다.

방화벽을 다시 시작하기 전에 한 인터페이스에서 다른 인터페이스로의 라우팅을 허용하도록 일부 네트워크 커널 매개변수를 변경합니다. UFW의 커널 매개변수 구성 파일을 엽니다.

  1. sudo nano /etc/ufw/sysctl.conf

여기서 몇 가지를 구성해야 합니다.

  • 먼저 IPv4 패킷 전달을 활성화합니다.
  • 패킷 조각화 문제를 방지하기 위해 경로 MTU 검색을 비활성화합니다.
  • 또한 중간자 공격을 방지하기 위해 ICMP 리디렉션을 허용하거나 전송하지 않습니다.

파일에 적용해야 하는 변경 사항은 다음 코드에서 강조 표시됩니다.


. . .

# Enable forwarding
# Uncomment the following line
net/ipv4/ip_forward=1

. . .

# Do not accept ICMP redirects (prevent MITM attacks)
# Ensure the following line is set
net/ipv4/conf/all/accept_redirects=0

# Do not send ICMP redirects (we are not a router)
# Add the following lines
net/ipv4/conf/all/send_redirects=0
net/ipv4/ip_no_pmtu_disc=1

완료되면 파일을 저장하십시오. UFW는 다음에 시작할 때 이러한 변경 사항을 적용합니다.

이제 방화벽을 비활성화하고 다시 활성화하여 모든 변경 사항을 활성화할 수 있습니다.

  1. sudo ufw disable
  2. sudo ufw enable

프로세스를 확인하라는 메시지가 표시됩니다. 새 설정으로 UFW를 다시 활성화하려면 Y를 입력하십시오.

7단계 – Windows, iOS 및 macOS에서 VPN 연결 테스트

모든 설정이 완료되었으므로 이제 사용해 볼 차례입니다. 먼저 생성한 CA 인증서를 복사하여 VPN에 연결할 클라이언트 장치에 설치해야 합니다. 이를 수행하는 가장 쉬운 방법은 서버에 로그인하고 인증서 파일의 내용을 출력하는 것입니다.

  1. cat /etc/ipsec.d/cacerts/ca-cert.pem

다음과 유사한 출력이 표시됩니다.

Output
-----BEGIN CERTIFICATE----- MIIFQjCCAyqgAwIBAgIIFkQGvkH4ej0wDQYJKoZIhvcNAQEMBQAwPzELMAkGA1UE . . . EwbVLOXcNduWK2TPbk/+82GRMtjftran6hKbpKGghBVDPVFGFT6Z0OfubpkQ9RsQ BayqOb/Q -----END CERTIFICATE-----

-----BEGIN CERTIFICATE----------END CERTIFICATE----- 줄을 포함하여 이 출력을 컴퓨터에 복사합니다. ca-cert.pem과 같이 인식할 수 있는 이름으로 파일에 저장합니다. 생성한 파일에 .pem 확장자가 있는지 확인합니다.

또는 SFTP를 사용하여 파일을 컴퓨터로 전송합니다.

컴퓨터에 ca-cert.pem 파일을 다운로드했으면 VPN에 대한 연결을 설정할 수 있습니다.

Windows에서 연결

먼저 다음 단계에 따라 루트 인증서를 가져옵니다.

그런 다음 다음 단계에 따라 VPN을 구성합니다.

  1. 제어판을 시작한 다음 네트워크 및 공유 센터로 이동합니다.
  2. 새 연결 또는 네트워크 설정을 클릭한 다음 직장에 연결을 선택합니다.
  3. 내 인터넷 연결(VPN) 사용을 선택합니다.
  4. VPN 서버 세부 정보를 입력합니다. 인터넷 주소 필드에 서버의 도메인 이름 또는 IP 주소를 입력한 다음 VPN 연결을 설명하는 이름으로 대상 이름을 입력합니다. 그런 다음 완료를 클릭합니다.

네트워크 목록 아래에 새 VPN 연결이 표시됩니다. VPN을 선택하고 연결을 클릭합니다. 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다. 입력하고 확인을 클릭하면 연결됩니다.

macOS에서 연결

인증서를 가져오려면 다음 단계를 따르십시오.

  1. 인증서 파일을 두 번 클릭합니다. 키체인 접근이 "키체인 접근이 시스템 키체인을 수정하려고 합니다. 허용하려면 암호를 입력하세요.\라는 대화 상자와 함께 팝업됩니다.
  2. 암호를 입력한 다음 키체인 수정을 클릭하십시오
  3. 새로 가져온 VPN 인증서를 두 번 클릭합니다. 이렇게 하면 신뢰 수준을 지정할 수 있는 작은 속성 창이 나타납니다. IP 보안(IPSec)을 항상 신뢰로 설정하면 암호를 다시 입력하라는 메시지가 표시됩니다. 이 설정은 비밀번호를 입력하면 자동으로 저장됩니다.

이제 인증서가 중요하고 신뢰할 수 있으므로 다음 단계에 따라 VPN 연결을 구성합니다.

  1. 시스템 환경설정으로 이동하여 네트워크를 선택합니다.
  2. 네트워크 목록의 왼쪽 하단에 있는 작은 "더하기\ 버튼을 클릭합니다.
  3. 표시되는 팝업에서 인터페이스를 VPN으로 설정하고 VPN 유형을 IKEv2로 설정하고 연결 이름을 지정합니다.
  4. 서버 및 원격 ID 필드에 서버의 도메인 이름 또는 IP 주소를 입력합니다. 로컬 ID는 비워둡니다.
  5. 인증 설정을 클릭하고 사용자 이름을 선택한 다음 VPN 사용자에 대해 구성한 사용자 이름과 암호를 입력합니다. 그런 다음 확인을 클릭합니다.

마지막으로 연결을 클릭하여 VPN에 연결합니다. 이제 VPN에 연결되어야 합니다.

우분투에서 연결

Ubuntu 머신에서 연결하려면 StrongSwan을 서비스로 설정 및 관리하거나 연결할 때마다 일회성 명령을 사용할 수 있습니다. 둘 다에 대한 지침이 제공됩니다.

StrongSwan을 서비스로 관리

  1. 로컬 패키지 캐시 업데이트: sudo apt update
  2. SongSwan 및 관련 소프트웨어 설치 sudo apt install strongswan libcharon-extra-plugins
  3. CA 인증서를 /etc/ipsec.d/cacerts 디렉터리에 복사합니다. sudo cp /tmp/ca-cert.pem /etc/ipsec .d/cacerts
  4. VPN이 자동으로 시작되지 않도록 StrongSwan 비활성화: sudo systemctl disable --now strongswan
  5. /etc/ipsec.secrets 파일에서 VPN 사용자 이름과 암호를 구성합니다. your_username : EAP \your_password\
  6. /etc/ipsec.conf 파일을 편집하여 구성을 정의합니다.

config setup

conn ikev2-rw
    right=server_domain_or_IP
    # This should match the `leftid` value on your server's configuration
    rightid=server_domain_or_IP
    rightsubnet=0.0.0.0/0
    rightauth=pubkey
    leftsourceip=%config
    leftid=username
    leftauth=eap-mschapv2
    eap_identity=%identity
    auto=start

VPN에 연결하려면 다음을 입력합니다.

  1. sudo systemctl start strongswan

다시 연결을 끊으려면 다음을 입력하십시오.

  1. sudo systemctl stop strongswan

일회성 연결에 단순 클라이언트 사용

  1. 로컬 패키지 캐시 업데이트: sudo apt update
  2. charon-cmd 및 관련 소프트웨어 설치 sudo apt install charon-cmd libcharon-extra-plugins
  3. CA 인증서를 복사한 디렉토리로 이동: cd <^>/path/to/ca-cert.pem
  4. 서버의 CA 인증서, VPN 서버의 IP 주소 및 구성한 사용자 이름을 사용하여 charon-cmd로 VPN 서버에 연결합니다. sudo charon-cmd --cert ca-cert .pem --host vpn_domain_or_IP --identity your_username
  5. 메시지가 표시되면 VPN 사용자의 비밀번호를 제공합니다.

이제 VPN에 연결되어야 합니다. 연결을 끊으려면 CTRL+C를 누르고 연결이 닫힐 때까지 기다리십시오.

iOS에서 연결

iOS 장치에서 VPN 연결을 구성하려면 다음 단계를 따르십시오.

  1. 루트 인증서가 첨부된 이메일을 자신에게 보냅니다.
  2. iOS 장치에서 이메일을 열고 첨부된 인증서 파일을 탭한 다음 설치를 탭하고 비밀번호를 입력하십시오. 설치되면 완료를 탭합니다.
  3. 설정, 일반, VPN으로 이동하고 VPN 구성 추가를 누릅니다. 그러면 VPN 연결 구성 화면이 나타납니다.
  4. 유형을 탭하고 IKEv2를 선택합니다.
  5. 설명 필드에 VPN 연결의 짧은 이름을 입력합니다. 이것은 당신이 좋아하는 무엇이든 될 수 있습니다.
  6. 서버 및 원격 ID 필드에 서버의 도메인 이름 또는 IP 주소를 입력합니다. 로컬 ID 필드는 비워둘 수 있습니다.
  7. 인증 섹션에 사용자 이름과 비밀번호를 입력한 다음 완료를 탭합니다.
  8. 방금 생성한 VPN 연결을 선택하고 페이지 상단의 스위치를 탭하면 연결됩니다.

안드로이드에서 연결하기

인증서를 가져오려면 다음 단계를 따르십시오.

  1. CA 인증서가 첨부된 이메일을 자신에게 보냅니다. CA 인증서를 다운로드 폴더에 저장합니다.
  2. Play 스토어에서 StrongSwan VPN 클라이언트를 다운로드합니다.
  3. 앱을 엽니다. 오른쪽 상단 모서리에 있는 "더보기\ 아이콘(점 3개 아이콘)을 탭하고 CA 인증서를 선택합니다.
  4. 오른쪽 상단 모서리에 있는 "더보기\ 아이콘을 다시 탭합니다. 인증서 가져오기를 선택합니다.
  5. 다운로드 폴더에서 CA 인증서 파일을 찾아 선택하여 앱으로 가져옵니다.

이제 인증서를 StrongSwan 앱으로 가져왔으므로 다음 단계를 통해 VPN 연결을 구성할 수 있습니다.

  1. 앱에서 상단의 VPN 프로필 추가를 탭합니다.
  2. 서버에 VPN 서버의 도메인 이름 또는 공용 IP 주소를 입력합니다.
  3. IKEv2 EAP(사용자 이름/암호)가 VPN 유형으로 선택되었는지 확인합니다.
  4. 서버에서 정의한 자격 증명으로 사용자 이름과 암호를 입력합니다.
  5. CA 인증서 섹션에서 자동으로 선택을 선택 취소하고 CA 인증서 선택을 클릭합니다.
  6. 화면 상단의 가져온 탭을 탭하고 가져온 CA를 선택합니다(이전에 "DN\을 변경하지 않은 경우 이름이 "VPN 루트 CA\로 지정됨).
  7. 원하는 경우 프로필 이름(선택 사항)을 보다 설명적인 이름으로 입력합니다.

VPN에 연결하려면 StrongSwan 애플리케이션에서 방금 생성한 프로필을 클릭하십시오.

연결 문제 해결

인증서를 가져올 수 없는 경우 파일에 .pem.txt가 아닌 .pem 확장자가 있는지 확인하십시오.

VPN에 연결할 수 없는 경우 사용한 서버 이름 또는 IP 주소를 확인하세요. 서버의 도메인 이름 또는 IP 주소는 인증서를 생성하는 동안 일반 이름(CN)으로 구성한 것과 일치해야 합니다. 일치하지 않으면 VPN 연결이 작동하지 않습니다. vpn.example.com의 CN으로 인증서를 설정하는 경우 반드시 VPN에 들어갈 때 vpn.example.com을 사용해야 합니다. 서버 세부 정보. 인증서를 생성하는 데 사용한 명령과 VPN 연결을 만들 때 사용한 값을 다시 확인하십시오.

마지막으로 도메인 이름을 사용하는 경우 VPN 구성을 다시 확인하여 leftid 값이 @ 기호로 구성되었는지 확인하세요.

    leftid=@vpn.example.com

IP 주소를 사용하는 경우 @ 기호가 생략되었는지 확인하세요.

결론

이 자습서에서는 IKEv2 프로토콜을 사용하는 VPN 서버를 구축했습니다. 이제 어디를 가든지 온라인 활동이 안전하게 유지된다는 것을 확신할 수 있습니다!

사용자를 추가하거나 제거하려면 5단계를 다시 살펴보십시오. 각 줄은 한 명의 사용자를 위한 것이므로 사용자를 추가하거나 제거하는 것은 파일을 편집하는 것만큼 간단합니다.

여기에서 StrongSwan이 로그를 syslog에 덤프하기 때문에 로그 파일 분석기 설정을 살펴볼 수 있습니다. VPS에서 Logwatch Log Analyzer 및 Reporter를 설치하고 사용하는 방법 튜토리얼에 설정에 대한 자세한 정보가 있습니다.

온라인 개인 정보 보호에 대한 EFF의 이 가이드에 관심이 있을 수도 있습니다.