VPN 게이트웨이에 연결 추가

VPN 게이트웨이를 작성 할 때 또는 VPN 게이트웨이를 프로비저닝한 후에 연결을 추가할 수 있습니다. VPN 연결을 구성할 때 자동 협상에 연결하거나 사전 정의된 사용자 정의 IKE 또는 IPsec 정책을 사용하도록 선택할 수 있습니다. 자세한 정보는 정책 협상 정보를 참조하십시오.

일관된 알고리즘 선택을 보장하려면 IBM Cloud VPN 게이트웨이와 피어 게이트웨이 모두에서 정확한 IKE 및 IPsec 알고리즘과 그 우선 순위를 일치시키세요. 알고리즘 선택에 영향을 미치는 요소에 대한 자세한 내용은 사이트 간 VPN 연결에서 IKE 및 IPsec에 대한 암호화 알고리즘은 어떻게 선택되나요?

콘솔에서 연결 추가하기

기존 VPN 게이트웨이에 VPN 연결을 추가하려면 다음 단계를 수행하십시오.

  1. VPN 게이트웨이 표에서 작업하려는 게이트웨이의 행을 강조 표시한 다음 작업 메뉴에서 연결 만들기 작업 메뉴 클릭합니다.

    또는 게이트웨이 상세 정보 페이지에서 ‘VPN 연결’ 섹션의 ‘생성’을 클릭할 수도 있습니다.

  2. 다음 정보를 지정하여 이 게이트웨이와 VPC 외부 네트워크 간의 연결을 정의하십시오.

    • VPN 연결 이름 - 연결의 이름을 입력하십시오(예: my-connection).

    • 연결 유형- 정적 또는 동적 연결 유형을 선택합니다.

    • 피어 게이트웨이 주소 - VPC 외부 네트워크에 대한 VPN 게이트웨이의 IP 주소를 지정하십시오.

      VPN 연결을 프로비저닝한 후에는 피어 게이트웨이 주소 유형을 IP 주소에서 FQDN으로, 또는 FQDN에서 IP 주소로 변경할 수 없습니다.

    • 피어 ASN(동적 경로 기반만 해당 )- 연결 유형으로 동적을 선택한 경우 피어 ASN을 지정해야 합니다. 이 값은 VPN이 경로를 교환하는 외부 피어 네트워크를 식별합니다.

    • 확립 모드- 양방향 또는 피어 전용을 선택하십시오.

      • 양방향 모드는 VPN 게이트웨이의 양쪽 어느 한쪽에서든 IKE 프로토콜 협상(또는 키 갱신 프로세스)을 시작합니다.
      • 피어 전용 모드에서는 피어가 이 VPN 게이트웨이 연결에 대한 IKE 프로토콜 조정을 시작할 수 있습니다. 또한 피어는 연결이 설정된 후 키 재조정 프로세스를 시작해야 합니다.

      피어 디바이스가 NAT 디바이스 뒤에 있고 공용 IP 주소가 없는 경우 피어 전용을 지정해야 합니다.

    • 사전 공유된 키 - VPC 외부 네트워크에 대한 VPN 게이트웨이의 인증 키를 지정하십시오. 사전 공유 키는 16진수 문자열 또는 인쇄 가능한 ASCII 문자의 암호구문입니다. 대부분의 피어 게이트웨이 유형과 호환 가능하려면 이 문자열이 다음 규칙을 따라야 합니다.

      • 숫자, 소문자 또는 대문자, 또는 다음 특수 문자의 조합일 수 있습니다: - + & ! @ # $ % ^ * ( ) . , :
      • 문자열의 길이는 6 - 128자여야 합니다.
      • 0x 또는 0s로 시작할 수 없습니다.
    • 트래픽 분산(경로 기반 VPN만 해당 )- VPC 경로의 다음 홉이 VPN 연결일 때 VPN 게이트웨이의 활성 터널 간에 트래픽을 자동으로 분산하려면 이 옵션을 사용하도록 설정합니다. 이 옵션은 두 개의 VPN 터널이 원격 피어 네트워크에 연결되는 경우 처리량을 최대화하는 데 유용합니다. 이 옵션을 활성화하지 않으면 VPN 게이트웨이는 더 작은 공인 IP를 가진 터널을 기본 경로로 선택하고 기본 터널이 다운되는 경우에만 보조 터널로 전환합니다. 자세한 내용은 사용 사례 4: 라우팅 기반 VPN을 위한 트래픽 분산하기를 참조하세요.

    • 로컬 IBM CIDR(정책 기반 VPN 전용)- VPN 터널을 통해 연결할 VPC 내의 CIDR을 하나 이상 지정합니다.

    • 피어 CIDR(정책 기반 VPN 전용)- VPN 터널을 통해 연결하려는 상대방 네트워크의 CIDR을 하나 이상 지정합니다. 로컬 및 피어 서브넷 사이의 서브네트 범위 겹침이 허용되지 않습니다.

  3. 터널 세부 정보 섹션(동적 경로 기반에만 해당)에서 BGP를 사용한 동적 라우팅에 필요한 터널 및 피어 인터페이스 IP를 지정합니다.

    • 터널 인터페이스 IP- VPN 터널의 VPN 게이트웨이 측에 할당되는 IP 주소를 지정합니다.

    • 피어 인터페이스 IP- VPN 터널의 원격 네트워크 측에 할당되는 IP 주소를 지정합니다. 이 주소는 온프레미스 장치 또는 피어 VPN 게이트웨이입니다.

      터널과 피어 인터페이스 IP는 연속적이어야 하며 동일한 /30 서브넷에 속해야 합니다. 이 서브넷은 4개의 IP 주소를 제공하지만 첫 번째(네트워크 주소)와 마지막(브로드캐스트 주소)은 예약되어 있습니다. 예를 들어 서브넷 192.168.0.0/30 에서 사용 가능한 IP는 192.168.0.1192.168.0.2 입니다. 터널 1 인터페이스에 192.168.0.1 를 할당하는 경우 피어 1 인터페이스는 192.168.0.2 여야 합니다. 마찬가지로 터널 2의 경우 192.168.0.4/30 과 같은 다른 /30 서브넷을 사용합니다. 이 경우 192.168.0.5 을 터널 2 인터페이스에, 192.168.0.6 을 피어 2 인터페이스에 할당합니다.

  4. 피어 게이트웨이가 활성 상태임을 확인하기 위해 VPN 게이트웨이가 메시지를 전송하는 방법을 구성하려면 작동 중지 피어 발견 섹션에서 다음 정보를 지정하십시오.

    • 조치 - 피어 게이트웨이가 응답을 중지하는 경우 수행할 조치입니다. 예를 들어, 게이트웨이가 즉시 연결 협상을 다시 수행하게 하려면 다시 시작을 선택하십시오.
    • 간격(초) - 피어 게이트웨이가 활성 상태인지 확인하는 빈도입니다. 기본적으로 메시지는 2초마다 전송됩니다.
    • 제한시간(초) - 피어 게이트웨이의 응답을 기다리는 시간입니다. 기본적으로 10초 내에 응답이 수신되지 않으면 피어 게이트웨이가 비활성 상태로 간주됩니다.
  5. 정책 섹션에서 연결의 1단계 및 2단계 협상에 사용할 IKE(Internet Key Exchange) 및 IPSec(Internet Protocol Security) 옵션을 지정하십시오.

    • 게이트웨이가 연결을 자동으로 설정하도록 하려면 자동을 선택하십시오.

    • 다음과 같은 경우 사용자 지정 정책을 선택하거나 생성합니다:

      • 특정 보안 요구 사항을 적용해야 합니다.
      • 다른 네트워크의 VPN 게이트웨이가 설정 중에 자동으로 협상되는 보안 제안을 지원하지 않습니다.

      IKEv1 는 단일 알고리즘만 지원합니다. VPN 연결에서 IKEv1 정책을 사용하는 경우, 연결된 IPsec 정책에도 하나의 알고리즘만 포함되어야 합니다. 여러 알고리즘을 사용하는 IPsec 정책은 IKEv1 에서 지원되지 않습니다.

  6. 고급 옵션 섹션에서 기본 IKE ID를 사용하는 대신 로컬 및 피어 IKE ID를 사용자 정의할 수 있습니다. 최대 하나의 피어 IKE ID를 지정할 수 있습니다.

    정책 기반 VPN 게이트웨이의 경우 최대 하나의 로컬 IKE ID를 구성할 수 있습니다. 라우트 기반 VPN 게이트웨이의 경우, 로컬 IKE ID를 구성하려면 두 개를 제공해야 합니다. 멤버에 값을 입력하거나 입력란을 비워둘 수 있습니다.

    • 로컬 IKE ID-로컬 IKE ID의 유형을 선택한 후 해당 값을 입력하십시오. 예를 들어 4옥텟 단일 IPv4 주소(9.168.3.4), FQDN(my-vpn.example.com), 호스트 이름(my-host) 또는 base64-encoded 키 ID(MTIzNA==)를 입력할 수 있습니다.

      • 정적 라우트 모드는 활성-활성 모드의 두 멤버로 구성되며, 여기서 첫 번째 ID는 첫 번째 멤버에 적용되고 두 번째 ID는 두 번째 멤버에 적용됩니다. 로컬 IKE ID를 지정하지 않으면 유형은 IPv4 주소이고 값은 멤버 VPN 연결 터널의 공용 IP 주소입니다.

      • 정책 모드는 활성-대기 모드의 두 멤버로 구성됩니다. 로컬 IKE 신원은 활성 멤버에 적용됩니다. 값을 지정하지 않으면, 로컬 IKE ID는 VPN 게이트웨이의 공용 IP 주소가 됩니다.

    • 피어 IKE ID-피어 IKE ID의 유형을 선택한 후 해당 값을 입력하십시오. 예를 들어, IPv4 주소(9.168.3.4), FQDN(my-vpn.example.com), 호스트 이름(my-host) 또는 base64-encoded 키 ID(MTIzNA==)를 입력할 수 있습니다.

      피어 IKE 신원은 활성 구성원에게 적용됩니다. 값을 지정하지 않으면 피어 게이트웨이의 IPv4 주소 또는 FQDN을 사용하십시오.

  7. 요약 패널을 검토한 후 VPN 연결 작성을 클릭하십시오.

