지점 및 사이트 간 VPN 클라이언트 구성: 인증서 인증 - Linux

이 문서는 Linux 클라이언트의 VPN Gateway P2S(지점 및 사이트 간 연결) 및 인증서 인증을 사용하여 Azure VNet(가상 네트워크)에 연결하는 데 도움이 됩니다. 이 문서에는 P2S 구성, 운영 체제 및 연결하는 데 사용되는 VPN 클라이언트에 대해 선택한 터널 유형에 따라 여러 단계 세트가 있습니다.

시작하기 전에

시작하기 전에 올바른 문서에 있는지 확인합니다. 다음 표에서는 Azure VPN Gateway P2S VPN 클라이언트에 사용할 수 있는 구성 문서를 보여 줍니다. 인증 유형, 터널 유형 및 클라이언트 OS에 따라 단계가 다릅니다.

인증 터널 종류 구성 파일 생성 VPN 클라이언트 구성
Azure 인증서 IKEv2, SSTP Windows 네이티브 VPN 클라이언트
Azure 인증서 OpenVPN Windows - OpenVPN 클라이언트
- Azure VPN 클라이언트
Azure 인증서 IKEv2, OpenVPN macOS-iOS macOS-iOS
Azure 인증서 IKEv2, OpenVPN Linux Linux
Microsoft Entra ID OpenVPN(SSL) Windows Windows
Microsoft Entra ID OpenVPN(SSL) macOS macOS
RADIUS - 인증서 - 아티클 아티클
RADIUS - 암호 - 아티클 아티클
RADIUS - 다른 방법 - 아티클 아티클

Important

2018년 7월 1일부터 Azure VPN 게이트웨이에서 1.1 및 TLS 1.0에 대한 지원이 제거될 예정입니다. VPN Gateway는 TLS 1.2만 지원합니다. 지점 및 사이트 간 연결만 영향을 받으며 사이트 간 연결은 영향을 받지 않습니다. Windows 10 이상 클라이언트에서 지점 및 사이트 간 VPN에 TLS를 사용하는 경우 작업을 취할 필요가 없습니다. Windows 7 및 Windows 8 클라이언트에서 지점-사이트 간 연결에 TLS를 사용하는 경우 VPN Gateway FAQ에서 업데이트 지침을 참조하세요.

인증서 생성

인증서 인증의 경우 클라이언트 인증서를 각 클라이언트 컴퓨터에 설치해야 합니다. 사용하려는 클라이언트 인증서는 프라이빗 키를 사용하여 내보내야 하며 인증 경로에 있는 모든 인증서를 포함해야 합니다. 또한 일부 구성의 경우 루트 인증서 정보도 설치해야 합니다.

인증서 사용에 대한 자세한 내용은 지점 및 사이트 간 연결: 인증서 생성을 참조하세요.

VPN 클라이언트 구성 파일 생성

VPN 클라이언트에 필요한 모든 구성 설정은 VPN 클라이언트 프로필 구성 zip 파일에 포함되어 있습니다. 생성하는 VPN 클라이언트 프로필 구성 파일은 가상 네트워크의 P2S VPN 게이트웨이 구성에만 적용됩니다. 파일을 생성한 후 VPN 프로토콜 유형 또는 인증 유형 변경과 같이 P2S VPN 구성을 변경한 경우 새 VPN 클라이언트 프로필 구성 파일을 생성하고 연결하려는 모든 VPN 클라이언트에 새 구성을 적용해야 합니다. P2S 연결에 대한 자세한 내용은 지점 및 사이트 간 VPN 정보를 참조하세요.

