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 피어에 연결
다음 구성을 사용하십시오.
-
인증에서
IKEv2
를 선택하십시오. -
1단계 제안에서
DH-group 2
를 사용으로 설정하십시오. -
1단계 제안에서
lifetime = 36000
을 설정하십시오. -
2단계 제안에서 PFS를 사용 안함으로 설정하십시오.
-
2단계 제안에서
lifetime = 10800
을 설정하십시오. -
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
-
/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 "******"
-
구성 파일 실행이 완료되면 strongSwan VPN을 다시 시작하십시오.
ipsec restart
IBM 경로 기반 VPN을 strongSwan 피어에 연결하기
다음 예제 구성은 strongSwan과 VPN for VPC 사이에 두 개의 경로 기반 터널을 설정하는 방법을 보여 줍니다.
-
IP 포워딩을 사용 설정하려면 다음 명령을 입력합니다:
sudo sysctl -w net.ipv4.conf.all.forwarding=1
-
/etc/strongswan.d/charon-no-route-install.conf
이라는 파일을 만들고 다음 콘텐츠를 추가합니다:charon { install_routes = no }
-
VPN 연결을 구성하려면
/etc/ipsec.abc.conf
파일을 업데이트하세요. 다음 예제에서는 VPN 게이트웨이에 두 개의 공인 IP(135.90.134.86
,135.90.134.87
)가 있습니다. strongSwan 서버 IP는169.59.212.125
입니다. 이 구성은 두 개의 연결을 생성합니다.leftid
는 strongSwan 서버의 공인 IP이고,right
및rightid
은 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
-
/etc/ipsec.secrets
파일에서 미리 공유한 키를 설정하고 실제 미리 공유한 키 값으로******
를 대체합니다:169.59.212.125 135.90.134.86 : PSK "******" 169.59.212.125 135.90.134.86 : PSK "******"
-
서버에 가상 인터페이스를 만들고 VTI 인터페이스 상태를
up
로 설정합니다.mark_num
를mark
값으로 바꿉니다(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
-
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
-
구성 파일 실행이 완료되면 strongSwan VPN을 다시 시작하십시오.
ipsec restart