CLI에서 연결 추가하기

시작하기 전에 CLI 환경을 설정 하십시오.

CLI에서 VPN 연결을 설정하려면 다음 명령을 입력하십시오:

ibmcloud is vpn-gateway-connection-create CONNECTION_NAME VPN_GATEWAY PEER PRESHARED_KEY
[--vpc VPC] [--admin-state-up true | false]
[--routing-protocol bgp | none]
[--dead-peer-detection-action restart | clear | hold | none]
[--distribute-traffic true | false]
[--dead-peer-detection-interval INTERVAL] [--dead-peer-detection-timeout TIMEOUT] [--ike-policy IKE_POLICY_ID]
[--ipsec-policy IPSEC_POLICY_ID] [--peer-cidr CIDR1 --peer-cidr CIDR2 ... --local-cidr CIDR1 --local-cidr CIDR2 ...]
[[--local-ike-identity-type fqdn | hostname | ipv4_address | key_id --local-ike-identity-value VALUE] |
[--local-ike-identities LISTENER_POLICIES_JSON | @LISTENER_POLICIES_JSON_FILE]]
[--peer-asn]
[--tunnels NEIGHBOR_IP TUNNEL_INTERFACE_IP]
[--peer-ike-identity-type fqdn | hostname | ipv4_address | key_id --peer-ike-identity-value VALUE]
[--establish-mode bidirectional | peer_only] [--output JSON] [-q, --quiet]
ibmcloud is vpn-gateway-connection-create CONNECTION_NAME VPN_GATEWAY PEER PRESHARED_KEY

