El portátil está en la Wi-Fi de la oficina, el cable Ethernet está conectado y el adaptador VPN sigue presente. Tu archivo PAC pregunta a myIpAddress() en qué red está. Eso suena razonable hasta que recibe una dirección que pertenece al adaptador equivocado.

El detalle que falta es que la función devuelve una sola dirección. No es un inventario de todas las interfaces y no contacta con un sitio web para descubrir tu IP pública. Una dirección privada, o incluso un respaldo de loopback, no te dice qué dirección de salida usará una solicitud a través del proxy.

Una respuesta para una máquina con varias direcciones

La selección de la interfaz de red corresponde a la implementación del PAC. El viejo consejo de reordenar los adaptadores de Windows puede describir una versión concreta de navegador y de sistema operativo, pero es una mala solución universal. Chromium documenta su propio algoritmo de selección y las limitaciones con varias redes; otro cliente no tiene por qué tomar la misma decisión.

Empieza por identificar el valor que el navegador afectado proporcionó realmente y compáralo con las comprobaciones de subred de tu script. Hazlo por separado en Wi-Fi, Ethernet y la conexión VPN aprobada. Una dirección que parece sorprendente todavía puede cumplir las reglas de la implementación.

Haz que la decisión dependa de menos conjeturas

Cuando sea posible, elige un proxy a partir del nombre de host de destino en lugar de una interfaz de cliente supuesta. Si la detección de red es necesaria, usa una señal deliberada y documentada que controle tu organización. La detección basada en DNS también tiene modos de fallo, así que define qué ocurre cuando esa señal no está disponible.

Algunas implementaciones ofrecen myIpAddressEx(). Comprueba su compatibilidad y su formato de retorno antes de adoptarlo; no es un sustituto directo de una sola cadena IPv4. Por último, verifica la ruta de solicitud resultante de forma independiente. Reconocer correctamente la subred de la oficina y llegar al proxy previsto son dos resultados distintos.

Artículos relacionados