java反向代理开源_树莓派反向代理方法大全

c3d8b7abf18c7d5453bc8658b452b4d2.png

在用树莓派搭建自有服务的过程中,比如 NAS,经常会遇到 反向代理 这个词。通俗而言,就是让你能用 4G 网络连接到家里正连着路由器的树莓派。

反向代理技术有很多种,常见的有端口映射、端口转发和端到端穿透。

端口映射,即静态地址转换,将内网地址与公网地址进行一对一的转换,且每个内部地址的转换都是确定的。路由器的虚拟服务器就是静态 NAT 的应用之一。

端口转发,即通过其他服务器代理转发请求给内网地址。端口转发都需要一个公网 IP 服务器,如果自己没有的话,就只能找第三方提供的服务了。

端到端穿透。利用 UDP 或 TCP 打洞技术,在两台机器上建立直接的网络连接,即端到端连接(Peer 2 Peer)。一旦穿透成功,就可以不限速访问,比较适用于视频摄像等大流量应用。但是受国内网络复杂环境影响,穿透成功率也不是百分百的,特别是跨网络运营商时。

端到端穿透的原理比较复杂,这里不展开介绍了。有兴趣的可以直接翻看文章最后面的“参考资料”。

这篇文章收集了时下流行的能用于树莓派的反向代理方案,有的需要自己架设服务器,有的需要购买服务,还有些是免费的,但通常体验不好或者有流量限制。

方案没有十全十美,只有最适合的,还是要根据自己的实际情况选用。

路由器端口映射

f4779faae1c733f243538614b9dfe0ea.png

“路由器端口映射”是最简单的一种方案,有些路由器上叫“虚拟服务器”,说的都是同一个技术。它优点和缺点都很明显,没有其他费用,有路由器即可,配置简单,无流量带宽限制,但路由器自身要有公网 IP,公网 IP 经常变的话还要借助 DDNS(动态域名解析)来保证穿透稳定。

要注意的是,国内某些宽带运营商分配给用户路由器的 IP 可能并不是公网 IP,而是某个更大局域网的内网 IP。如果你的路由器没有公网 IP,就不能用端口映射来做了。

如何判断自己外网 IP 是否为真实公网 IP,以及解决方案 - lclc - 博客园

操作教程:

  • 路由器端口转发、DMZ 和 UPnP 实现内网穿透的方法 - 玩个机吧
  • 路由器虚拟服务器(端口映射)设置指导 - TP-LINK 服务支持

花生壳(端口转发)

23edd7e096c7994c1d36d03cd1cd200b.png

商业内网穿透软件,成熟稳定,体验版免费,但有带宽和流量限制,不适合 NAS 等场景,增加带宽和流量需要收费,固定外网端口要收费。

操作教程:

  • 花生壳 3.0 for 树莓派 安装使用攻略 - 客服中心 - Oray
  • liunx 树莓派 3 ubuntu-mate 花生壳 ssh 端口映射 - 知乎

ssh 反向隧道(端口转发)

0e457553d41abb0828e618f91a00c083.png

ssh 反向隧道是一个典型的反向代理应用,只要有 ssh 客户端就能完成内网穿透。但它需要一台公网服务器做跳板机,而且相对不够稳定,要搭配 autossh 做断线重连。

操作教程:

  • SSH反向隧道进行内网穿透运维 黑礼服丶弑魂-CSDN博客
  • SSH反向隧道搭建过程 | 静觅
  • 利用SSH反向隧道,连接内网服务器 - felixnet - 博客园

Holer(端口转发)

eaf0624db219493d6faea1f91fde1d72.png

Holer 是一个 Java 编写的开源内网穿透软件。服务端由 Spring Boot 和 Netty 等开源框架实现,使用 MySQL 数据库统一管理数据,支持跨平台。客户端有 Java 和 Go 两种语言版本。

操作教程:

  • wisdom-projects/holer-client: Holer Client
  • wisdom-projects/holer: Holer exposes local servers behind NATs and firewalls to the public internet over secure tunnels.
  • Holer 服务端软件使用 - 千里驹 - 博客园
  • 使用 holer 从公网 ssh 登录树莓派 - Wisdom Blog

ngrok(端口转发)

7e3e2745f2703ce08469306407e87417.png

ngrok 是一个开源的内网穿透软件,诞生至今已经 7 年了,在国外有官网和服务器。不过 ngrok 只开源了 1.7 及以下的版本,2.0 版本往后已经闭源。