여기서:

CONNECTION_NAME
연결의 이름입니다.
VPN_GATEWAY
VPN 게이트웨이의 ID입니다.
PEER
피어 VPN 게이트웨이의 IP 주소 또는 FQDN입니다.
PRESHARED_KEY
사전 공유 키.
--vpc
VPC의 ID 또는 이름입니다. 이 필드는 해당 VPC 내에서 이름으로 고유한 리소스를 지정할 때만 필수입니다.
--admin-state-up
false 로 설정하면 VPN 게이트웨이 연결이 종료됩니다. 이 필드의 값은 ‘ true ’ 또는 ‘ false ’ 중 하나여야 합니다.
--routing-protocol
모드가 정적인지 동적인지 결정합니다. 이 필드 값은 bgp 또는 none 일 수 있습니다. 동적 경로 기반 VPN의 경우 값을 bgp 로 설정합니다.
--dead-peer-detection-action
비활성 피어 감지 작업. 이 필드 값은 restart, clear, hold, 또는 none 중 하나일 수 있습니다. (기본값: restart).
--dead-peer-detection-interval
비활성 피어 감지 간격(초 단위, 기본값: 2).
--dead-peer-detection-timeout
비활성 피어 감지 시간 제한(초 단위) (기본값: 10).
--distribute-traffic
VPC 경로의 다음 홉이 VPN 연결인 경우, VPN 게이트웨이 연결의 Up 터널 간에 트래픽을 분산시키려면 이 설정을 ‘ true ’로 설정하십시오. 이 값은 ‘ true ’ 또는 ‘ false ’ 중 하나일 수 있습니다. 자세한 내용은 라우팅 기반 VPN을 위한 트래픽 분산하기를 참조하세요.
--ike-policy
IKE 정책의 ID입니다.
--ipsec-policy
IPsec 정책의 ID입니다.
--local-ike-identity-type
로컬 IKE ID의 유형입니다. 이 필드 값은 fqdn, hostname, ipv4_address, 또는 key_id 중 하나일 수 있습니다.
--local-ike-identity-value
로컬 IKE ID의 값입니다.
--local-ike-identities
로컬 IKE ID의 ID입니다. JSON 또는 JSON 파일의 LOCAL_IKE_IDENTITIES_JSON | @LOCAL_IKE_IDENTITIES_JSON_FILE.
--peer-asn
VPN이 경로를 교환하는 동적 라우팅에서 외부 피어 네트워크를 식별합니다.
--tunnels
BGP를 사용한 동적 라우팅에 필요한 터널 및 피어 인터페이스 IP를 지정합니다. 이 필드에는 로컬(터널) 및 원격(피어) 인터페이스의 IP 주소 값이 입력됩니다. 터널과 피어 인터페이스 IP는 연속적이어야 하며 동일한 /30 서브넷에 속해야 합니다.
-peer-cidr
해당 리소스에 해당하는 피어 CIDR입니다.
-local-cidr
해당 리소스의 로컬 CIDR입니다.
-peer-ike-identity-type
피어 IKE ID의 유형입니다. 이 필드 값은 ipv4_address, fqdn, hostname, 또는 key_id 일 수 있습니다.
--peer-ike-identity-value
피어 IKE ID의 값입니다.