Azure Portal을 사용하여 구성 파일을 생성하려면 다음을 수행합니다.

  1. Azure Portal에서 연결하려는 가상 네트워크의 가상 네트워크 게이트웨이로 이동합니다.

  2. 가상 네트워크 게이트웨이에서 지점 및 사이트 간 구성을 클릭하여 지점 및 사이트 간 구성 페이지를 엽니다.

  3. 지점 및 사이트 간 구성 페이지의 맨 위에서 VPN 클라이언트 다운로드를 선택합니다. 이는 VPN 클라이언트 소프트웨어를 다운로드 하지 않으며 VPN 클라이언트를 구성하는 데 사용되는 구성 패키지를 생성합니다. 클라이언트 구성 패키지를 생성하는 데 몇 분이 소요됩니다. 이 시간 동안 패킷이 생성될 때까지 표시가 표시되지 않을 수 있습니다.

    지점 및 사이트 간 구성 페이지 스크린샷

  4. 구성 패키지가 생성되면 브라우저는 클라이언트 구성 zip 파일을 사용할 수 있음을 나타냅니다. 게이트웨이와 동일한 이름이 지정됩니다.

  5. 파일의 압축을 풀어 폴더를 확인합니다. 이러한 파일의 일부 또는 전부를 사용하여 VPN 클라이언트를 구성합니다. 생성된 파일은 P2S 서버에서 구성한 인증 및 터널 유형 설정에 해당합니다.

다음으로 VPN 클라이언트를 구성합니다. 다음 지침 중에서 선택합니다.

IKEv2 - strongSwan 단계

strongSwan 설치

다음 구성은 명령을 지정할 때 사용되었습니다.

  • 컴퓨터: Ubuntu Server 18.04
  • 종속성: strongSwan

다음 명령을 사용하여 필요한 strongSwan 구성을 설치합니다.

sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0

인증서 설치

Azure 인증서 인증 유형을 사용할 때 인증을 위해 클라이언트 인증서가 필요합니다. 클라이언트 인증서는 각 클라이언트 컴퓨터에 설치해야 합니다. 내보낸 클라이언트 인증서는 프라이빗 키를 사용하여 내보내야 하며 인증 경로에 있는 모든 인증서를 포함해야 합니다. 다음 섹션으로 진행하기 전에 클라이언트 컴퓨터에 적절한 클라이언트 인증서가 설치되어 있는지 확인합니다.

클라이언트 인증서에 대한 자세한 내용은 인증서 생성 - Linux를 참조하세요.

VPN 클라이언트 프로필 파일 보기

다운로드한 VPN 클라이언트 프로필 구성 파일로 이동합니다. 일반 폴더에서 구성에 필요한 모든 정보를 찾을 수 있습니다. Azure는 이 구성에 대한 mobileconfig 파일을 제공하지 않습니다.

일반 폴더가 표시되지 않으면 다음 항목을 확인한 다음 zip 파일을 다시 생성합니다.

  • 구성에 대한 터널 유형을 확인합니다. IKEv2가 터널 유형으로 선택되지 않았을 수 있습니다.
  • VPN 게이트웨이에서 SKU가 기본이 아닌지 확인합니다. VPN 게이트웨이 기본 SKU는 IKEv2를 지원하지 않습니다. 그런 다음, IKEv2를 선택하고 zip 파일을 다시 생성하여 일반 폴더를 검색합니다.

Generic 폴더에 포함되는 파일은 다음과 같습니다.

  • VpnSettings.xml - 서버 주소 및 터널 종류와 같은 중요한 설정이 포함되어 있습니다.
  • VpnServerRoot.cer - P2S 연결 설정에서 Azure VPN 게이트웨이의 유효성을 검사하는 데 필요한 루트 인증서가 포함되어 있습니다.

파일을 본 후 사용하려는 단계를 계속 진행합니다.

strongSwan GUI 단계

