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
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: /