정책 기반 VPN 게이트웨이는 로컬 IKE ID를 하나만 가질 수 있습니다.

경로 기반 VPN 게이트웨이에 지정된 로컬 IKE ID가 있는 경우, 첫 번째 ID는 VPN 게이트웨이의 첫 번째 구성원에 적용하고 두 번째 ID는 두 번째 구성원에 적용하는 등 최소 두 개가 있어야 합니다.

--establish-mode
이 필드는 bidirectional 또는 peer_only 입니다. 양방향 모드는 VPN 게이트웨이의 양쪽 어느 한쪽에서든 IKE 프로토콜 협상(또는 키 갱신 프로세스)을 시작합니다. 피어 전용 모드를 사용하면 피어가 이 VPN 게이트웨이 연결에 대한 IKE 프로토콜 조정을 시작할 수 있습니다. 또한 피어는 연결이 설정된 후 키 재조정 프로세스를 시작해야 합니다. 키 재조정이 발생하지 않으면 수명이 만료된 후 VPN 게이트웨이 연결이 제거됩니다.
-output
출력 형식을 JSON으로 지정합니다.
-q, --quiet
상세 출력을 억제합니다.

명령 예제

  • 필요한 구성 값을 사용하여 특정 게이트웨이 ID에 대한 VPN 연결을 생성합니다:

    ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 169.21.50.5 lkj14b1oi0alcniejkso --local-cidr 10.240.0.0/24 --peer-cidr 192.168.1.0/24
    
  • 트래픽 분산 기능을 활성화하여 경로 기반 VPN 게이트웨이에 대한 VPN 연결을 만듭니다:

    ibmcloud is vpn-gateway-connection-create CONNECTION_NAME VPN_GATEWAY PEER PRESHARED_KEY --distribute-traffic true
    
  • 동일한 코어 매개변수 및 지정된 DPD 구성을 사용하여 VPN 연결을 작성합니다.

    ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 169.21.50.5 lkj14b1oi0alcniejkso --local-cidr 10.240.0.0/24 --peer-cidr 192.168.1.0/24 --dead-peer-detection-action clear --dead-peer-detection-interval 33 --dead-peer-detection-timeout 100
    
  • 동일한 코어 매개변수 및 지정된 ID가 있는 사용자 정의 정책을 사용하여 VPN 연결을 작성합니다.

    ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 169.21.50.5 lkj14b1oi0alcniejkso --local-cidr 10.240.0.0/24 --peer-cidr 192.168.1.0/24 --ipsec-policy 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 --ike-policy 72251a2e-d6c5-42b4-97b0-b5f8e8d1f480
    
  • 피어 FQDN을 사용하여 VPN 연결을 작성하고 로컬 및 피어 IKE ID를 지정하십시오.

    ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 on-prem.my-company.com lkj14b1oi0alcniejkso --local-cidr 10.240.0.0/24 --peer-cidr 192.168.1.0/24 --local-ike-identities '[{"type":"key_id","value":"MTIzNA=="}]' --peer-ike-identity-type fqdn --peer-ike-identity-value on-prem.my-company.com --establish-mode peer_only
    
  • 피어가 이 VPN 게이트웨이 연결에 대한 IKE 프로토콜 조정을 시작할 수 있도록 VPN 연결을 작성하십시오.

    ibmcloud is vpn-gateway-connection-create my-connection fee82deba12e4c0fb69c3b09d1f12345 169.21.50.5 lkj14b1oi0alcniejkso --establish-mode peer_only --local-ike-identities '[{type:ipv4_address,value:2.2.2.2},{type:fqdn,value:sadsadasd.com}]' --peer-ike-identity-type key_id --peer-ike-identity-value MTIzNA==
    
  • 고급 구성 옵션을 사용하여 VPN 연결을 만듭니다:

    ibmcloud is vpn-gateway-connection-create to-prem ${gateway_id} on-prem.test.com test123 --local-cidr 10.10.20.0/28 --peer-cidr 192.168.0.0/24 --peer-ike-identity-type ipv4_address --peer-ike-identity-value 192.168.0.1 --establish-mode peer_only
    
  • 피어 ASN 및 터널을 사용하여 동적 경로 기반 VPN 연결을 생성하세요:

    ibmcloud is vpn-gateway-connection-create my-connection --routing-protocol bgp my-vpc-gateway 169.21.50.5 lkj14b1oi0alcniejkso --distribute-traffic true --local-ike-identities '[{"type":"fqdn","value":"example.com"},{"type":"fqdn","value":"example_1.com"}]' --peer-asn 65534 --tunnels '[{"neighbor_ip":{"address":"192.168.0.2"},"tunnel_interface_ip":{"address":"192.168.0.1"}},{"neighbor_ip":{"address":"192.168.0.6"},"tunnel_interface_ip":{"address":"192.168.0.5"}}]' --peer-ike-identity-type ipv4_address --peer-ike-identity-value 192.168.0.1
    
  • VPN 게이트웨이 연결 목록을 확인하세요:

    ibmcloud is vpn-gateway-connection  my-vpc-gateway my-connection
    
  • VPN 게이트웨이에 대한 모든 서비스 연결을 나열합니다:

    ibmcloud is vpn-gateway-service-connections 0727-bc813695-d777-4ceb-acfb-bd68f4828358
    
  • 특정 VPN 게이트웨이의 서비스 연결 세부 정보를 확인하세요:

    ibmcloud is vpn-gateway-service-connection my-vpc-gateway --service-connection-id 72fd9e00-3117-4b2e-984d-9361a9a97801
    