이 섹션에서는 strongSwan GUI를 사용하여 구성을 안내합니다. 다음 지침은 Ubuntu 18.0.4. 기준으로 작성되었습니다. Ubuntu 16.0.10은 strongSwan GUI를 지원하지 않습니다. Ubuntu 16.0.10을 사용하려는 경우 명령줄을 사용해야 합니다. 다음 예제는 Linux 및 strongSwan 버전에 따라 표시되는 화면과 일치하지 않을 수 있습니다.

  1. 이 예의 명령을 실행하여 터미널을 열고 strongSwan과 네트워크 관리자를 설치합니다.

    sudo apt install network-manager-strongswan
    
  2. 설정을 선택한 후 네트워크를 선택합니다. + 단추를 선택해 새로운 연결을 만듭니다.

    네트워크 연결 페이지를 보여 주는 스크린샷

  3. 메뉴에서 IPsec/IKEv2(strongSwan)를 선택하고 두 번 클릭합니다.

    VPN 추가 페이지를 보여 주는 스크린샷

  4. VPN 추가 페이지에서 VPN 연결의 이름을 추가합니다.

    연결 형식 선택을 보여 주는 스크린샷

  5. 다운로드한 VPN 클라이언트 프로필 구성 파일에 포함된 Generic 폴더에서 VpnSettings.xml 파일을 엽니다. VpnServer라는 태그를 찾아 'azuregateway'로 시작하고 '.cloudapp.net'으로 끝나는 이름을 복사합니다.

    데이터 복사를 보여 주는 스크린샷

  6. 게이트웨이 섹션에서 새 VPN 연결의 주소 필드에 이름을 붙여넣습니다. 다음으로, 인증서 필드 끝에 있는 폴더 아이콘을 클릭하고 Generic 폴더로 이동하여 VpnServerRoot 파일을 선택합니다.

  7. 연결의 클라이언트 섹션에서 인증에 대해 인증서/프라이빗 키를 선택합니다. 인증서프라이빗 키에 대해 이전에 만든 인증서 및 프라이빗 키를 선택합니다. 옵션에서 내부 IP 주소 요청을 선택합니다. 그런 후 추가를 선택합니다.

    내부 IP 주소 요청을 보여 주는 스크린샷

  8. 연결을 On으로 전환합니다.

    복사를 보여 주는 스크린샷

strongSwan CLI 단계

이 섹션에서는 strongSwan CLI를 사용하여 구성을 안내합니다.

  1. VPN 클라이언트 프로필 구성 파일 Generic 폴더에서 VpnServerRoot.cer/etc/ipsec.d/cacerts로 복사 또는 이동합니다.

  2. 생성한 파일을 /etc/ipsec.d/certs /etc/ipsec.d/certs/etc/ipsec.d/private/로 각각 복사하거나 이동합니다. 이러한 파일은 클라이언트 인증서 및 프라이빗 키이며 해당 디렉터리에 있어야 합니다. 다음 명령을 사용합니다.

    sudo cp ${USERNAME}Cert.pem /etc/ipsec.d/certs/
    sudo cp ${USERNAME}Key.pem /etc/ipsec.d/private/
    sudo chmod -R go-rwx /etc/ipsec.d/private /etc/ipsec.d/certs
    
  3. 다음 명령을 실행하여 호스트 이름을 기록해 둡니다. 이 값은 다음 단계에서 사용됩니다.

    hostnamectl --static
    
  4. VpnSettings.xml 파일을 열고 <VpnServer> 값을 복사합니다. 이 값은 다음 단계에서 사용됩니다.

  5. 다음 예제에서 값을 조정한 다음, 예제를 /etc/ipsec.conf 구성에 추가합니다.

    conn azure
          keyexchange=ikev2
          type=tunnel
          leftfirewall=yes
          left=%any
          # Replace ${USERNAME}Cert.pem with the key filename inside /etc/ipsec.d/certs  directory. 
          leftcert=${USERNAME}Cert.pem
          leftauth=pubkey
          leftid=%client # use the hostname of your machine with % character prepended. Example: %client
          right= #Azure VPN gateway address. Example: azuregateway-xxx-xxx.vpn.azure.com
          rightid=% #Azure VPN gateway FQDN with % character prepended. Example: %azuregateway-xxx-xxx.vpn.azure.com
          rightsubnet=0.0.0.0/0
          leftsourceip=%config
          auto=add
          esp=aes256gcm16
    
  6. 비밀 값을 /etc/ipsec.secrets에 추가합니다.

    PEM 파일의 이름은 이전에 클라이언트 키 파일로 사용한 이름과 일치해야 합니다.

    : RSA ${USERNAME}Key.pem  # Replace ${USERNAME}Key.pem with the key filename inside /etc/ipsec.d/private directory. 
    
  7. 마지막으로 다음 명령을 실행합니다.

    sudo ipsec restart
    sudo ipsec up azure
    

OpenVPN 단계

