nat-ddns

内网穿透动态域名解析服务,简称NAT-DDNS(Network Address Translation- Dynamic Domain Name Server)。NAT-DDNS技术,是一种基于动态域名服务(DDNS)和网络地址转换(NAT)的服务器内外网动态映射方法。

工具介绍

  • Ngrok
  • SSH、autossh
  • Natapp
  • Frp
  • Lanproxy
  • Spike
  • 花生壳

Ngrok(推荐)

项目主页:https://ngrok.com/

项目介绍: 一个通过任何NAT或防火墙为您的本地主机服务器提供即时访问、安全的URL的命令。类似花生壳,分为服务端和客户端,也可以自己搭建服务端。

使用教程:https://dashboard.ngrok.com/get-started/setup

常见问题:

  1. vue-cli3项目,报错:“Invalid Host/Origin header”
    原因:新版的webpack-dev-server增加了安全验证,默认检查hostname,如果hostname不是配置内的,将中断访问。

解决方案:
根目录创建vue.config.js

1
2
3
4
5
module.exports = {
devServer: {
disableHostCheck: true,
}
}

Ssh

配合autossh工具使用,因为autossh会容错

项目主页:http://www.harding.motd.ca/autossh/

项目介绍:自动重新启动SSH会话和隧道。autossh是一个程序,用于启动ssh的副本并进行监控,在死亡或停止传输流量时根据需要重新启动它。 这个想法来自rstunnel(Reliable SSH Tunnel),但是在C中实现。作者的观点是,它不像匆匆忙忙的工作那么容易。使用端口转发环路或远程回显服务进行连接监视。在遇到连接拒绝等快速故障时,关闭连接尝试的速度。在OpenBSD,Linux,Solaris,Mac OS X,Cygwin和AIX上编译和测试; 应该在其他BSD上工作。免费软件。

参考资料:https://zhuanlan.zhihu.com/p/112227542

Natapp

项目主页:https://natapp.cn/

项目介绍:基于ngrok的国内收费内网穿透工具,类似花生壳,有免费版本,比花生壳好。免费版本:提供http,https,tcp全隧道穿透,随机域名/TCP端口,不定时强制更换域名/端口,自定义本地端口

Frp

项目主页:https://github.com/fatedier/frp

项目介绍:frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp, http, https 协议。利用处于内网或防火墙后的机器,对外网环境提供 http 或 https 服务。对于 http, https 服务支持基于域名的虚拟主机,支持自定义域名绑定,使多个域名可以共用一个80端口。利用处于内网或防火墙后的机器,对外网环境提供 tcp 和 udp 服务,例如在家里通过 ssh 访问处于公司内网环境内的主机。

Lanproxy

项目主页:https://github.com/ffay/lanproxy

项目介绍:lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面…)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。

Spike

项目主页:https://github.com/slince/spike

项目介绍:Spike是一个可以用来将你的内网服务暴露在公网的快速的反向代理,基于ReactPHP,采用IO多路复用模型。采用Php实现。

花生壳

项目主页:https://hsk.oray.com/

项目介绍:商业化比较成功的内网穿透。个人开发很不推荐,收费贵,企业可以考虑使用。


nat-ddns
http://example.com/20200908-nat-ddns/
作者
csorz
发布于
2020年9月8日
许可协议