操作教程:

  • inconshreveable/ngrok: Introspected tunnels to localhost
  • ngrok - secure introspectable tunnels to localhost

frp(端口转发)

一个使用 Go 开发的高性能开源反向代理应用,支持转发 TCP、UDP、HTTP、HTTPS 协议,还支持 P2P 连接模式。功能强大,高性能,但要自己架设服务端安装。

操作教程:

  • fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
  • 树莓派使用 frp 实现内网穿透 | 树莓派小无相系列 - 简书
  • 树莓派折腾记: 使用 FRP 穿透内网 | 美丽应用

n2n(端到端穿透)

在数据链路层实现的一套开源 P2P 内网穿透软件。

操作教程:

  • n2n 内网穿透折腾记 - 知乎
  • 搜集整理N2N使用中的一些经验 | 好运博客
  • ntop/n2n: Peer-to-peer VPN

PeerVPN(端到端穿透)

500133255d92f43b13b1e6a961a7e2fc.png

开源的去中心化 VPN 软件,使用网状拓扑逻辑结构,所有节点彼此之间互联,无需中央服务器,任何一个节点宕机并不影响其他机器的相互通讯。

操作教程:

  • PeerVPN - the open source peer-to-peer VPN

ZeroTier(端到端穿透)

ef7795ed75c7530313518a04e12405ca.png

基于 P2P 穿透的去中心化开源 VPN 软件,能安装在几乎任何平台。官方还提供了免费的 P2P 根服务器。

操作教程:

  • ZeroTier – Global Area Networking
  • ZeroTier内网穿透教程 | 底噪
  • 内网穿透工具——ZeroTier One的使用 - 简书
  • ZeroTier - 无配置,零基础「内网穿透」随时随地连回家/学校/办公室

goproxy(端到端穿透)

一个用 Go 编写的开源内网穿透软件。

Proxy是高性能全功能的http代理、https代理、socks5代理、内网穿透、内网穿透p2p、内网穿透代理、内网穿透反向代理、内网穿透服务器、Websocket代理、TCP代理、UDP代理、DNS代理、DNS加密代理,代理API认证,全能跨平台代理服务器。

操作教程:

  • GOPROXY IN ACTION
  • goproxy/README_ZH.md at master · snail007/goproxy
  • snail007/goproxy

Serveo(端口转发)

Serveo 是一个免费的内网穿透服务,Serveo 可以将本地计算机暴露在互联网上,官方声称其为 Ngrok 的绝佳替代品。Serveo 其最大优点是使用现有的 SSH 客户端,无需安装任何客户端软件,即可完成端口转发。

操作教程:

  • milio48/serveo: Serveo port forwarder, ngrok alternative
  • Serveo: expose local servers to the internet using SSH

natapp(端口转发)

fb126d85adfad080874618b7013d6164.png

基于 ngrok 的国内内网穿透服务,免费版会强制更换域名,临时用一下可以,更多功能需要付费使用。

操作教程:

  • NATAPP基于ngrok的国内高速内网穿透服务

ChuanTou.ORG(端口转发)

084754edd24d731658426069d6689e04.png

基于 frp 的国内内网穿透服务,提供免费的 frp 服务器。

操作教程:

  • FRP 内网穿透工具 - 免费 Frp 内网穿透服务器,支持绑定顶级域名,开放 80 端口。

小米球 ngrok(端口转发)

d01127d72ff4dd0b5fb588afaeed7468.png

一个个人维护的 ngrok 免费服务器。

操作教程:

  • Ngrok 国内免费服务器 - 小米球 ngrok

nps(端口转发)

46d178ee1a0e6d07c6e40843f2b35a3f.png

一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。

操作教程:

  • ehang-io/nps
  • NPS 内网穿透教程 / 入门+进阶 / 一个孤单的铜离子
  • NPS-轻量级内网穿透代理服务器 - Newlearnerの小站

lanproxy(端口转发)

926cf98f4c128b2c6120c1f61e3a04d7.png

lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)

操作教程:

  • ffay/lanproxy
  • IO2C - 开源内网穿透工具

参考资料

  • P2P技术详解(三):P2P中的NAT穿越(打洞)方案详解(进阶分析篇) - 知乎
  • P2P如何实现内网穿透(打洞)_网络_u014023993的专栏-CSDN博客
  • p2p通信原理及实现_网络_yunlianglinfeng的专栏-CSDN博客
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值