如何进行内网穿透
什么是内网穿透
百度百科:内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。
维基百科:在电脑科学中,NAT穿越(NAT traversal)涉及 TCP/IP 网络中的一个常见问题,即在处于使用了NAT装置的私有 TCP/IP 网络中的主机之间建立连接的问题。
我的理解:内网穿透其实就是把局域网内的资源或服务映射到公网,从而达到通过互联网访问内网的效果。
根据我的理解,可以做出如下图:
因为内网穿透服务器是暴露在互联网(公网)的,所以它必须拥有公网IP地址。用户服务器既可以是公司内部的服务器集群,也可以是PC个人电脑。
一些常见的内网穿透工具的使用
Ngrok
ngrok是一款非常便捷简单的内网穿透工具。内网穿透服务器由他们来提供,我们只需要指定要穿透的端口即可实现一键内网穿透
下载安装
- 从官方下载地址下载对应版本的ngrok
- 下载好后进行解压,会得到如下文件(先别急着运行)
- 注册一个账号,注册地址:https://dashboard.ngrok.com/get-started/setup
- 登录,查看自己的token
- 在刚刚文件的解压目录下打开cmd窗口
至此,安装配置完成
使用
在刚刚文件的解压目录下打开cmd窗口,输入ngrok http [要穿透的端口号]
回车即可
红框圈住的即为穿透后的地址,通过互联网就可以访问。需要注意的是,免费版的分配的域名地址是随机的,每次穿透可能结果都不一样。
Frp
Frp是GitHub上的一个开源项目,使用go语言编写,速度很快,支持点对点内网穿透,功能非常强大
先决条件
- 一台具有公网IP的服务器
- 知道一丁点Linux相关知识
下载
在Release v0.43.0 · fatedier/frp · GitHub下载对应版本的Frp。内网穿透服务器和本机服务器都要由一份。
使用frp实现http内网穿透
为了方面描述,内网穿透服务器简称为服务器,要穿透的本机服务器简称为本机
- 服务器端配置
- 打开服务器端 frps.ini 配置文件,修改如下
1 | [common] |
- 放行 7000 端口和 8080 端口
- 运行命令
1 | ./frps -c frps.ini |
- 本机配置
- 打开本机 frpc.ini 配置文件,修改如下
1 | [common] |
- 运行命令
1 | ./frpc.exe -c ./frpc.ini |
访问 域名.8080 即可看到本机的4000端口对应的资源/服务
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 披萨盒的赛博日志!
评论