比特币关了 UPNP 就只能用公网 IP 了么?

2014-12-10 22:05:56 +08:00
 lijun20020229
如果我想测试,怎么搭建一个测试P2P程序能否通过路由器NAT互连的环境,用一台电脑和一台路由器可以实现么?用虚拟机可以实现么?
2283 次点击
所在节点    Bitcoin
10 条回复
ryd994
2014-12-11 02:22:10 +08:00
用三台虚拟机,完全内网,想怎么折腾怎么折腾
lijun20020229
2014-12-11 11:09:52 +08:00
@ryd994 目前打算用2台电脑 每台装个虚拟机 虚拟机NAT联网 2台电脑接到一个路由器上 把电脑的路由器分配的IP地址看作是公网地址 然后测试虚拟机里的bitcoin的upnp开关是否能连。 就是不知道虚拟机的NAT支不支持UPNP,不像路由器一样可以直接看到啊。 会不会用三个路由器好点?
ryd994
2014-12-11 13:13:33 +08:00
不用nat,而是用私有网络(仅虚拟机到虚拟机的),三台中一台多加一张网卡装openwrt接nat做网关。做网关的那台就可以测试了。这个结构就和简单的路由器上网差不多了
lijun20020229
2014-12-11 13:24:55 +08:00
@ryd994 哦 明白了 把虚拟机当路由器用 但是好麻烦。如果我用3个路由器,1个路由器连接剩下2个,应该就是模拟平时的家用环境了吧
ryd994
2014-12-11 13:45:10 +08:00
@lijun20020229 这就是完全模拟,三个Linux不装gui消耗应该不大。用路由器的话其实和这差不多,谁让路由器固件大多基于Linux……但是用路由器的话你怎么跑程序呢?
lijun20020229
2014-12-11 13:51:26 +08:00
@ryd994 用两台电脑三个路由器... 看来两种方法都要学一下
ryd994
2014-12-11 14:09:03 +08:00
@lijun20020229 如果是这样的话两台电脑一个openwrt也能搞定,折腾一下防火墙,两台电脑分到两个zone里就行。
lijun20020229
2014-12-11 14:29:25 +08:00
@ryd994 谢谢 因为目前还没用过openwrt 所以先用路由器 然后再玩一下openwrt
lijun20020229
2014-12-11 14:57:34 +08:00
@ryd994 发现了一个简单的方法 测试bitcoin UPNP 在https://getaddr.bitnodes.io/里JOIN THE NETWORK填入外网的IP地址,他会检测你是否是一个完整的Bitcoin节点。我测试关闭UPNP后不可以连接显示unreachable.开启UPNP后可以并显示版本号。说明bitcoin确实只使用了UPNP穿NAT。由于网站的服务器应该没有在NAT后面,所有要测试两台都没有公网IP的还是要用路由器或者虚拟机装openwrt。顺便吐槽下节点好少啊。。比我想象中的少多了
lijun20020229
2014-12-11 14:58:56 +08:00
再补充一下,在网站里填的端口号要是路由器里的UPNP外部端口,这个应该都知道。

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

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

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

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

© 2021 V2EX