하이브리드 클라우드 - S2S VPN

jsbak·2023년 5월 4일
0

Cloud

목록 보기
43/59
  • 오픈스택(프라이빗 클라우드 구축)
  • 퍼블릭(AWS, ...)

VPN 설정

  • 설정 순서
    1. 고객 게이트웨이
    2. 가상 프라이빗 게이트 웨이
    3. Site-to-Site VPN 연결

고객 게이트웨이 생성

  • VPN - 가상 사설 네트워크(VPN) - 고객 게이트 웨이

세부정보

  • IP 주소: VPN 장비들(하드웨어) 의 최종적인 공인 IP

생성 결과

가상 프라이빗 게이트웨이 생성

  • VPN Gateway
  • VPN - 가상 사설 네트워크(VPN) - 가상 프라이빗 게이트웨이

세부정보

생성 결과

  • detached 상태

attach 작업; VPC에 연결

  • vpc에 연결
  • 연결할 VPC 선택

연결 결과

  • VPC(my-vpc)와 연결 Attached

Site-to-Site VPN 연결 생성

세부정보

  • 가상 프라이빗 게이트웨이 선택
  • 고객 게이트웨이 선택
  • 라우팅 옵션: 정적
  • 고정 IP 접두사: 고객 프라이빗 네트워크 CIDR
  • 터널은 두개를 제공한다.

VPN 연결 생성 결과

S2S 구성 다운로드 클릭

  • 구성 다운로드 클릭

구성 다운로드

  • 공급업체: Openswan(오픈소스)
  • IKE(인터넷 키 익스체인지)
  • 오픈스택에서 설정해야될 내용

파일의 내용

Openstack

  • 다운 받은 구성 파일의 내용으로 오픈 스택에서 VPN 설정
  • libreswan 설치
\# yum install -y libreswan
\# systemctl enable --now ipsec

VPN 구성

  • /etc/sysctl.conf 수정
\# vi /etc/sysctl.conf
---------------------------------- 
-- 추가
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.default.accept_source_route = 0
  • 변경 사항 적용
    sysctl -p
  • /etc/ipsec.conf 내용중 #include /etc/ipsec.d/*.conf 를 활성화
    • 설정 구성(/etc/ipsec.d/*.conf) 파일로 포함(include)할 수 있도록 설정 해주는 것
  • /etc/ipsec.d/aws.conf 을 설정
    4) /etc/ipsec.d/aws.conf에 새 파일이 없는 경우 파일을 만든 다음 엽니다. 파일 끝에 다음 구성을 추가합니다:
    #leftsubnet=은 openwan 서버 뒤의 로컬 네트워크이며, 아래의 <LOCAL NETWORK>를 이 값(괄호 포함 안 함)으로 대체해야 합니다. 서브넷이 여러 개인 경우 대신 0.0.0/0을 사용할 수 있습니다.
    #rightsubnet=은(는) 연결하려는 VPN 터널의 반대쪽에 있는 원격 네트워크이며, <REM>을(를) 교체해야 합니다
    \# vi /etc/ipsec.d/aws.conf
    --------------------------------------
    conn Tunnel1
        authby=secret
        auto=start
        left=%defaultroute
        leftid=106.253.56.124
        right=3.37.8.195
        type=tunnel
        ikelifetime=8h
        keylife=1h
        #phase2alg=aes128-sha1;modp1024
        #ike=aes128-sha1;modp1024
        phase2alg=aes_gcm
        ike=aes256-sha2_256;dh14
        keyingtries=%forever
        keyexchange=ike
        leftsubnet=192.168.0.0/21
        rightsubnet=10.39.0.0/16
        dpddelay=10
        dpdtimeout=30
        dpdaction=restart_by_peer
        overlapip=yes
        
    conn Tunnel2
        authby=secret
        auto=start
        left=%defaultroute
        leftid=106.253.56.124
    	right=13.125.49.208
        type=tunnel
        ikelifetime=8h
        keylife=1h
        #phase2alg=aes128-sha1;modp1024
        #ike=aes128-sha1;modp1024
        phase2alg=aes_gcm
        ike=aes256-sha2_256;dh14
        keyingtries=%forever
        keyexchange=ike
        leftsubnet=192.168.0.0/21
        rightsubnet=10.39.0.0/16
        dpddelay=10
        dpdtimeout=30
        dpdaction=restart_by_peer
        overlapip=yes
    • leftid: 고객사, right: aws(ip정보 유동적)
    • auth=esp 제거
    • overlapip=yes 추가
    • leftsubnet: 로컬 프라이빗 네트워크, <LOCAL NETWORK>, 오픈스택이 있는 네트워크
    • rightsubnet: aws(my-vpc), <REMOTE NETWORK>, aws에 만들어둔 VPC 네트워크
  • PSK(프리 쉐어드 키; 사전 공유 키) 설정 /etc/ipsec.d/aws.secrets, 로컬과 클라우드간 트래픽 전송간 암호화 키
    • 첫번쨰 터널과 두번째 터널 암호화 정보
      <로컬 엔드포인트 정보> <클라우드 엔트포인트 정보>: PSK <암호화키 정보>
\# vi /etc/ipsec.d/aws.secrets
-------------------------------------
106.253.56.124 3.37.8.195: PSK "TIbB2VNp7cWvpK73hoRyyE_Wrnn8rjy2"
106.253.56.124 13.125.49.208: PSK "E2gUVMe0iCncx4y9CE2ZI32jauyNcsd3"
  • firewalld 전신의 iptables 정리
    iptables -F
  • ipsec 재시작
\# systemctl restart ipsec
\# systemctl status ipsec

오픈 스택 라우터 설정

  • 라우터 선택
  • + 정적 경로 추가
  • 설정
    • 대상 CIDR: 퍼블릭 클라우드 VPC CIDR 정보
    • 다음 홉: 오픈스택 IP
  • 접속 테스트
    mobaXterm 에서 오픈스택 인스턴스로 접속 테스트
    ubuntu 유저로 접속

AWS 라우팅 테이블 설정

  • 사용하려는 자원이 있는 라우팅 테이블에 라우팅 정보를 추가 ❗
    • Ex. public subnet에 있는 리소스와 로컬 네트워크의 리소스를 연결하고 싶다면 public routing table 정보 수정, private subnet에 있는 리소스와 로컬 네트워크의 리소스를 연결하고 싶다면 private routing table 정보 수정
  • 로컬(사용자) 네트워크 정보와 가상 프라이빗 네트워크 라우팅 테이블에 추가
  • 라우팅 편집 - 정적 라우팅(VGW) 추가

  • 라우팅 정보 추가 결과

S2S 간 통신 테스트

  • mobaXterm 에서 Openstack 인스턴스로 EC2 인스턴스로 접속 테스트

openstack instance에 db 서버 구축

sudo apt-get update -y
profile
끄적끄적 쓰는곳

0개의 댓글