CLI에서 VPN 게이트웨이 연결에 로컬 CIDR 추가

시작하기 전에 CLI 환경을 설정 하십시오.

CLI에서 VPN 게이트웨이 연결에 로컬 CIDR을 추가하려면 다음 명령을 입력하십시오.

이 명령은 정책 모드 VPN 게이트웨이에서만 지원됩니다.

ibmcloud is vpn-gateway-connection-local-cidr-add VPN_GATEWAY CONNECTION PREFIX_ADDRESS PREFIX_LENGTH [--vpc VPC] [--output JSON] [-q, --quiet]

여기서:

VPN_GATEWAY
VPN 게이트웨이의 ID입니다.
CONNECTION
VPN 연결의 ID 또는 이름.
PREFIX_ADDRESS
CIDR의 접두부 주소 파트입니다.
PREFIX_LENGTH
CIDR의 접두부 길이 파트입니다.
--output value
JSON 형식의 출력 결과입니다.
-q, --quiet
상세 출력을 억제합니다.

명령 예제

필수 구성 값을 사용하여 특정 연결 이름에 대한 로컬 CIDR을 추가하십시오.

ibmcloud is vpn-gateway-connection-local-cidr-add my-vpn-gateway my-connection 3.3.3.0/24

CLI에서 VPN 게이트웨이 연결에 피어 CIDR 추가

