2016-11-30 74 views
1

因此,我有一个嵌入式设备,他与外部世界进行(快速)通信的唯一方式是通过我的开发笔记本电脑对其进行NAT身份验证,通过WiFi上网。从笔记本电脑背后的嵌入式设备Git clone(Github)

连接到设备的我的接口的IP地址是192.168.7.1。设备的IP地址是192.168.7.2。我的WiFi接口的IP并不重要。

设置我的iptables和端口转发我的笔记本电脑的方式如下:

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

在我的设备,添加我的笔记本电脑的接口(192.168.7.1)的IP地址作为默认网关,和BAM ......我可以从我的小设备上ping通互联网。这对于获取软件包,文件,我可以从这个设备后面的任何一个盒子ssh都很棒。

但是,由于某些原因,Git上的项目与我的项目没有任何关系。当我git clone <github repo>,它挂,并最终超时并

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

我不知道这是为什么,但我真的想找到一个解决方案。我正在为该设备开发软件,并且将它从rs/rsync推送到我的笔记本电脑,并从那里推送(我知道不是很多),要容易得多。这也是一个网络运动,因为我想知道什么Github上比基本上一切O_O

我试图按照这里的问题我的设置“代理”为我的笔记本电脑不同的方式来做:Getting git to work with a proxy server,但没有奏效无论是。

另外,我可以在Bitbucket上查看我的项目。它似乎在那里工作得很好。

感谢。

+0

您是否尝试过使用SSH和HTTPS进行克隆? – Pockets

+0

是的,既不工作。从BB克隆也是https,它工作正常。 – justynnuff

+0

如果你用'git ls-remote https:// github.com/your/repo/here'会怎么样? – Pockets

回答

0

原来我以某种方式设置了我的iptables错误。

为了得到它的工作,我要执行我的笔记本电脑下面:

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" 

我不知道为什么前面的脚本没有工作(仅适用于Github上),这一次呢,但这确实为我解决了它。

此信息在这里找到:https://www.raspberrypi.org/forums/viewtopic.php?t=6997&p=87671

+0

我有兴趣了解为什么它不适用于GitHub ......奇怪。 – tehp

相关问题