IBM Cloud Docs
strongSwan 피어에 연결

strongSwan 피어에 연결

IBM Cloud VPN for VPC를 사용하여 VPC를 VPN 터널을 통해 온프레미스 네트워크에 안전하게 연결할 수 있습니다. 이 주제에서는 VPN for VPC에 연결하도록 strongSwan VPN 게이트웨이를 구성하는 방법에 대한 지침을 제공합니다.

다음 지시사항은 Linux strongSwan U5.3.5/K4.4.0-133-generic을 기준으로 합니다.

온-프레미스 피어에 계속 연결하기 전에 VPN 게이트웨이의 알려진 문제를 읽어보세요.

디렉토리로 이동하여 /etc 디렉터리로 이동하여 이름(예: ipsec.abc.conf)을 사용하여 새 사용자 지정 터널 구성 파일을 만듭니다. 다음 행을 추가하여 새 /etc/ipsec.conf 파일이 포함되도록 ipsec.abc.conf 파일을 편집하십시오.

include /etc/ipsec.abc.conf

strongSwan VPN이 VPN for VPC로부터 연결 요청을 수신하면 strongSwan은 IPsec 1단계 매개변수를 설정하여 보안 연결을 설정한 후 VPN for VPC 게이트웨이를 인증합니다. 그런 다음 보안 정책에서 연결을 허용하는 경우 strongSwan VPN에서 IPsec 2단계 매개변수를 사용하여 터널을 설정한 후 IPsec 보안 정책을 적용합니다. 키 관리, 인증 및 보안 서비스는 IKE 프로토콜을 통해 동적으로 협상합니다.

이러한 기능을 지원하려면 strongSwan VPN에서 다음과 같은 일반 구성 단계를 수행해야 합니다.

  • strongSwan에서 VPN for VPC를 인증하고 보안 연결을 설정하기 위해 필요한 1단계 매개변수를 정의하십시오.
  • strongSwan에서 VPN for VPC를 사용하여 VPN 터널을 작성하기 위해 필요한 2단계 매개변수를 정의하십시오.

IBM 정책 기반 VPN을 strongSwan 피어에 연결

다음 구성을 사용하십시오.

  1. 인증에서 IKEv2를 선택하십시오.

  2. 1단계 제안에서 DH-group 2를 사용으로 설정하십시오.

  3. 1단계 제안에서 lifetime = 36000을 설정하십시오.

  4. 2단계 제안에서 PFS를 사용 안함으로 설정하십시오.

  5. 2단계 제안에서 lifetime = 10800을 설정하십시오.

  6. 2단계 제안에서 피어 및 서브넷 정보를 입력하십시오.

    다음 예는 온프레미스 서브넷 10.160.26.64/26 ( strongSwan VPN 게이트웨이의 IP 주소가 169.45.74.119)과 VPC 서브넷 192.168.17.0/28 ( VPN for VPC 게이트웨이의 IP 주소가 169.61.181.116)간의 연결을 정의합니다.

    vim /etc/ipsec.abc.conf
    conn all
           type=tunnel
           auto=start
           #aggressive=no
           esp=aes256-sha256!
           ike=aes256-sha256-modp2048!
           left=%any
           leftsubnet=10.160.26.64/26
           rightsubnet=192.168.17.0/28
           right=169.61.181.116
           leftauth=psk
           rightauth=psk
           leftid="169.45.74.119"
           keyexchange=ikev2
           rightid="169.61.181.116"
           lifetime=10800s
           ikelifetime=36000s
           dpddelay=30s
           dpdaction=restart
           dpdtimeout=120s
    
  7. /etc/ipsec.secrets에서 사전 공유 키 설정:

    vim ipsec.secrets
    # This file holds shared secrets or RSA private keys for authentication.
    
    169.45.74.119 169.61.181.116 : PSK "******"
    
    
  8. 구성 파일 실행이 완료되면 strongSwan VPN을 다시 시작하십시오.

    ipsec restart
    
    

IBM 경로 기반 VPN을 strongSwan 피어에 연결하기

