매우 간단한 OpenVPN 설정에서 라우팅은 어떻게 이루어지나요?

매우 간단한 OpenVPN 설정에서 라우팅은 어떻게 이루어지나요?

저는 전문가 수준으로 호스팅되는 Debian GNU/Linux 전용 서버를 (원격으로) 완전히 구성했고 네트워크 라우팅 질문이 있습니다(AFAICT는 serverfault FAQ에 정확히 맞습니다).

해당 전용 서버에는 고정 IPv4 IP와 매우 간단한 경로가 있습니다.

route -n

Table de routage IP du noyau
Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
94.xx.yy.0      0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         94.xx.yy.254    0.0.0.0         UG    0      0        0 eth0

나는 고정 IP가 하나만 있고 동일한 서브넷에 내가 다룰 수 없는 다른 전용 서버가 많이 있습니다.

해당 서버는 우리 회사의 주요 웹앱(Apache+Tomcat)을 호스팅/서비스하고 있으며 Squid도 실행하고 있습니다. 모든 구성은 제가 직접 했습니다. 예산이 허락되면 Squid를 다른 서버로 옮기겠습니다.

지금은 해당 서버에 OpenVPN을 추가하고(tap이 아닌 tun을 사용하는 것이 좋음) 내 인터페이스가 다른 전용 서버와 "충돌"하지 않도록 하기 위해 수행해야 할 작업이 무엇인지 알고 싶습니다.

설정을 어떻게 해야 하는지 이해가 안 되고 경로가 어떻게 보일지 혼란스럽습니다.

"큰 그림"을 이해하는 데 도움을 주기 위해 누군가 다음과 같은 정확한 예를 들어줄 수 있습니까?

  • OpenVPN 클라이언트의 로컬 IP 주소
  • OpenVPN 클라이언트가 사용할 게이트웨이 IP
  • OpenVPN 서버의 경로 출력

기본적으로 저는 약간 길을 잃었습니다. 시작하기 전에 OpenVPN 서버에서 라우팅이 어떻게 수행되는지 이해하고 싶습니다.

내가 이해하는 한 OpenVPN 클라이언트는 OpenVPN 서버와 동일한 네트워크(예: 10.0.0.0/8 네트워크 사용)에 있어야 하지만 클라이언트가 어떻게 될지 파악하려고 하는 정신적 장애물에 부딪치고 있습니다. 'tun' 인터페이스를 사용한 다음 94.xx.yy.254 게이트웨이를 사용하게 됩니다.

답변1

VPN 클라이언트에 다음과 같은 IP 설정이 있다고 가정합니다.

IP eth0: 192.168.1.100
Default gateway: 192.168.1.1

따라서 로컬이 아닌 모든 트래픽은 192.168.1.1을 통해 나갑니다. LAN의 다른 호스트로 트래픽이 있으면 해당 호스트로 이동합니다.

OpenVPN이 시작되고 클라이언트는 새로운 인터페이스 tun0을 얻은 후 다음과 같은 내용을 볼 수 있습니다.

IP eth0: 192.168.1.100
IP tun0: 10.8.0.13
Default gateway: 192.168.1.1
VPN routing: 10.8.0.1 for the network 10.8.0.0/24

이는 OpenVPN 서버가 추가 경로를 푸시하지 않는다고 가정합니다. 따라서 8.8.8.8로 가는 네트워크 패킷은 여전히 ​​LAN의 기본 게이트웨이인 192.168.1.1을 통과합니다. 예를 들어 10.8.0.204로 가는 패킷은 추가 라우팅을 위해 OpenVPN 터널을 거쳐 10.8.0.1의 OpenVPN 서버로 이동합니다.

OpenVPN 서버가 LAN에 대한 경로(예: 172.16.0.0/24)를 푸시하는 경우 위의 VPN 라우팅은 다음과 같습니다.

VPN routing: 10.8.0.1 for the network 10.8.0.0/24
             10.8.0.1 for the network 172.16.0.0/24

따라서 마찬가지로 172.16.0.24에 대한 패킷은 추가 라우팅을 위해 10.8.0.1로 이동합니다.

OpenVPN 서버도 설정을 푸시하는 경우 "redirect-gateway def1"VPN 클라이언트의 기본 게이트웨이가 다릅니다. 다음과 같은 내용이 표시됩니다.

IP eth0: 192.168.1.100
IP tun0: 10.8.0.13
Default gateway: 10.8.0.1
  (other gateway with lower priority): 192.168.1.1
Static route: 94.xx.yy.zz uses 192.168.1.1

여기서 94.xx.yy.zz는 OpenVPN 서버의 공용 IP 주소입니다.

이 경우 OpenVPN 서버에 대한 직접 트래픽은 LAN 기본 게이트웨이 192.168.1.1을 통과합니다. 192.168.1.0/24에 대한 로컬 트래픽은 예상대로 호스트로 이동합니다. 다른 트래픽은 10.8.0.1을 사용합니다. OpenVPN 서버의 공용 IP로 직접 연결되지 않는 비로컬 트래픽은 VPN 터널을 통과하여 94.xx.yy.254에서 나옵니다.

라우팅 테이블에서 192.168.1.1을 게이트웨이로 유지하는 또 다른 기본 경로를 볼 수 있지만 10.8.0.1보다 우선순위가 낮습니다. 내 생각에 이것은 VPN이 종료되면 기본 경로를 다시 설정할 대상을 알 수 있도록 OpenVPN 클라이언트의 자리 표시자에 가깝습니다. 해당 항목에 대해 걱정하지 마십시오.

관련 정보