인증서 생성 및 내보내기 - Linux(strongSwan)

VPN Gateway 지점 및 사이트 간 연결은 인증서를 사용하여 인증할 수 있습니다. 이 문서에서는 strongSwan을 사용하여 자체 서명된 루트 인증서를 만들고 클라이언트 인증서를 생성하는 방법을 보여 줍니다. PowerShell 또는 MakeCert를 사용할 수도 있습니다.

연결하려면 각 클라이언트에 로컬로 설치된 클라이언트 인증서가 있어야 합니다. 또한 루트 인증서 공개 키 정보를 Azure에 업로드해야 합니다. 자세한 내용은 지점 및 사이트 간 구성 - 인증서 인증을 참조하세요.

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

Linux CLI 지침(strongSwan)

다음 단계는 Linux CLI(strongSwan)를 사용하여 인증서를 생성하고 내보내는 데 도움이 됩니다. 자세한 내용은 Azure CLI 설치에 대한 추가 지침을 참조하세요.

CA 인증서를 생성합니다.

ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem

CA 인증서를 base64 형식으로 인쇄합니다. Azure에서 지원하는 형식입니다. 이 인증서를 P2S 구성 단계의 일부로 Azure에 업로드합니다.

openssl x509 -in caCert.pem -outform der | base64 -w0 ; echo

사용자 인증서를 생성합니다.

export PASSWORD="password"
export USERNAME=$(hostnamectl --static)

ipsec pki --gen --outform pem > "${USERNAME}Key.pem"
ipsec pki --pub --in "${USERNAME}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERNAME}" --san "${USERNAME}" --flag clientAuth --outform pem > "${USERNAME}Cert.pem"

사용자 인증서를 포함하는 p12 번들을 생성합니다. 이 번들은 클라이언트 구성 파일을 사용할 때 다음 단계에서 사용됩니다.

openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"

다음 단계

VPN 클라이언트 구성 파일 만들기 및 설치 - Linux에 대한 지점 및 사이트 간 구성을 계속합니다.