VPN을 통해 트래픽을 다른 서버로 다시 라우팅하는 방법

VPN을 통해 트래픽을 다른 서버로 다시 라우팅하는 방법

현재 2개 사이트에 환경을 설정하고 있습니다. 모든 서버는 linux/ubuntu입니다. 첫 번째 사이트는 내 사무실이고 두 번째 사이트는 AWS입니다. AWS의 VPC에 사이트 간 VPN이 있는 2개의 서버가 있습니다. Web01 - 172.31.24.106 Revproxy01 - 172.31.17.216

사무실에 서버 1대와 IP 카메라 1대가 있습니다. Server1 - 192.168.102.1 Camera1 - 192.168.102.79

VPN은 Server1(IPSec Strongswan)에 있으며 AWS 측에 연결된 AWS 사이트 간 VPN으로 구성됩니다.

많은 연구와 시간을 거쳐 모든 것을 준비하고 실행했습니다. Web01과 Revproxy01은 Server1을 ping할 수 있고 Server1은 Web01과 Revproxy01을 ping할 수 있습니다.

다음 단계는 Web01 및 RevProxy01에서 Camera1을 ping할 수 있는 것입니다. 궁극적으로 web01 및 Revproxy01에서 카메라 http 피드에 액세스하고 싶습니다.

Web01에서 Server1을 거쳐 Camera01로 데이터를 전달하려면 (Server01에서) 경로를 설정해야 할 것 같습니다.

누군가의 도움과 이를 수행하는 방법을 배우면 정말 감사하겠습니다.

답변1

좋습니다. 라우팅이 어떻게 작동하는지 여러분이 얼마나 알고 있는지 모르겠습니다. 따라서 이를 설명하고 제 설명을 통해 여러분이 얼마나 이해하는지 확인하려고 합니다. 실제로 더 많은 바퀴가 회전하기 때문에 이 설명은 완전히 정확하지는 않지만 충분할 것입니다.

네트워크의 모든 홉에서 IP 스택은 들어오는 모든 IP 패킷을 살펴봅니다. 그것은 비교한다목적지IP 주소와 해당 라우팅 테이블. 로 라우팅 테이블을 볼 수 있습니다 ip route.

먼저, 패킷의 IP가 자체 인터페이스 중 하나와 일치하는지 확인합니다. 그렇다면 패킷의 대상은 홉 자체이고 홉은 패킷을 "먹습니다"(TCP 스택 위로 푸시).

패킷의 대상이 홉 자체가 아닌 경우 홉은 자체 라우팅 테이블을 검사하고 가장 중요한 경로에서 가장 중요하지 않은 경로로 순회합니다. A는 /2432비트 중 24비트가 유효하다는 것을 알려줍니다. 그렇다면 A는 /16그다지 중요하지 않습니다. IP 스택의 경우 ip route패킷의 IP 주소는 아래에서 위로 노출된 경로와 비교됩니다. 패킷의 IP와 일치하는 첫 번째 경로가 승리합니다. 따라서 목적지 IP 192.168.102.10으로 라우팅 테이블을 통과하면 경로 192.168.0.0/16이 패킷과 일치하게 됩니다. 192.0.0.0/16 경로는 그렇지 않습니다. 이 sipcalc도구를 사용하여 네트워크 주소 정보를 표시할 수 있습니다.

마지막으로 일치하는 경로가 모든 것과 일치하는 기본 경로가 됩니다.

각 경로에는 패킷이 전송되는 다음 홉이 포함되어 있습니다. 에서 다음 홉을 더 잘 볼 수 있습니다 /sbin/route -n. 경로로 표시되는 네트워크가 해당 홉에 있는 네트워크 인터페이스에 직접 연결되어 있는지 여부에 따라 라우터 열 또는 인터페이스 열입니다.

패킷이 VPN 터널을 통과할 때 IP 패킷은 다른 패킷으로 래핑됩니다. 따라서 귀하의 경우 VPN 입구 및 출구 지점의 내부 IP만 계산됩니다. 패킷은 "마법처럼" 진입점에 들어가고 종료점에서 튀어나옵니다.

이제 소스 및 대상 홉을 포함하여 패킷이 취해야 하는 각 홉 경로를 결정할 수 있습니다. 원하는 경로가 선택되지 않으면 해당 경로를 추가해야 합니다. 이는 192.168.102.79/32(모든 부분이 중요합니다. 단일 호스트에만 일치합니다!) 라고도 하는 단일 호스트 경로일 수 있습니다 . 무엇을 찾아야 하는지에 대한 몇 가지 예입니다 ip route add.

또한 당신이 원하는 것은 패킷이 홉을 통과할 때 관찰하는 것입니다. 사용하시면 됩니다 tcpdump -n -i interface(f.ex. tcpdump -n -i eth0). 따라서 hop1을 통과하는 패킷을 보고 hop2로 이동해야 한다고 생각하지만 hop2를 통과하지 못하는 경우 hop1의 라우팅이 잘못되어 패킷을 잘못된 대상으로 보내는 것일 수 있습니다.

이렇게 하면 소스에서 대상까지 각 라우팅 테이블을 홉별로 분석하고 패킷의 경로를 확인할 수 있습니다.~해야 한다각 홉에서 패킷이 올바른 경로를 취하고 실제로 tcpdump.

출발지에서 목적지까지 두 가지 경로가 있다는 점에 유의하세요.그리고나중에 올바르게 구성해야 합니다.

잘못된 라우팅으로 인해 네트워크를 통해 컴퓨터에 액세스할 수 없게 될 수 있습니다. 따라서 네트워크를 통하지 않고 독립 실행형 메커니즘을 통해 컴퓨터를 다시 시작하는 방법이 필요할 수 있습니다.

라우팅이 제대로 작동하면 재부팅 후에도 지속되는지 확인하세요. F. 전면. 새 경로를 작성합니다 /etc/network/interfaces(등록해야 하는 위치는 해당 시스템에서 네트워크 스택이 구성된 방식에 따라 다릅니다. 이는 Unix, Linux 배포판 등에 따라 크게 다릅니다).

이것이 당신에게 더 도움이 되기를 바랍니다.

관련 정보