시작하기 전에 CLI 환경을 설정 하십시오.

CLI에서 VPN 게이트웨이 연결에 피어 CIDR을 추가하려면 다음 명령을 입력하십시오.

이 명령은 정책 모드 VPN 게이트웨이에서만 지원됩니다.

ibmcloud is vpn-gateway-connection-peer-cidr-add VPN_GATEWAY CONNECTION PREFIX_ADDRESS PREFIX_LENGTH [--vpc VPC] [--output JSON] [-q, --quiet]

여기서:

VPN_GATEWAY
VPN 게이트웨이의 ID입니다.
CONNECTION
VPN 연결의 ID 또는 이름입니다.
PREFIX_ADDRESS
CIDR의 접두사 주소 부분.
PREFIX_LENGTH
CIDR의 접두사 길이 부분.
--output value
JSON 형식으로 출력합니다.
-q, --quiet
상세 출력이 표시되지 않도록 합니다.

명령 예제

필수 구성 값을 사용하여 특정 연결 이름에 대한 피어 CIDR을 추가하십시오.

ibmcloud is vpn-gateway-connection-peer-cidr-add my-vpn-gateway my-connection 4.4.4.0/24

API 연결 추가하기

API를 통해 VPN 연결을 설정하려면 다음 단계를 따르세요:

  1. 올바른 변수를 사용하여 API 환경을 설정하십시오.

  2. 다음과 같이 API 명령에 사용할 추가 변수를 저장하십시오.

    • vpnGatewayId- VPN 게이트웨이 식별자.

      export vpnGatewayId=<your_vpn_gateway_id>
      
    • ikePolicyId- 이 IKE 정책에 대한 고유 식별자입니다.

      export ikePolicyId=<your_ike_policy_id>
      
    • ipsecPolicyId- 이 IPsec 정책의 고유 식별자입니다.

      export ipsecPolicyId=<your_ipsec_policy_id>
      
  3. 모든 변수가 시작되면 VPN 게이트웨이 연결을 작성하십시오. 예를 들면 다음과 같습니다.

       # To create a connection for policy-based VPN, use the following command:
       curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2" \
         -H "Authorization: Bearer $iam_token" \
         -d '{
             "name": "my-vpn-connection",
             "psk": "'$psk'",
             "dead_peer_detection": {
                 "action": "restart",
                 "interval": 2,
                 "timeout": 10
             },
             "local": {
                 "cidrs": "'$localCidrs'"
             },
             "peer": {
                 "cidrs": "'$remoteCidrs'",
                 "address": "7.8.9.10"
             }
             "ike_policy": {
                 "id": "'$ikePolicyId'"
             },
             "ipsec_policy": {
                 "id": "'$ipsecPolicyId'"
             }
         }'
    
       # For a static route-based VPN connection, use the following command:
       curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2" \
         -H "Authorization: Bearer $iam_token" \
         -d '{
             "name": "my-vpn-connection",
             "routing_protocol": "none",
             "psk": "'$psk'",
             "distribute_traffic":true,
             "dead_peer_detection": {
                 "action": "restart",
                 "interval": 2,
                 "timeout": 10
             },
             "ike_policy": {
                 "id": "'$ikePolicyId'"
             },
             "ipsec_policy": {
                 "id": "'$ipsecPolicyId'"
             }
         }'
    
      # For a dynamic route-based VPN connection, use the following command:
     curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2" \
         -H "Authorization: Bearer $iam_token" \
         -H "Content-Type: application/json" \
         -H "Accept: application/json" \
         -H "X-Correlation-ID: 0ba2d683-cce9-404f-9b8e-463543888ff9" \
         -d '{
             "name": "vpn-new-connection",
             "psk": "'$psk'",
             "dead_peer_detection": {
                 "action": "restart",
                 "interval": 2,
                 "timeout": 10
             },
             "distribute_traffic": true,
             "establish_mode": "bidirectional",
             "peer": {
                 "address": "9.168.3.4",
                 "asn": 64543
             },
             "routing_protocol": "bgp",
             "tunnels": [
             {
                 "neighbor_ip": { "address": "192.168.0.2" },
                 "tunnel_interface_ip": { "address": "192.168.0.1" }
             },
             {
                 "neighbor_ip": { "address": "192.168.0.6" },
                 "tunnel_interface_ip": { "address": "192.168.0.5" }
             }
             ]
         }'
    
  4. (선택 사항) 고급 구성 옵션을 사용하여 연결을 만들 수 있습니다:

    curl -X POST "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections?version=$api_version&generation=2"  \
          -H "Authorization: Bearer $iam_token"      -d '{  \
          "name": "my-advanced-vpn-connection",
          "establish_mode": "peer_only",
          "psk": "'$psk'",
          "dead_peer_detection": {
              "action": "restart",
              "interval": 2,
              "timeout": 10
          },
          "local": {
              "cidrs": "'$localCidrs'",
              "ike_identities": [
                  {
                      "type": "key_id",
                      "value": "dGVzdGtleQ=="
                  }
              ]
          },
          "peer": {
              "cidrs": "'$remoteCidrs'",
              "ike_identity": {
                  "type": "hostname",
                  "value": "cisco-asa"
              },
              "fqdn": "on-prem.test.com"
          }
          "ike_policy": {
              "id": "'$ikePolicyId'"
          },
          "ipsec_policy": {
              "id": "'$ipsecPolicyId'"
          },
          "distribute_traffic":true
      }'
    

