内网穿透工具 - FRP

前言

内网穿透,也即 NAT 穿透,进行 NAT 穿透是为了使具有某一个特定源 IP 地址和源端口号的数据包不被 NAT 设备屏蔽而正确路由到内网主机。下面就相互通信的主机在网络中与 NAT 设备的相对位置介绍内网穿透方法。

按照我的理解通俗的说就是,一种工具能让外面的电脑访问到你自己本地某一台不固定IP的主机。


下载与安装

安装前准备

  1. 一台公网服务器
  2. FRP安装包下载链接
  3. 放开安全组或者对应的防火墙规则
  4. 域名(可有可无)

安装

FRP主要分两个角色服务端客户端,我们解压之后能看到frps.inifrpc.ini这两个文件分别对应的是服务端配置文件和客户端配置文件。

配置服务器文件

1
2
3
4
5
6
[common]
bind_port = 7070
vhost_http_port = 6060
dashboard_port = 9999
dashboard_user = admin
dashboard_pwd = *******

bind_port:表示frp服务启动的端口
dashboard_port:表示管理页面启动的端口
dashboard_user:登录管理界面的用户名
dashboard_pwd:登录管理界面的密码

启动服务端命令:

1
nohup ./frps -c ./frps.ini &

配置客户端文件

1
2
3
4
5
6
7
8
9
10
[common]
tls_enable = true
server_addr = 121.40.186.147
server_port = 7070

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 15050

server_addr:填写frp服务启动的地址
server_port:填写frp服务启动的端口
type:代理的协议类型
local_ip:代理的本地IP
local_port:代理的本地端口
remote_port:映射到服务器的端口

启动客户端命令

1
nohup ./frpc -c ./frpc.ini &

以上服务端和客户端都配置好了,我们只需要通过ssh连接121.40.186.147:15050地址就能直接连上我们的服务器了。

管理界面

1
2
3
4
5
[common]
....
dashboard_port = 9999
dashboard_user = admin
dashboard_pwd = *******

通过前面的配置我们已经可以通过9999端口访问我们的管理页面了,我们还可以配置上域名这样我们直接可以通过域名访问。

我们在阿里云域名解析里面,配置隐形url,地址指向我们的域名+端口即可。
二级域名

配置好之后访问url,看到下面这个页面就表示大功告成了。
frp