AWS 기반 OpenVPN(NAT 모드에서는 작동하지만 라우팅 모드에서는 작동하지 않음)

AWS 기반 OpenVPN(NAT 모드에서는 작동하지만 라우팅 모드에서는 작동하지 않음)

3개의 퍼블릭 서브넷(IGW를 가리킴)과 3개의 프라이빗 서브넷(각각 NAT GW 포함)이 있는 새로운 VPC(10.0.0.0/16)가 있습니다. 공용 서브넷에 OpenVPN 어플라이언스를 배포하고 NAT 모드를 사용하도록 구성했습니다( Yes, using NAT라우팅 구성에서). 또한 프라이빗 서브넷 중 하나에 테스트 인스턴스가 있습니다. OpenVPN 인스턴스와 테스트 인스턴스 모두 "풍부한" 유연성(즉, 테스트 목적으로 모든 것이 허용되는 입출력)을 갖춘 SG 그룹을 가지고 있습니다. OpenVPN에서 현장 10.0.0.0/16에서 구성했습니다 Specify the private subnets to which all clients should be given access (one per line):.

내 Mac(홈 네트워크 192.168.178.0/24)에서 터널을 설정하고 테스트 인스턴스에 쉽게 접근할 수 있습니다. 문제 없다.

이제 Route 모드로 전환하고 싶습니다.

  • 라우팅 모드를 로 변경했습니다 Yes, using Routing. OpenVPN 인스턴스에서 소스/대상 확인을 비활성화했습니다.
  • 192.168.178.0/24(내 홈 네트워크)로 향하는 트래픽이 OpenVPN 인스턴스로 이동해야 한다고 말하기 위해 VPC의 라우팅 테이블 4개(프라이빗 서브넷 3개, 퍼블릭 서브넷 1개) 모두에 정적 순환을 추가했습니다. 퍼블릭 서브넷).
  • .192.168.178.0/24Specify the private subnets to which all clients should be given access (one per line):10.0.0.0/16
  • 로그인하는 데 사용하는 사용자에 대한 사용자 권한을 재구성 Use Routing하고 위의 두 서브넷(10. 및 192.)을 다시 지정했습니다.

아직 터널을 만들 수 있어요. OpenVPN 인스턴스의 내부 IP에 연결할 수 있습니다.

$ traceroute 10.0.4.223          
traceroute to 10.0.4.223 (10.0.4.223), 64 hops max, 52 byte packets
 1  10.0.4.223 (10.0.4.223)  178.345 ms  174.470 ms  173.680 ms
$

하지만 프라이빗 서브넷의 테스트 인스턴스에 연결할 수 없습니다.

$ traceroute 10.0.165.139
traceroute to 10.0.165.139 (10.0.165.139), 64 hops max, 52 byte packets
 1  172.27.232.1 (172.27.232.1)  194.976 ms  177.014 ms  174.402 ms
 2  * * *
 3  * * *
 4  * * *
^C
$

흥미롭게도 OpenVPN 서버에 SSH로 연결하고 터널을 시작한 로컬 워크스테이션에서 NGINX를 컬링하려고 하면 연결할 수 없습니다. 워크스테이션이 OpenVPN 서버에 연결할 수 있는 것처럼 보이지만(위의 추적 참조 10.0.4.223) OpenVPN 서버는 어떤 이유로 인해 워크스테이션에 연결할 수 없습니다.

워크스테이션에서 시작된 흐름이 OpenVPN 인스턴스에 대한 경로를 찾을 수 있는 것으로 보입니다. 그러나 경로는 워크스테이션에서 테스트 인스턴스(및 그 반대)로 어딘가에서 끊어지고 OpenVPN 인스턴스에서 워크스테이션으로 시작될 때도 중단되는 것 같습니다(컬 참조).

답변1

저는 결국 로컬 서브넷에 있는 클라이언트의 기본 IP에 다시 연결하도록 OpenVPN 액세스 서버 어플라이언스를 구성할 수 없다는 사실을 알아냈습니다. 그러나 VPN이 할당한 터널 IP를 통해 클라이언트에 접근할 수 있습니다. 이 IP는 사용자별로 정적으로 구성하거나 어플라이언스에 정의된 풀에서 가져올 수 있습니다.

내 경우에는 두 가지를 모두 구성했습니다(그림 참조).

여기에 이미지 설명을 입력하세요

이것이 라우팅 정보에 사용해야 하는 서브넷이기도 함을 아는 것이 중요합니다. 즉, 10.0.0.0/16 네트워크에 있는 IP는 할당된 172.27 주소 중 하나에 클라이언트 장치에 연결할 수 있으므로 라우팅 테이블에 지정해야 하는 것은 172.27 네트워크입니다(로컬 기본 네트워크가 아님). 클라이언트 장치 - 내 예에서는 192.168.178.0/24).

관련 정보