问个高大上的问题:如何架设“打洞”服务器?

2014-12-11 10:24:24 +08:00
 hzqim
网络环境:

东京独立 IP Linux VPS 一台
中国移动宽带私网地址,原本是可以分配到公网 IP 的,后来移动机房升级后(估计是添加一个 NAT 设备)就不能获取公网 IP 了,这样我家路由器不进行端口映射的情况下,电脑和服务器通信至少要经过 2 个 NAT 设备。


问题来了:
1、Linux 环境下能否架设 UDP “打洞”服务器?有没有现成方案?
2、如果能打洞成功,我为了实现在别处电脑远程家中的 NAS 文件,或者远程添加 BT 种子文件,受控端(家里的电脑)和操作端(别处的电脑)是否必须安装相对应的软件?
3、如果自己架设太麻烦,有哪些现成的免费/付费服务推荐?要求 windows 和 Linux 平台都能支持。

谢谢。
11155 次点击
所在节点    问与答
16 条回复
zzutmebwd
2014-12-11 10:26:45 +08:00
ngrok 自己谷歌不谢
hzqim
2014-12-11 10:38:19 +08:00
@zzutmebwd 还是要谢谢的。美女一个
zzutmebwd
2014-12-11 10:39:19 +08:00
@hzqim 美爆!好稀饭
gyteng
2014-12-11 11:31:00 +08:00
如果你的路由是openwrt的,直接用ssh的反向连接功能就可以了
wwek
2014-12-11 11:39:00 +08:00
不错.收了`
banbanchs
2014-12-11 12:19:28 +08:00
n2n
hzqim
2014-12-11 12:31:42 +08:00
@gyteng
1、SSH反向链接是否类似这样的命令?ssh -R 2222:localhost:22 117.123.123.123
2、ngrok本质是否就是 SSH 反向链接?
3、ngrok每次只监听一个端口,而且好像不能多开?SSH好像没有这样的限制,如此,后者灵活多了!
4、花生壳是否也采用类似技术?

谢谢,谢谢!
hzqim
2014-12-11 12:33:08 +08:00
@banbanchs 谢谢推荐,先试验一下ngrok和SSH
ryd994
2014-12-11 13:38:51 +08:00
ssh是tcp,流量全靠服务器转发
udp打洞只有开头少量打洞用的数据走服务器,其他是直连的,所以才叫打洞。
kobe1941
2014-12-11 14:58:51 +08:00
弱弱的问一句,打洞是什么意思?
hzqim
2014-12-11 15:01:53 +08:00
@ryd994 那么 ngrok 采用一直 online 的隧道技术,也就是说它不是“打洞”了?
向日葵是打洞吗?
DDNS 既不是"打洞",也不是隧道,而只是IP检测?
ryd994
2014-12-12 00:02:19 +08:00
@hzqim ddns叫dynamic dns,就是个dns服务,只不过DNS记录的更新可以比较方便和自动化而已
ngrok不熟,但是从官网上来看,它自称是tunnel,即隧道技术,不算是udp打洞
首先向日葵是ddns服务商,至于那个内网的呢,是要钱的,限带宽,很明显是用他的服务器转发而已。更何况支持tcp,tcp是不可能用udp打洞这样的方法来打洞的。
hzqim
2014-12-12 07:39:10 +08:00
@ryd994 谢谢解释,看来要弄个纯UDP打洞软件还是比较难啊。
dosgo
2015-03-14 14:00:52 +08:00
@hzqim 打洞用stun协议啊,还有免费公开的stun服务器,不过呢,很多地方都不能打。,。反正我在公司家里都无法打
hzqim
2015-03-16 10:49:35 +08:00
@dosgo 谢谢介绍,自己有VPS,看看能否找到开源的STUN软件。
dosgo
2015-03-16 16:45:41 +08:00
@hzqim 有的,http://basiccoder.com/c-program-to-test-stun.html/comment-page-1,一个简单的C程序,我建议你先在安卓手机上安装个stun client的软件,测试下你的内网是什么类型的NAT,很多类型的NAT根本打不了洞,我老东家的无法打,我住宿那也无法打,现在新公司可以打。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/153052

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX