V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lupino
V2EX  ›  分享发现

穿透自家的路由器,端口转发工具 hole 发布

  •  
  •   lupino · 2015-06-26 23:33:53 +08:00 · 6169 次点击
    这是一个创建于 3444 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在其他地方想要访问家里的 raspberry pi, 通常是要在路由器上设置端口转发,然后绑定个动态域名。万一这个路由器不是自己的,自己没有任何权限,这样子旧束手无策了。

    不过也是有解决方案的,用 ssh 的端口转发 ssh -CfNgR remote-port:localhost:local-port user@remote

    hole 是另一种解决方案,通过 hole 你可以把 raspberry pi(其他机器也是可以的) 的任何端口转发到公网服务器上面去,这样子你就可以通过访问公网的 服务器来访问家里的服务了。

    详见: https://github.com/Lupino/hole

    第 1 条附言  ·  2015-06-27 11:35:19 +08:00
    hole 现在支持 tcp tcp6 udp udp6 和 unix socket
    24 条回复    2016-06-03 17:12:39 +08:00
    iskyzh
        1
    iskyzh  
       2015-06-26 23:42:12 +08:00
    = = 所以 Hole 需要公网服务器,并且 Raspberry Pi 向公网服务器建立持久连接,这样想要访问 Raspberry Pi 就只要连接到公网服务器上了……
    这么说起来还有种解决方案是 Upnp……只要路由器开启这个功能,就可以通过 Upnp 端口映射在公网上开个端口(可以指定端口),只要能够知道 Raspberry Pi 所在公网 ip 就可以访问了 = =
    怎么看起来 Hole 和 Shadowsocks 都十分类似……
    LeoQ
        2
    LeoQ  
       2015-06-27 00:00:29 +08:00 via Android
    有需要,已书签
    lupino
        3
    lupino  
    OP
       2015-06-27 00:00:47 +08:00
    @iskyzh Upnp 还未了解过,现在的情况是无法获取路由器的任何权限,所以路由器上的端口映射旧无从谈起了。
    hardware
        4
    hardware  
       2015-06-27 00:42:01 +08:00
    upnp不需要什么权限啊 只要默认开启的就行
    我原来这功能用的是vpn做的 主要是因为在学校局域网内没法得到外网ip
    zonghua
        5
    zonghua  
       2015-06-27 01:02:14 +08:00 via iPhone
    真的吗,花生壳是什么原理,有时候很慢
    des
        6
    des  
       2015-06-27 08:04:42 +08:00
    你在说ngrok?
    hiboshi
        8
    hiboshi  
       2015-06-27 09:35:24 +08:00
    你说的是p2p打洞吧,利用公网一台机器来打动 和n2n类似
    qgy18
        9
    qgy18  
       2015-06-27 10:31:12 +08:00 via iPhone
    我一直是用自己搭建的 ngrok 服务。它支持 HTTP(TCP)转发。
    https://www.imququ.com/post/self-hosted-ngrokd.html
    lupino
        10
    lupino  
    OP
       2015-06-27 10:55:45 +08:00
    @qgy18 这个不错哦
    zhoujianqingz
        11
    zhoujianqingz  
       2015-06-27 12:25:16 +08:00 via iPhone
    感谢!正好需要
    giuem
        12
    giuem  
       2015-06-27 12:26:49 +08:00 via Android
    我的 pi 在第二层局域网,不知道可不可以

    路由器->路由器->raspberry pi
    lupino
        13
    lupino  
    OP
       2015-06-27 12:51:43 +08:00
    @giuem 可以的,我现在也是这种情况
    kiritoalex
        14
    kiritoalex  
       2015-06-27 12:54:27 +08:00
    这个东东需要局域网内主机和外网主机有良好的连通性才行,不然隧道会失效,考虑到这个问题,可以上CDN来静态缓存一下
    facat
        15
    facat  
       2015-06-27 14:23:45 +08:00
    这个和ngrok不是一样吗?
    lalalakakaka
        16
    lalalakakaka  
       2015-06-27 14:55:46 +08:00
    记得socat也不错
    lupino
        17
    lupino  
    OP
       2015-06-27 17:31:11 +08:00
    @lalalakakaka 赞,socat 也是个好东西
    lupino
        18
    lupino  
    OP
       2015-06-27 17:31:52 +08:00
    @facat 不一样,支持更多的协议
    sarices
        19
    sarices  
       2015-06-27 17:42:23 +08:00
    有外网主机,直接用autossh
    lupino
        20
    lupino  
    OP
       2015-06-27 17:55:32 +08:00
    @sarices 这也是一个好方法
    iskyzh
        21
    iskyzh  
       2015-06-28 16:32:10 +08:00
    @lupino Upnp 是可以不需要权限就映射端口。只要路由器开启 Upnp 就行。
    la0wei
        22
    la0wei  
       2015-06-29 10:53:33 +08:00
    @qgy18 有编译好的适用于mtk7260n,openwrt的ngrok-c吗?
    zonghua
        23
    zonghua  
       2015-07-04 01:14:37 +08:00 via iPhone
    @lupino 我看到有pi的telegram客户端,可以相互发消息,感觉更易用方便
    Themyth
        24
    Themyth  
       2016-06-03 17:12:39 +08:00
    @lupino 有联系方式么?马化腾 410733 有问题想跟楼主探讨。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2676 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 05:12 · PVG 13:12 · LAX 21:12 · JFK 00:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.