[unix] OpenVPN 클라이언트의 라우팅 테이블을 이해하는 방법

방금 OpenVPN을 설정했는데 예상대로 작동합니다. 그러나 클라이언트의 라우팅 테이블은 나를 혼란스럽게 만듭니다. 라우팅 테이블은 다음과 같습니다.

# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
10.8.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0
10.8.0.1        10.8.0.5        255.255.255.255 UGH   0      0        0 tun0
54.202.18.143   10.0.2.2        255.255.255.255 UGH   0      0        0 eth0
10.0.2.0        0.0.0.0         255.255.255.0   U     1      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         10.8.0.5        128.0.0.0       UG    0      0        0 tun0
128.0.0.0       10.8.0.5        128.0.0.0       UG    0      0        0 tun0
0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0

한 줄씩 해부하겠습니다

  1. 대상으로 지정된 모든 패킷 10.8.0.5에는 게이트웨이가 없으며tun0
  2. 예정된 모든 패킷 10.8.0.1은 다음을 10.8.0.5통해 게이트웨이로 사용 됩니다.tun0
  3. 예정된 모든 패킷 54.202.18.143은 다음을 10.0.2.2통해 게이트웨이로 사용 됩니다.eth0
  4. 예정된 모든 패킷 10.0.2.0/24에는 게이트웨이가 없으며 사용합니다eth0
  5. 169.254.0.0 부분을 무시할 수 있습니다
  6. 을 (를 0.0.0.0) 대상으로하는 다른 모든 패킷은를 10.8.0.5통해 기본 게이트웨이로 제공됩니다 tun0. 이것이 기본 게이트웨이입니까?
  7. 예정된 모든 패킷 128.0.0.0/7은 다음을 10.8.0.5통해 기본 게이트웨이로 사용 됩니다.tun0
  8. 다른 모든 패킷 ( 0.0.0.0)은 다음을 10.0.2.2통해 기본 게이트웨이로 사용합니다.eth0

질문 :

  • 포인트 6과 8을 고려하면 2 개의 기본 게이트웨이가 있습니까? (단 하나의 기본 게이트웨이 만있을 수 있으므로 잘못 알고 있지만 정당화 할 수는 없습니다) ( 아마 대답, 아래 참조 )
  • 포인트 1과 2를 고려할 때 10.8.0.1실제로는 tun0을 통해 게이트웨이를 사용하지 않습니다. 이 올바른지?
  • 포인트 3과 4를 고려할 때 54.202.18.143실제로는를 통해 게이트웨이를 사용하지 않습니다 eth0. 이 올바른지?

최신 정보…

이것을 읽은 후 더 많은 정보를 찾았습니다. 아래 줄은 지금 나에게 많은 의미가 있습니다.

0.0.0.0         10.8.0.5        128.0.0.0       UG    0      0        0 tun0
128.0.0.0       10.8.0.5        128.0.0.0       UG    0      0        0 tun0

따라서 첫 번째 줄은 정의 0.0.0.0/128.0.0.0되고 두 번째 줄 은 정의 128.0.0.0/128.0.0.0입니다. 본질적으로 :

0.0.0.0/128.0.0.0 = 0.0.0.0/1 = 0.0.0.0 TO 127.255.255.255
128.0.0.0/128.0.0.0 = 128.0.0.0/1 = 128.0.0.0 TO 255.255.255.255

따라서 위의 2 개 경로는 전체 IPv4 주소 범위를 포함 [0.0.0.0 TO 255.255.255.255]합니다. 원래 기본 경로를 바꾸지 않고 기본 경로를 추가하는 OpenVPN의 영리한 방법이며이 기본 경로는를 통해 라우팅됩니다 tun0.

첫 번째 질문에 대한 답이 있다고 생각합니다.

포인트 6과 8을 고려하면 2 개의 기본 게이트웨이가 있습니까?

아니요, 기본 게이트웨이는 하나 뿐이며 다음과 같습니다.

0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0



답변

포인트 6과 8을 고려하면 2 개의 기본 게이트웨이가 있습니까? (단 하나의 기본 게이트웨이 만있을 수 있으므로 잘못 알고 있지만 정당화 할 수는 없습니다) (아마 대답, 아래 참조)

6 번째 줄은 0.0.0.0-127.255.255.255 범위를 정의하고 7 번째 줄은 128.0.0.0-255.255.255.255 범위를 정의합니다.

포인트 6과 8을 고려하면 2 개의 기본 게이트웨이가 있습니까?

아니요, 기본 게이트웨이는 하나 뿐이며 다음과 같습니다.

0.0.0.0         10.0.2.2        0.0.0.0         UG    0      0        0 eth0

포인트 1과 2를 고려할 때 10.8.0.1로 진행되는 것은 실제로 tun0을 통한 게이트웨이를 사용하지 않습니다. 이 올바른지?

10.8.0.1로 향하는 패킷은 10.8.0.5로 라우팅됩니다 ( 첫 번째 줄에서 설정 한 tun0 lan 이 액세스 할 수 있음 ).
넷 마스크가 255.255.255.255가 아닌 경우에 옳았습니다.

포인트 3과 4를 고려할 때 54.202.18.143으로 진행되는 것은 실제로 eth0을 통한 게이트웨이를 사용하지 않습니다. 이 올바른지?

정확하지 않습니다. 54.202.18.143으로 향하는 패킷은 10.0.2.2로 라우팅됩니다 ( eth0 lan의 다른 호스트 이며 4 번째 라인으로 액세스 가능).


답변