API를 사용하여 VPN 게이트웨이 연결에 로컬 CIDR 추가

API를 사용하여 VPN 게이트웨이 연결에 로컬 CIDR을 추가하려면 다음 단계를 수행하십시오.

이 API는 정책 모드 VPN 게이트웨이에서만 지원됩니다.

  1. 올바른 변수를 사용하여 API 환경을 설정하십시오.

  2. 다음과 같이 API 명령에 사용할 추가 변수를 저장하십시오.

    • vpnGatewayId- VPN 게이트웨이 식별자.

      export vpnGatewayId=<your_vpn_gateway_id>
      
    • connectionId-이 VPN 연결의 고유 ID입니다.

      export connectionId=<your_connection_id>
      
    • cidr_prefix- CIDR의 접두사 주소 부분.

      export cidr_prefix=<your_cidr_prefix>
      
    • prefix_length- CIDR의 접두사 길이 부분.

      export prefix_length=<your_prefix_length>
      
  3. 모든 변수가 시작되면 로컬 CIDR을 VPN 게이트웨이 연결에 추가하십시오. 예를 들면 다음과 같습니다.

       curl -X PUT "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections/$connectionId/local_cidrs/${cidr_prefix}/${prefix_length}?version=$api_version&generation=2" \
         -H "Authorization: Bearer $iam_token"
    

API를 사용하여 VPN 게이트웨이 연결에 피어 CIDR 추가

API를 사용하여 VPN 게이트웨이 연결에 피어 CIDR을 추가하려면 다음 단계를 수행하십시오.

이 API는 정책 모드 VPN 게이트웨이에서만 지원됩니다.

  1. 올바른 변수를 사용하여 API 환경을 설정하십시오.

  2. 다음과 같이 API 명령에 사용할 추가 변수를 저장하십시오.

    • vpnGatewayId - VPN 게이트웨이 ID

      export vpnGatewayId=<your_vpn_gateway_id>
      
    • connectionId-이 VPN 연결의 고유 ID

      export connectionId=<your_connection_id>
      
    • cidr_prefix- CIDR의 접두사 주소 부분

      export cidr_prefix=<your_cidr_prefix>
      
    • prefix_length- CIDR의 접두사 길이 부분.

      export prefix_length=<your_prefix_length>
      
  3. 모든 변수가 시작되면 피어 CIDR을 VPN 게이트웨이 연결에 추가하십시오. 예를 들면 다음과 같습니다.

       curl -X PUT "$vpc_api_endpoint/v1/vpn_gateways/$vpnGatewayId/connections/$connectionId/peer_cidrs/${cidr_prefix}/${prefix_length}?version=$api_version&generation=2" \
         -H "Authorization: Bearer $iam_token"
    