다음 예제 구성은 strongSwan과 VPN for VPC 사이에 두 개의 경로 기반 터널을 설정하는 방법을 보여 줍니다.

  1. IP 포워딩을 사용 설정하려면 다음 명령을 입력합니다:

    sudo sysctl -w net.ipv4.conf.all.forwarding=1
    
  2. /etc/strongswan.d/charon-no-route-install.conf 이라는 파일을 만들고 다음 콘텐츠를 추가합니다:

    charon {
          install_routes = no
    }
    
  3. VPN 연결을 구성하려면 /etc/ipsec.abc.conf 파일을 업데이트하세요. 다음 예제에서는 VPN 게이트웨이에 두 개의 공인 IP(135.90.134.86, 135.90.134.87)가 있습니다. strongSwan 서버 IP는 169.59.212.125 입니다. 이 구성은 두 개의 연결을 생성합니다. leftid 는 strongSwan 서버의 공인 IP이고, rightrightid 은 VPN 게이트웨이의 공인 IP를 나타냅니다.

    conn peer_135.90.134.86
      keyexchange=ikev2
      left=%any
      leftid=169.59.212.125
      leftsubnet=0.0.0.0/0
      rightsubnet=0.0.0.0/0
      right=135.90.134.86
      rightid=135.90.134.86
      auto=start
      ike=aes256-aes192-aes128-sha512-sha384-sha256-modp2048s256-modp2048s224-modp1024s160-ecp521-ecp384-ecp256-modp8192-modp6144-modp4096-modp3072-modp2048-x25519!
      ikelifetime=36000s
      esp=aes256gcm16-aes192gcm16-aes128gcm16,aes256-aes192-aes128-sha512-sha384-sha256!
      lifetime=10800s
      type=tunnel
      leftauth=psk
      rightauth=psk
      dpdaction = restart
      dpddelay = 10s
      mark = 1
    conn peer_135.90.134.87
      keyexchange=ikev2
      left=%any
      leftid=169.59.212.125
      leftsubnet=0.0.0.0/0
      rightsubnet=0.0.0.0/0
      right=135.90.134.87
      rightid=135.90.134.87
      auto=start
      ike=aes256-aes192-aes128-sha512-sha384-sha256-modp2048s256-modp2048s224-modp1024s160-ecp521-ecp384-ecp256-modp8192-modp6144-modp4096-modp3072-modp2048-x25519!
      ikelifetime=36000s
      esp=aes256gcm16-aes192gcm16-aes128gcm16,aes256-aes192-aes128-sha512-sha384-sha256!
      lifetime=10800s
      type=tunnel
      leftauth=psk
      rightauth=psk
      dpdaction = restart
      dpddelay = 10s
      mark = 2
    
  4. /etc/ipsec.secrets 파일에서 미리 공유한 키를 설정하고 실제 미리 공유한 키 값으로 ****** 를 대체합니다:

    169.59.212.125 135.90.134.86 : PSK "******"
    169.59.212.125 135.90.134.86 : PSK "******"
    
  5. 서버에 가상 인터페이스를 만들고 VTI 인터페이스 상태를 up 로 설정합니다. mark_nummark 값으로 바꿉니다(3단계에 정의된 대로). local_ip 는 strongSwan 서버의 개인 IP 이고, remote_ip 은 VPN 게이트웨이의 공용 IP 주소 중 공용 IP 입니다.

    # sample: sudo ip tunnel add vti<mark_num> local <local_ip> remote <remote_ip> mode vti key <mark_num>
    sudo ip tunnel add vti1 local 10.240.2.11 remote 135.90.134.86 mode vti key 1
    sudo ip tunnel add vti1 local 10.240.2.11 remote 135.90.134.87 mode vti key 2
    sudo ip link set vti1 up
    sudo ip link set vti2 up
    
  6. strongSwan 서버에 경로를 추가합니다. 이 예에서 10.240.0.0/24 은 연결할 VPN 게이트웨이의 서브넷이고 VTI 이름은 5단계의 VTI 이름입니다.

    sudo ip route add 10.240.0.0/24 proto static nexthop dev vti1 nexthop dev vti2
    
  7. 구성 파일 실행이 완료되면 strongSwan VPN을 다시 시작하십시오.

    ipsec restart