2016-11-30 80 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

相關問題