Traducido del English por IA ·
Nos pasó exactamente esto en una de nuestras propiedades después de que el ISP activara IPv6. La Pi obtiene una dirección IPv6, la prueba primero, la ruta está rota y espera al timeout antes de volver a IPv4. Tu prueba con curl lo demuestra.No quería desactivar IPv6 para todo, así que le indiqué a la Pi que prefiera IPv4. Descomenta esta línea en /etc/gai.conf:
precedence ::ffff:0:0/96 100
No hace falta reiniciar para los procesos nuevos, basta con reiniciar tu script. Si solo lo quieres para el script, puedes forzarlo en Python antes de importar requests:
import socket
import urllib3.util.connection as conn
conn.allowed_gai_family = lambda: socket.AF_INET
Y la idea de Owen sigue siendo buena para más adelante. Pon la IPv4 pública del hotel en la lista de IP permitidas de la clave, para que una clave robada no sirva en otro lugar.
Had exactly this at one of our properties after the ISP turned IPv6 on. The Pi gets an IPv6 address, tries it first, the route is broken and it waits for the timeout before falling back to IPv4. Your curl test shows that.
I didn’t want to switch IPv6 off for everything, so I told the Pi to prefer IPv4. Uncomment this line in /etc/gai.conf:
precedence ::ffff:0:0/96 100
No reboot needed for new processes, just restart your script. If you only want it for the script, you can force it in Python before importing requests:
import socket
import urllib3.util.connection as conn
conn.allowed_gai_family = lambda: socket.AF_INET
And Owen’s idea is still a good one for later. Put the hotel’s public IPv4 in the key’s IP allowlist so a stolen key is useless elsewhere.

