Clon Git del dispositivo embedded natt'ed detrás de una computadora portátil (Github)

Así que tengo un dispositivo integrado, y su única forma de comunicación (rápida) con el mundo exterior es NAT a través de mi computadora portátil de desarrollo, que está conectada a Internet a través de WiFi.

La dirección IP de mi interfaz conectada al dispositivo es 192.168.7.1. La dirección IP de los dispositivos es 192.168.7.2. La IP de mi interfaz WiFi no importa.

La forma en que configuro mi iptables y el reenvío de puertos en mi computadora portátil es la siguiente:

iptables -t nat -A POSTROUTING ! -d 192.168.7.2/8 -j MASQUERADE sysctl net.ipv4.ip_forward=1 

En mi dispositivo, agrego la dirección IP de la interfaz de mi computadora portátil (192.168.7.1) como puerta de enlace pnetworkingeterminada, y BAM … puedo hacer ping a Internet desde mi pequeño dispositivo. Esto es increíble para get packages, files, puedo enviar ssh a cualquier casilla que quiera detrás de este dispositivo, etc.

Sin embargo, por alguna razón, no funciona nada relacionado con git con mis proyectos en Github. Cuando git clone <github repo> , se cuelga y eventualmente se agota el time

 Failed to connect to github.com port 443: Connection timed out 

No tengo idea de por qué es esto, pero realmente me gustaría encontrar una solución. Estoy desarrollando un software para el dispositivo, y es mucho más fácil enviar desde / it / que sincronizarlo a mi computadora portátil, y presionar desde allí (no sé mucho). También es un ejercicio de creación de networkinges ya que me gustaría saber qué está haciendo Github de forma diferente a básicamente todo lo demás o_O

Intenté configurar mi "proxy" como mi laptop al seguir la pregunta aquí: Hacer que git trabaje con un server proxy , pero tampoco funcionó.

Además, puedo verificar mis proyectos en Bitbucket. Parece que funciona bien allí.

Gracias.

Resulta que estaba configurando mal mi iptables de alguna manera.

Para que funcione, tengo que ejecutar lo siguiente en mi computadora portátil:

 iptables --table nat --append POSTROUTING --out-interface <interface facing the internet> -j MASQUERADE iptables --append FORWARD --in-interface <interface connected to device> -j ACCEPT sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward" 

No tengo idea de por qué el guión anterior no funcionó (solo para Github) y este sí, pero esto sí lo solucionó.

Esta información se encontró aquí: https://www.raspberrypi.org/forums/viewtopic.php?t=6997&p=87671 .