frp内网穿透功能使用教程

frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。

文档地址:https://gofrp.org/zh-cn/docs/concepts/

github仓库地址:https://github.com/fatedier/frp/releases

一、需要准备的东西

一个域名(将域名解析到公网服务器上),

一台可以公网访问的Linux服务器(需要用到的端口需要开放安全组或者防火墙)

一台可联网的Windows电脑

二、安装frp服务端

1、下载安装包

bash 复制代码
wget https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_linux_amd64.tar.gz

2、解压

bash 复制代码
tar -zxvf frp_0.60.0_linux_amd64.tar.gz

3、修改frpc.tom文件

bash 复制代码
vim frpc.toml
bash 复制代码
bindAddr = "0.0.0.0"  # 服务器绑定的地址,"0.0.0.0"表示监听所有网络接口
bindPort = 7100       # 服务器绑定的端口号
kcpBindPort = 7100    # KCP协议使用的绑定端口号

webServer.addr = "0.0.0.0"  # Web服务器绑定的地址
webServer.port = 7500       # Web服务器的端口号
webServer.user = "frps" # Web服务器登录用户名
webServer.password = "123456" # Web服务器登录密码

log.to = "/frpslog/frps.log" # 日志文件的存储路径
log.level = "info"           # 日志记录的级别,"info"表示记录信息级别的日志
log.maxDays = 3              # 日志保留的天数

auth.method = "token"        # 认证方法,使用令牌认证
auth.token = "testtoken"     # 认证使用的令牌

allowPorts = [               # 允许的端口范围
    { start = 6000, end = 7000 }, # 允许的端口从6000到7000
]

4、创建 frps.service

bash 复制代码
sudo vim /etc/systemd/system/frps.service
bash 复制代码
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /root/app/frp_0.60.0_linux_amd64/frps -c /root/app/frp_0.60.0_linux_amd64/frps.toml

[Install]
WantedBy = multi-user.target

5、设置 frps 开机自启动

bash 复制代码
sudo systemctl enable frps

6、 启动frps服务

bash 复制代码
sudo systemctl start frps

然后通过配置的7500web端口访问管理界面

三、搭建frp客户端

客户端我们使用的是Windows版本的,下载安装包:
https://github.com/fatedier/frp/releases/download/v0.60.0/frp_0.60.0_windows_amd64.zip

1、修改frpc.toml配置文件

bash 复制代码
serverAddr = "你的公网IPD地址"  # FRP 服务器的 IP 地址
serverPort = 7100             # FRP 服务器监听的端口

log.to = "/frpslog/frpc.log"  # 日志文件的存储路径
log.level = "info"            # 日志记录的级别
log.maxDays = 3               # 日志保留的天数

auth.method = "token"         # 认证方法,使用令牌认证
auth.token = "testtoken"      # 认证使用的令牌

[[proxies]]
name = "test-tcp"             # 代理的名称
type = "tcp"                  # 代理的类型
localIP = "127.0.0.1"         # 本地服务的 IP 地址
localPort = 8080              # 本地服务的端口
remotePort = 8080             # 远程服务器上开放的端口

2、启动frpc服务

frpc只能通过命令行方式启动,不能直接双击启动。打开cmd 执行以下语句

如果提示拒绝访问,这个是因为Windows默认将frp当做病毒给拦截了,需要配置白名单目录。

bash 复制代码
frpc.exe -c frpc.toml

四、测试访问

回到web端口,可以看到客户端已经上线。

然后我们通过公网IP访问8080端口即可访问到本地的tomcat服务。

如果你需要保持客户端一直在线,可以将客户端注册为本地服务器进行启动。

相关推荐
承渊政道3 天前
极空间部署Portainer实战:Docker Socket、9000端口、容器管理与固定地址访问
运维·docker·容器·内网穿透·cpolar·portainer
SoStraw3 天前
没有公网IP怎么远程SSH?设备只装 p2pssh-server,File2File 一键连回去
ssh·内网穿透·远程ssh·webrpc·无公网ip·file2file·p2pssh
cpolar技术支持4 天前
把配置发出去怕带出密钥?先把含凭据配置转成脱敏只读快照,用 cpolar 给同事核对差异
运维·python·内网穿透·cpolar·配置脱敏
cpolar技术支持4 天前
端口被谁占了、这台机上开了哪些监听?本机起一个端口占用只读清单,cpolar 给异地同事远程看谁在监听
运维·python·内网穿透·cpolar·端口占用
todoitbo6 天前
本来只想给内网开个口子,Natapp 却多给了一道防护
前端·javascript·vue.js·内网穿透·网络防护·natapp
ZeroNews内网穿透8 天前
内网穿透公网暴露防护:边缘网关 IP 黑白名单运维实践
运维·网络协议·tcp/ip·内网穿透·api安全·企业网络安全·运维实践
云泽8088 天前
ESXi+飞牛NAS实战:N5105小主机一机多用还能远程管理
esxi·虚拟化·内网穿透·小主机·飞牛nas·n5105
cpolar技术支持9 天前
第三方平台回调总说收不到?把本机 Webhook 收单页跑通,用 cpolar 固定二级子域名给对面看实时请求
node.js·内网穿透·webhook·cpolar·回调对接
承渊政道10 天前
CentOS 7单机部署Elasticsearch 7.17.29:从启动报错、CRUD验证到固定公网地址的完整过程
linux·elasticsearch·centos·内网穿透·cpolar·单机部署
ZeroNews内网穿透12 天前
数据存在本地:基于边缘隧道与 E2E TLS 的受控文件共享架构实践
远程工作·内网穿透·oa系统