从嵌入式设备natt';在笔记本电脑(Github)后面安装

从嵌入式设备natt';在笔记本电脑(Github)后面安装,git,networking,github,Git,Networking,Github,所以我有一个嵌入式设备,他与外界(快速)通信的唯一方式是通过我的开发笔记本电脑(通过WiFi连接到互联网)对他进行NAT 我连接到设备的接口的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 在我的

所以我有一个嵌入式设备,他与外界(快速)通信的唯一方式是通过我的开发笔记本电脑(通过WiFi连接到互联网)对他进行NAT

我连接到设备的接口的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到任何我想要的盒子中,等等

然而,由于某些原因,我在Github上的项目与git无关。当I
git clone
时,它将挂起,并最终与一起超时

Failed to connect to github.com port 443: Connection timed out
我不知道这是为什么,但我真的想找到一个解决办法。我正在为该设备开发软件,从/it/推送到我的笔记本电脑要比rsync-it容易得多,从那里推送(我不太清楚)。这也是一个网络练习,因为我想知道Github与其他任何东西有什么不同

我试着通过以下问题将我的“代理”设置为我的笔记本电脑:,但它也不起作用

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


谢谢。

原来我的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"
iptables——表nat——追加后路由——输出接口——j伪装
iptables——向前追加——在接口-j ACCEPT中
sh-c“echo 1>/proc/sys/net/ipv4/ip_-forward”
我不知道为什么上一个脚本不起作用(仅适用于Github),而这个脚本起作用,但这确实为我解决了这个问题


在这里可以找到以下信息:。

结果证明我的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"
iptables——表nat——追加后路由——输出接口——j伪装
iptables——向前追加——在接口-j ACCEPT中
sh-c“echo 1>/proc/sys/net/ipv4/ip_-forward”
我不知道为什么上一个脚本不起作用(仅适用于Github),而这个脚本起作用,但这确实为我解决了这个问题


此信息在此处找到:。

您尝试过同时使用SSH和HTTPS进行克隆吗?是的,两者都不起作用。从BB克隆也是https,而且工作正常。如果使用
git ls remote,会发生什么https://github.com/your/repo/here
?它也挂断了。我还按照您的建议尝试了通过SSH进行git克隆:我将密钥添加到Github配置文件中,但仍然一无所获。超级奇怪。你试过用SSH和HTTPS进行克隆吗?是的,两种方法都不管用。从BB克隆也是https,而且工作正常。如果使用
git ls remote,会发生什么https://github.com/your/repo/here
?它也挂断了。我还按照您的建议尝试了通过SSH进行git克隆:我将密钥添加到Github配置文件中,但仍然一无所获。太奇怪了。我很想知道为什么GitHub不起作用。。。奇怪,我很想知道为什么它对GitHub不起作用。。。奇怪的