방금 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
한 줄씩 해부하겠습니다
- 대상으로 지정된 모든 패킷
10.8.0.5
에는 게이트웨이가 없으며tun0
- 예정된 모든 패킷
10.8.0.1
은 다음을10.8.0.5
통해 게이트웨이로 사용 됩니다.tun0
- 예정된 모든 패킷
54.202.18.143
은 다음을10.0.2.2
통해 게이트웨이로 사용 됩니다.eth0
- 예정된 모든 패킷
10.0.2.0/24
에는 게이트웨이가 없으며 사용합니다eth0
- 169.254.0.0 부분을 무시할 수 있습니다
- 을 (를
0.0.0.0
) 대상으로하는 다른 모든 패킷은를10.8.0.5
통해 기본 게이트웨이로 제공됩니다tun0
. 이것이 기본 게이트웨이입니까? - 예정된 모든 패킷
128.0.0.0/7
은 다음을10.8.0.5
통해 기본 게이트웨이로 사용 됩니다.tun0
- 다른 모든 패킷 (
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
0.0.0.0
경로에는 Genmask128.0.0.0
가있어 기본 경로가 아닙니다. / : 나는 조금 생각을하지 않아도하지만 무엇이 마스크 수단과 어떤 경로이다가 말을