이 섹션은 OpenVPN 터널 유형을 사용하는 인증서 인증을 위해 Linux 클라이언트를 구성하는 데 도움이 됩니다. Azure에 연결하려면 OpenVPN 클라이언트를 다운로드하고 연결 프로필을 구성합니다.

참고 항목

OpenVPN 클라이언트 버전 2.6은 아직 지원되지 않습니다.

  1. 새 터미널 세션을 엽니다. ‘Ctrl+Alt+t’를 동시에 누르면 새 세션을 열 수 있습니다.

  2. 다음 명령을 입력하여 필요한 구성 요소를 설치합니다.

    sudo apt-get install openvpn
    sudo apt-get -y install network-manager-openvpn
    sudo service network-manager restart
    
  3. 다음으로, VPN 클라이언트 프로필 폴더로 이동하고 압축을 풀어 파일을 봅니다.

  4. 만들고 게이트웨이의 P2S 구성에 업로드한 P2S 클라이언트 인증서를 내보냅니다. 단계는 지점 및 사이트 간 VPN Gateway를 참조하세요.

  5. .pfx에서 프라이빗 키 및 base64 지문을 추출합니다. 이 작업은 다양한 방법으로 수행할 수 있습니다. 컴퓨터에서 OpenSSL을 사용하는 것이 하나의 방법입니다.

    openssl pkcs12 -in "filename.pfx" -nodes -out "profileinfo.txt"
    

    profileinfo.txt 파일은 CA 및 클라이언트 인증서에 대한 프라이빗 키 및 지문을 포함합니다. 클라이언트 인증서의 지문을 사용해야 합니다.

  6. 텍스트 편집기에서 profileinfo.txt를 엽니다. 클라이언트(자식) 인증서의 지문을 가져오려면 자식 인증서에 대한 "-----BEGIN CERTIFICATE-----" 및 "-----END CERTIFICATE-----"를 포함하는 해당 항목 사이의 텍스트를 선택하고 복사합니다. 제목=/ 줄을 확인하여 자식 인증서를 식별할 수 있습니다.

  7. vpnconfig.ovpn 파일을 열고 아래에 표시된 섹션을 찾습니다. “cert”와 “/cert” 사이의 모든 항목을 바꿉니다.

    # P2S client certificate
    # please fill this field with a PEM formatted cert
    <cert>
    $CLIENTCERTIFICATE
    </cert>
    
  8. 텍스트 편집기에서 profileinfo.txt를 엽니다. 프라이빗 키를 가져오려면 ‘-----BEGIN PRIVATE KEY-----’와 ‘-----END PRIVATE KEY-----’를 포함한 그 사이의 텍스트를 선택하고 복사합니다.

  9. 텍스트 편집기에서 vpnconfig.ovpn 파일을 열고 이 섹션을 찾습니다. “key”와 “/key” 사이의 모든 항목을 대체하는 프라이빗 키를 붙여넣습니다.

    # P2S client root certificate private key
    # please fill this field with a PEM formatted key
    <key>
    $PRIVATEKEY
    </key>
    
  10. 다른 필드를 변경하지 마세요. 클라이언트 입력에 채워진 구성을 사용하여 VPN에 연결합니다.

    • 명령줄을 사용하여 연결하려면 다음 명령을 입력합니다.

      sudo openvpn --config <name and path of your VPN profile file>&
      
    • 명령줄을 사용하여 연결을 끊으려면 다음 명령을 입력합니다.

      sudo pkill openvpn
      
    • GUI를 사용하여 연결하려면 시스템 설정으로 이동합니다.

  11. 새 VPN 연결을 추가하려면 +를 선택합니다.

  12. VPN 추가에서 파일에서 가져오기...를 선택합니다.

  13. 프로필 파일을 찾아보고 열기를 두 번 클릭하거나 선택합니다.

  14. VPN 추가 창에서 추가를 선택합니다.

    VPN 추가 페이지의 파일에서 가져오기를 보여주는 스크린샷.

  15. 네트워크 설정 페이지 또는 시스템 트레이의 네트워크 아이콘 아래에서 VPN을 설정하면 연결할 수 있습니다.

다음 단계

추가 단계를 보려면 작업했던 원본 지점 및 사이트 간 문서로 돌아갑니다.