Cómo evitar las huellas dactilares TCP/IP

Cómo evitar las huellas dactilares TCP/IP

Tengo la siguiente configuración:

 +-----------+   SSH Tunnels Over Socks5 Proxy    +--------------+
 |           |                                    |              |
 | Linux PC  +------------------------------------+ Proxy Server |
 |           |                                    |              |
 +-----------+                                    +--------------+
                                                          |
                                                          | SSH Tunnels
                                             +-------------------------+
                                             |                         |
                                             |                         |
                                       +-----------+             +-----------+
                                       |           |             |           |
                                       |   PI A    |             |   PI B    |
                                       |           |             |           |
                                       +-----------+             +-----------+
                                             |                          |
                                             |  WAN / Internet          |  WAN / Internet
                                             |                          |
                                             v                          v

En primer lugar: no estoy tratando de anular la toma de huellas digitales del sistema operativo como se discutióaquío en otras preguntas sobre SuperUser. Utilizo Linux para toda la cadena/pila y no me importa que me identifiquen como tal.

Fondo: Accedo a internet en otro país debido a la censura. Tengo dos Raspberry PI idénticas (Modelo 3B+, tarjeta SD clonada, solo IP modificada para funcionar en sus respectivas LAN) en dos ubicaciones residenciales separadas (ISP diferentes). Los uso de forma independiente y sirven como servidores proxy residenciales para acceder a Internet.

El tráfico se dirige a través de los PI a través de túneles SSH. Estos túneles SSH se canalizan a través de un túnel Socks5 cifrado a través de un servidor proxy (es el mismo para ambos IP) para ocultarlos de los censores nacionales locales/bloqueo de IP.

Esto funciona hasta ahora.

Problema: Cuando realizo pruebas enhttps://browserleaks.com/ipyhttps://doileak.comObtengo resultados diferentes para "PI A" y "PI B".

Para "PI A" obtengo MTU 1500 y el tipo de conexión "ethernet o módem", mientras que para "PI B" obtengo MTU 1440 y el tipo de conexión "túnel genérico o VPN".

Quiero que ambos se identifiquen como tipo de conexión "ethernet o módem" para ocultar el hecho de que son servidores proxy. Según mi investigación, estas pruebas parecen utilizar huellas dactilares TCP/IP con p0f.

Las interfaces de ambos PI están configuradas en MTU 1500, además las configuraciones de iptables son idénticas. Tienen el mismo hardware, la tarjeta SD en "PI B" es básicamente un clon de "PI A". Ambos PI están conectados directamente a sus respectivos enrutadores a través de Ethernet. Además, para la PC con Linux y el servidor Proxy, MTU está configurado en 1500 (lo que no debería hacer una diferencia si no me equivoco).

Dado que los PI están configurados de manera idéntica, ¿qué me falta?

PD: el título probablemente no sea el ideal, pero no estoy seguro de cómo describir el problema en pocas palabras.

Respuesta1

La MTU de 1500 configurada en PI A y PI B es la MTU predeterminada para paquetes Ethernet. Esta MTU essoloentre el primer enrutador (el enrutador de Internet de su propiedad) y el PI.

El enrutador al que está conectado el PI (enrutador A) está conectado al siguiente enrutador (enrutador B). Luego, el enrutador B se conecta a otro enrutador (enrutador C). Etcétera. Esta ruta termina en el destino (por ejemplo el servidor de browserleaks.com). Esta ruta depende de tu ubicación geográfica y es un poco aleatoria. También cambia con el tiempo.

La MTU entre el enrutador A y el enrutador B probablemente sea >= 1500, pero esto no está garantizado. Si es menor que 1500, entonces sus paquetes se dividen como puede leeraquí. Además, browserleaks.com mostrará la MTU más pequeña.

Conclusión:

browserleaks.com muestra la MTU máxima admitidaen toda la rutadel cliente al servidor.

Es normal que obtenga diferentes MTU para PI A y PI B porque probablemente tomen rutas diferentes.

Para verificar que están usando diferentes rutas, puede ejecutar (en su PC con Linux):

traceroute browserleaks.com

Esto enumera todos los enrutadores entre usted y el servidor (y también el servidor). Ejecútelo una vez para cada PI.

También tenga en cuenta que en IPv6 los paquetes no se pueden dividir.

información relacionada