¿Cómo recuperar mediante programación la dirección IP externa de mi módem / enrutador de Internet desde una computadora que usa una VPN? ¿Es esto posible?

Dependiendo de la implementación exacta, podría haber formas de recuperar la dirección pública.

Por ejemplo, suponiendo que la PC esté conectada directamente a Internet (sin dispositivo / enrutador NAT) Y que la PC esté ejecutando el software VPN, esa información podría extraerse de la tabla de enrutamiento.

Tendrá 2 rutas predeterminadas en la tabla, una del servidor VPN y otra necesaria para llegar a ese servidor VPN, que utilizará su IP pública real y la puerta de enlace del proveedor.

Por ejemplo, con una VPN PPTP de Windows establecida, desde una computadora

“Ruta de impresión” da; (cortado y editado)

Tabla de ruta IPv4

Rutas activas:

Red Destino Netmask Gateway Interfaz Métrica

0.0.0.0 0.0.0.0 xxxx aaaa 4250

0.0.0.0 0.0.0.0 En enlace zzzz 26

XXXXXX 255.255.255.255 XXXXXX XXXXXXX 4251

127.0.0.0 255.0.0.0 en línea 127.0.0.1 4556

127.0.0.1 255.255.255.255 en línea 127.0.0.1 4556

Aquí zzzz será la dirección en uso para la VPN, por lo tanto, la dirección externa de la VPN, de tal vez una dirección interna que podría ser NAT ‘en otra dirección externa.

Pero aaaa será la dirección IP pública ‘real’ de la computadora.
xxxx es el enrutador de la puerta de enlace del proveedor.

Por supuesto, si hay un enrutador NAT en el medio, xxxx y aaaa serán direcciones privadas. Si la conexión VPN no se establece en la PC cliente que ejecuta su software, sino en un dispositivo de enrutamiento, la detección de incluso la presencia de un túnel VPN podría resultar difícil.

Use un servicio DDNS y verifique la IP actual en su página web. O conecte un servidor (como RPi) a su sistema y SSH en él para cualquier información que necesite.