# 安装 frp 内网穿透客户端和服务端

需求分析:

目前有一台电脑在家里,一台电脑在公司,怎么用家里的电脑连接公司的电脑呢?

需要有一台公网的服务器作为中转,由这台公网服务器转发请求(服务端)。

# 1. 部署 frp 服务端

# 1.1 下载 frp 服务端部署文件

打开 frp 下载网站:https://github.com/fatedier/frp/releases (opens new window)

在 Assets 中下载

由于 frp 的服务端部署在 Linux 服务器上,所以选择 linux,而且是 64 位的操作系统,所以选择 amd64。

image-20220519051310243

# 1.2 上传和解压 frp 服务端部署文件

上传 .tar.gz 结尾的压缩包至目录 /usr/local

tar -zxvf frp_0.42.0_linux_amd64.tar.gz

# 1.3 修改 frp 服务端配置文件

cd frp_0.42.0_linux_amd64

修改里面的 frps.ini

[common]
# 运行 frp 服务的对外端口,给客户端连接用
bind_port = 50000
# frp 操作面板网站端口,用于显示连接状态以及代理统计信息展示
dashboard_port = 50002
# 访问操作面板的用户名
dashboard_user = admin
# 访问操作面板的密码
dashboard_pwd = admin123456
# 日志文件保存位置
log_file = ./frps.log
# 记录的日志级别
log_level = info
# 日志留存天数
log_max_days = 3
# 超时时间
authentication_timeout = 0
# 最大链接池,每个代理预先与后端服务器建立起指定数量的最大链接数
max_pool_count = 50

# 1.4 运行 frp 服务端

使用 frps.ini 配置文件启动 frps,并且在后台运行这个服务。

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

# 1.5 访问 frp 服务端页面

50002 是 dashboard_port

http://ip:50002

访问后会要求输入用户名和密码,即 dashboard_user 和 dashboard_pwd

访问之后看到这个界面就离成功不远啦~

image-20220519053016180

# 1.6 防火墙放行服务端端口

bind_port = 50000

dashboard_port = 50002

防火墙放行 50000 和 50002 端口。

# 2. 部署 frp 客户端

# 2.1 下载 frp 客户端

打开 frp 下载网站:https://github.com/fatedier/frp/releases (opens new window)

在 Assets 中下载

Windows 64 位操作系统,下载 _windows_amd64

image-20220519053140238

# 2.2 解压 frp 客户端

下载下来的是 zip 的,解压出来就可以了。

# 2.3 修改 frp 客户端配置文件

修改 frpc.ini

[common]
# 服务端公网 IP 地址
server_addr = 105.88.15.18
# 对应服务端的 bind_port
server_port = 50000

[rdp]
# 连接类型
type = tcp
# 本机 IP,使用默认的 127.0.0.1 即可
local_ip = 127.0.0.1
# 本地端口,使用默认的 3389 即可
local_port = 3389
# 远程端口,使用 frp 服务器上的哪个端口作为中转,由管理员统一为每个客户端分配指定的端口
remote_port = 50010

# 2.4 启动 frp 客户端

运行 run.bat,里面的脚本内容:

frpc.exe -c frpc.ini

# 2.5 防火墙放行 frp 客户端端口

remote_port = 50010

放行 50010 端口。

# 3. 远程连接 frp 客户端

# 3.1 打开远程连接工具

Windows 系统自带远程桌面连接工具,可以用这个连接 frp 客户端。

image-20220519054129757

# 3.2 输入 frp 客户端计算机名

打开远程连接工具后,会要求输入计算机名。

image-20220519055141075

计算机名格式为:公网服务器 IP 地址:frp 客户端端口号

比如,

公网服务器 IP 地址为:105.88.15.18

frp 客户端端口号:50010

则输入计算机名:105.88.15.18:50010

登录之后,要求输入用户名和密码,注意,这里是被连接 Windows 系统主机上设置的用户名和密码!!

image-20220519054637433

查看用户名的方法:

在 frp 客户端机器上打开命令提示符。

默认情况下,所在的目录为当前登录用户的目录。

如图所示,msi 即为该电脑的用户名。

image-20220519054752884

# 3.3 在 frp 服务端面板上查看连接

打开 Proxies,TCP,可以看到刚才的 frp 客户端出现在了这里。

image-20220519055432148

# FAQ

1、无法连接?

检查端口是否放行、配置是否正确。

# 写在最后

虽然现在有了很多远程连接工具(Teamviewer、ToDesk、向日葵等),但是那些画质跟直接用 Windows 系统自带的远程连接工具的完全不在一个级别上。如果有了 frp 再配上好的服务器以及大的带宽,和在自己电脑操作上没什么两样了。

参考资料:

使用frp配置内网访问(穿透)教程(超详细,简单) (opens new window)

frp搭建与使用详细教程 (opens new window)

十分钟教你配置frp实现内网穿透 (opens new window)