conectividad geth detrás de un firewall

Estoy tratando de hacer que geth se sincronice detrás del firewall de mi oficina. Tengo un puerto TCP y UDP abierto (entrante y saliente) como se solicita en otros hilos similares, pero no parece ser suficiente. Específicamente, puedo escuchar a los pares correctamente, pero luego geth intenta conectarse a ellos usando diferentes puertos TCP, que obviamente están bloqueados por el firewall; netstatmuestra que estas conexiones están atascadas en SYN_SENT, como se muestra a continuación.

netstat -b
[...]
[geth.exe]
  TCP    xxx.xxx.xxx.xxx:64801   ip2504fbb9:30303       SYN_SENT
[geth.exe]
  TCP    xxx.xxx.xxx.xxx:64802   185.31.136.69:30303    SYN_SENT
[geth.exe]
  TCP    xxx.xxx.xxx.xxx:64803   95.85.21.43:30303      SYN_SENT
[geth.exe]
  TCP    xxx.xxx.xxx.xxx:64804   wallets:30303          SYN_SENT
[...]

¿Realmente tengo razón en que es necesario abrir más puertos para que funcione geth? ¿Hay alguna manera de especificar un rango?

¿Algún avance en esto?

Respuestas (2)

Para descargar solo datos de otros nodos, no necesita abrir ningún puerto de salida. Solo se requiere abrir su :30303 al mundo si desea ejecutar un nodo completo, ayudando a otras personas a usar Ethereum.

Entonces, lo único que necesita es permitir las conexiones entrantes a su host, casi todos los firewalls lo permiten de manera predeterminada (o no le sería posible abrir ningún sitio). Algunos cortafuegos pueden no permitir conexiones entrantes desde puertos no estándar (no 80/443), verifique que las conexiones entrantes como 1.2.3.4:30303 estén permitidas

Uhm. ¿Mezclado desde/hacia aquí? Entrante significa: desde Internet a su sistema local. Cualquier firewall bloquea eso por defecto. Saliente: desde su sistema local a Internet. La mayoría de los cortafuegos lo permiten de forma predeterminada.

Hay una solución para esto. Una vez que ejecute su getho testrpcen su http://localhost:8545, use ngrok para exponer el servicio a la URL de ngrok generada aleatoriamente.

$ ngrok http 8545

genera una url como https://randomNumbers.ngrok.io. Esta URL se puede utilizar como un archivo web provider. Pude probar esto en el navegador Remix y funcionó perfectamente bien.

Esa no es una respuesta a la pregunta que hice. Puedo acceder al servicio rpc correctamente: se está ejecutando en mi máquina. El problema es que geth no puede conectarse con pares para descargar la cadena de bloques porque está detrás de un firewall.