Acabo de configurar OpenVPN y está funcionando como se esperaba. Sin embargo, la tabla de enrutamiento del cliente me confunde sin fin. Aquí está la tabla de rutas:
# 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
Así que diseccionemos línea por línea
- Cualquier paquete destinado a
10.8.0.5
no tiene puerta de enlace y utilizarátun0
- cualquier paquete destinado a
10.8.0.1
utilizará10.8.0.5
como puerta de enlace a través detun0
- cualquier paquete destinado a
54.202.18.143
utilizará10.0.2.2
como puerta de enlace a través deeth0
- cualquier paquete destinado a
10.0.2.0/24
no tiene puerta de enlace y utilizaráeth0
- Vamos a ignorar la parte 169.254.0.0
- Todos los demás paquetes (destinados a
0.0.0.0
) nos serán utilizados10.8.0.5
como puerta de enlace predeterminada a través detun0
. Entonces esta es la puerta de enlace predeterminada, ¿no? - Cualquier paquete destinado a
128.0.0.0/7
utilizará10.8.0.5
como puerta de enlace predeterminada a través detun0
- Todos los demás paquetes (
0.0.0.0
) se utilizarán10.0.2.2
como puerta de enlace predeterminada a través deeth0
Preguntas:
- ¿Tengo 2 puertas de enlace predeterminadas si consideramos los puntos 6 y 8? (sin embargo, solo puede haber 1 puerta de enlace predeterminada, así que sé que estoy equivocado pero no puedo justificarlo) ( probablemente respondido, ver más abajo )
- Teniendo en cuenta los puntos 1 y 2, todo lo que sucede
10.8.0.1
realmente no está utilizando ninguna puerta de enlace a través de tun0. ¿Es esto correcto? - Teniendo en cuenta los puntos 3 y 4, todo lo que sucede
54.202.18.143
no está utilizando ninguna puerta de enlaceeth0
. ¿Es esto correcto?
ACTUALIZAR...
Después de leer esto , encontré más información. Las siguientes líneas tienen mucho sentido para mí ahora:
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
Entonces, la primera línea está definiendo 0.0.0.0/128.0.0.0
y la segunda está definiendo 128.0.0.0/128.0.0.0
. Esencialmente:
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
Entonces, las 2 rutas anteriores cubren todo el rango de direcciones IPv4 [0.0.0.0 TO 255.255.255.255]
. OpenVPN es una forma inteligente de agregar una ruta predeterminada sin reemplazar la ruta predeterminada original y esta ruta predeterminada se enrutará a través de tun0
.
Entonces creo que tengo una respuesta para mi primera pregunta:
¿Tengo 2 puertas de enlace predeterminadas si consideramos los puntos 6 y 8?
NO, solo hay una puerta de enlace predeterminada y es:
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
fuente
0.0.0.0
ruta tiene Genmask,128.0.0.0
que probablemente no la convierta en una ruta predeterminada. Sin embargo, debo decir que no tengo la menor idea de lo que significa esta máscara y para qué sirve la ruta: /Respuestas:
La sexta línea define el rango 0.0.0.0 - 127.255.255.255 y la séptima línea define el rango 128.0.0.0 - 255.255.255.255.
NO, solo hay una puerta de enlace predeterminada y es:
No, no es correcto, los paquetes destinados a 10.8.0.1 se enrutarán a 10.8.0.5 (que es accesible por tun0 lan según lo establecido por la primera línea).
tenías razón si la máscara de red no era 255.255.255.255
No, no es correcto, los paquetes destinados a 54.202.18.143 se enrutarán a 10.0.2.2 (que es otro host en eth0 lan y es accesible por la cuarta línea)
fuente