사이트 간 VPN 게이트웨이에 대한 전체 API 집합을 보려면 VPC API 참조를 참조하세요.

Terraform을 사용하여 연결 추가

Terraform을 사용하여 연결을 추가하려면 다음 명령을 실행하십시오.

   resource "ibm_is_vpn_gateway_connection" "is_vpn_gateway_connection" {
     name                 = "my-vpn-gateway-connection"
     vpn_gateway    = ibm_is_vpn_gateway.is_vpn_gateway.id
     peer_address   =  "7.8.9.10"
     preshared_key = var.presharedkey
     local_cidrs        = [var.localCIDR]
     peer_cidrs        = [var.peerCIDR]
   }

다음 Terraform 예제는 VPN 게이트웨이 연결을 생성합니다:

resource "ibm_is_vpn_gateway_connection" "is_vpn_gateway_connection" {
  name           = "my-vpn-gateway-connection"
  vpn_gateway    = ibm_is_vpn_gateway.is_vpn_gateway.id
  preshared_key  = "VPNDemoPassword"
  establish_mode = "bidirectional"
  peer {
    cidrs   = [var.peerCIDR]
    address = "7.8.9.10"
  }
  local {
    cidrs = [var.localCIDR]
  }
  ike_policy   = ibm_is_ike_policy.is_ike_policy.id
  ipsec_policy = ibm_is_ipsec_policy.is_ipsec_policy.id
}

다음 테라폼 예시는 트래픽 분산 기능이 활성화된 경로 기반 VPN 게이트웨이에 대한 VPN 연결을 생성합니다:


resource "ibm_is_vpn_gateway_connection" "test_VPNGatewayConnection1" {
    name = "example-vpn-gateway-connection"
    vpn_gateway = "${ibm_is_vpn_gateway.example.id}"
    peer_address = "${ibm_is_vpn_gateway.example.public_ip_address}"
    preshared_key = "VPNDemoPassword"
    distribute-traffic = true
}

다음 테라폼 예시는 고급 구성 옵션을 사용하여 VPN 연결을 생성합니다:

resource "ibm_is_vpn_gateway_connection" "is_vpn_gateway_connection" {
  name           = "to-prem"
  vpn_gateway    = ibm_is_vpn_gateway.is_vpn_gateway.id
  preshared_key  = "test123"
  establish_mode = "peer_only"
  peer {
    cidrs   = ["192.168.0.0/24"]
    ike_identity {
      type  = "ipv4_address"
      value = "192.168.0.1"
    }
    fqdn = "on-prem.test.com"
  }
  local {
    cidrs = ["10.10.20.0/28"]
  }
}

다음 Terraform 예제는 BGP를 사용하는 경로 기반 VPN 게이트웨이를 위한 동적 VPN 연결을 생성합니다:

resource "ibm_is_vpn_gateway" "example" {
  name      = "example-vpn-gateway"
  subnet    = ibm_is_subnet.example.id
  mode      = "route"
  local_asn = 64522
}
resource "ibm_is_vpn_gateway_connection" "example" {
  name               = "example-vpn-gateway-connection"
  vpn_gateway        = ibm_is_vpn_gateway.example.id
  preshared_key      = "VPNDemoPassword"
  distribute_traffic = true
  routing_protocol   = "bgp"
  local {
    ike_identities {
      type  = "fqdn"
      value = "fqdn.example.com"
    }
    ike_identities {
      type  = "fqdn"
      value = "fqdn.example.com"
    }
  }
  peer {
    ike_identity {
      type  = "fqdn"
      value = "example.fqdn.com"
    }
    fqdn = "peer-vpn.example.com"
    asn  = 65534
  }
  tunnel {
    neighbor_ip         = "192.168.1.8"
    tunnel_interface_ip = "10.0.0.8"
  }
  tunnel {
    neighbor_ip         = "192.168.1.6"
    tunnel_interface_ip = "10.0.0.6"
  }
}

자세한 내용은 Terraform 레지스트리를 참조하십시오.

다음 단계