使用FRP实现内网穿透

使用FRP实现内网穿透

准备条件

(1)一台具有公网IP的服务器,在腾讯云,阿里云或者华为云等云服务商处购买,双十一一般会有活动,但是最近经济不太景气,云服务价格没有太大的优惠,我当时购买的是腾讯云的轻量应用服务器,新用户只需要198就可以购买三年的服务器,可以说是相当划算了。(需要在服务器管理的防火墙设置里放行需要的端口)
(2)frp软件
点击链接可进入软件下载列表,一般选择最近的发行版前一个版本即可,截止2022.21.04日发行版本是0.45.0,于是我选择0.44.0版本。
使用FRP实现内网穿透_第1张图片
按照对应的系统下载对应的文件,需要注意的是,服务端和客户端的软件版本需要保持一致。
使用FRP实现内网穿透_第2张图片
上图是frp软件的文件列表,不管是哪个系统版本的软件均存在以上几个文件,其中frpc和frps分别是客户端和服务端的二进制文件,不需要进行任何修改,需要修改的是frpc.ini和frps.ini两个文件。

服务端设置

将frps.ini修改成如下:

[common]
bind_port = 7000#用于frp服务客户端和服务端通讯的端口,需要再服务器防火墙设置里面放行该端口,例如:7000。
auto_token = Ba9SI3do718tCwu67V0qk4l5iNG6sAm1DJYzUO8TZxF9y6c52g0K4XLRQfjeW4bn #用于加密的token 可以使用强密码生成器(http://www.wetools.com/password-generator)生成一个64位强密码。例如:Ba9SI3do718tCwu67V0qk4l5iNG6sAm1DJYzUO8TZxF9y6c52g0K4XLRQfjeW4bn。
dashboard_port = 7001#用于frp服务管理端口,需要在服务器防火墙设置里面放行该端口,例如:7001。
dashboard_user = user#frp服务管理用户名。
dashboard_pwd = password#frp服务管理密码。

一般服务端建议使用linux服务器,比较稳定,将上述配置修改好之后,可以运行以下命令将该服务后台运行:

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

客户端设置

将frpc.ini修改成如下:

[common]
server_addr = 1.1.1.1 #服务器公网ip,例如1.1.1.1
server_port = 7000 #用于frp服务客户端和服务端通讯的端口,需要再服务器防火墙设置里面放行该端口,例如:7000,需要与服务端bind_port保持一致。
auto_token = Ba9SI3do718tCwu67V0qk4l5iNG6sAm1DJYzUO8TZxF9y6c52g0K4XLRQfjeW4bn #用于加密的token 可以使用强密码生成器(http://www.wetools.com/password-generator)生成一个64位强密码。例如:Ba9SI3do718tCwu67V0qk4l5iNG6sAm1DJYzUO8TZxF9y6c52g0K4XLRQfjeW4bn,需要与服务端auto_token保持一致。
#以下为内网穿透客户端7002端口到服务端7003端口的实例。如果有多个内网穿透设置,只需要将以下内容复制多次接到文件后面即可。
[7003_to_7003]#内穿穿透的连接名称,可以自定义,如ssh。
type = tcp#链接协议类型,如tcp,http等,具体需要依据穿透的服务进行设置。
local_ip = 127.0.0.1#本地ip,一般是127.0.0.1
local_port = 7002#本地连接的端口,如内网穿透ssh远程连接,就是22端口,Windows远程桌面是3389端口,具体的需要根据服务类型进行设置。
remote_port = 7003#用于frp服务客户端和服务端通讯的端口,需要再服务器防火墙设置里面放行该端口,例如:7000,这个端口不能与服务端bind_port设置成同一个,且每一个内网穿透均需要单独设置一个remote_port。

如果客户端是linux系统的话,可以运行以下命令让其在后台自动运行:

nohup ./frpc -c frpc.ini > ./frpc.log &

如果是Windows系统的话,可以参考使用frp内网穿透Windows远程桌面示例。

参考文献

[1] 内网穿透百度百科 https://baike.baidu.com/item/%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/8597835
[2] 什么是内网穿透?内网穿透有什么用?https://hsk.oray.com/news/7244.html
[3] FRP介绍 https://github.com/fatedier/frp/blob/dev/README_zh.md
[4] 反向代理百度百科 https://baike.baidu.com/item/%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/7793488
[5] FRP内网穿透Windows远程桌面 https://www.cnblogs.com/ingxx/p/12255241.html

你可能感兴趣的:(服务器,运维,linux)