内网穿透详解
老规矩先上官方地址
GitHub - ehang-io/nps: 一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。a lightweight, high-performance, powerful intranet penetration proxy server, with a powerful web management terminal.
一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发,可用来访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析、内网socks5代理等等……,并带有功能强大的web管理端。a lightweight, high-performance, powerful intranet penetration proxy serv…
官方文档:https://ehang-io.github.io/nps/
官方也是支持Windows/Linux/Arm等平台,虽然已经停更了,但是我实际也用了一两年,非常稳定。
官方文档过于清晰简单所以基本安装不赘述,以下记录一些常见问题。
服务端:1、如果需要使用p2p协议把服务端当作一个握手服务的话,首先在保证两端网络环境(nat等级),其次服务端需要端口全开提供打洞服务才可以提供最快的P2P握手。双方网络nat等级越高越容易握手成功,如果握手失败,则所有流量会通过服务端中转。nat1>nat2>nat3>nat4,实际测试电信和联通家用宽带运营商提供的默认nat等级最高,基本可以优化到nat1,但是移动基本是nat4至少湖南大部分地区是这样。常见提升家用宽带nat等级的方法:光猫改桥接、路由器拨号、直接问运营商要公网IP(nat0)。
客户端:1、安装时需要使用管理员权限打开cmd。
NPS可以实现什么呢?
1、家中部署的服务通过公网访问,比如家里电脑部署了一个http网页,则可以通过http代理后在外面通过公网直接访问服务。
2、直接远程家里主机,大家都知道我们如果想远程一台Windows电脑只需要使用远程桌面输入电脑ip、账号、密码即可。但是我们如果不在家,想远程家里电脑,IP输什么呢,这就可以使用nps将内网电脑的3389端口代理到公网的一个端口,这时只需要我们使用服务器IP加端口即可在外访问家里电脑。
3、简单的说,你只要了解你想代理的服务属于什么类型,几乎所有服务都可以通过服务器IP代理到公网实现远程访问,原理类似于医院的堡垒机和VPN。