
우리 회사의 VPN에 연결하고 라우팅 테이블을 보면 다음과 같은 것을 발견합니다.
172.16.0.0 10.8.0.241 255.255.0.0 UG 0 0 0 tun0
10.8.0.241 0.0.0.0 255.255.255.255 UH 0 0 0 tun0
10.8.0.0 10.8.0.241 255.255.255.0 UG 0 0 0 tun0
첫 번째 줄은 다음과 같습니다. 172.16 네트워크에 대한 패킷은 tun0 인터페이스에 삭제되지만 나머지는 처리할 게이트웨이 10.8.0.241로 주소가 지정됩니다.
두 번째 줄에서는 10.8.0.241에 도달하려면 tun0에 넣으라고 명시적으로 명시하고 있습니다.
내가 이해하지 못하는 것은 왜 마지막 두 줄을 다음과 같이 결합할 수 없다는 것입니다.
10.8.0.0 0.0.0.0 255.255.255.0 UG 0 0 0 tun0
10.8의 어떤 버전이라도 터널에 떨어뜨리면 올바른 기계가 그것을 집어들 수 있다고 말하는 것입니다. 10.8에 대한 패킷이 먼저 동일한 네트워크의 게이트웨이로 명시적으로 전달되어야 하는 이유는 무엇입니까? 10.8.0.251은 실제로 tun0의 다른 쪽 끝에 직접 연결된 유일한 시스템이고 10.8에 대해 패킷을 앞으로 이동하는 방법을 알고 있기 때문에 여기서 스위치로 오용되는 것입니까?
답변1
이 질문에 답하기 전에 연결된 플래그에 대해 설명하겠습니다.
- U (경로가 작동 중입니다)
- H(대상은 호스트)
- G(게이트웨이 사용)
원본 시스템에 직접 연결( )하고 네트워크 ID가 있는 모든 시스템에 연결하도록 알리고 있으므로 경로를 2
결합 할 수 없습니다. 게이트웨이를 사용하십시오 . 왜 pkt를 기본 게이트웨이로 전달하는지 잘 모르겠지만 이것이 게이트웨이 라우터/방화벽에 역방향 경로를 삽입하는 트릭일 수 있습니다.3
10.8.0.241
metric 0
10.8.0.0/24
10.8.0.241
답변2
추측에 따르면 네트워크의 토폴로지는 다음과 같습니다.
클라이언트 => 인터넷 => 10.8.0.241 => 10.8.0.0/24
VPN이 설정되면 tun0을 통한 VPN 엔드포인트 외에는 어떤 호스트에도 직접 연결할 수 없습니다. 10.8.0.0/24 범위의 다른 항목으로 데이터를 보내려면 해당 데이터를 GW(10.8.0.241)로 보낸 다음 올바른 호스트로 전달해야 합니다.
이는 원격 엔드포인트의 서버와 동일한 네트워크에 IP를 제공하거나 다른 VPN 클라이언트에 연결할 수 있도록 하는 것일 수 있습니다.