一、frp 简介
frp 是一个高性能的反向代理组件,能够帮助位于内网的客户端通过服务端与外部网络进行通信,实现端口映射等功能,广泛应用于远程访问内网服务、搭建穿透网络环境等场景。
# 软件下载地址github
https://github.com/fatedier/frp
本教程文章提供的frp软件:
- 客户端软件包:
- 服务端软件包:
环境需求:
- 需要一台带公网服务器作为流量中转转发
二、frp 客户端(frpc.ini)配置详解
以下为客户端配置:
# [common] 部分是客户端的通用配置,包含连接服务端所需的基本信息
# [common] 部分是客户端的通用配置,包含连接服务端所需的基本信息
[common]
# server_addr 用于指定 frp 服务端的地址,这里使用的是域名 haoshuaicong.icu,
# 客户端将通过该地址尝试连接到服务端
server_addr = haoshuaicong.icu
# server_port 定义了客户端连接服务端时使用的端口号,
# 必须和服务端配置文件中的 bind_port 保持一致,这里是 7000
server_port = 7000
# tls_enable 用于开启 TLS 加密,设置为 true 表示在客户端和服务端之间的通信将使用 TLS 加密,
# 以提高通信的安全性
tls_enable = true
# [amyytcc_ssh] 是一个自定义的代理名称,用于标识这组特定的代理配置
[amyytcc_ssh]
# type 指定了代理的类型,这里使用 tcp 表示 TCP 代理,
# 意味着客户端和服务端之间将建立 TCP 连接来转发数据
type = tcp
# local_ip 表示本地服务的 IP 地址,127.0.0.1 是本地回环地址,
# 表示客户端将转发本地机器上运行的服务
local_ip = 127.0.0.1
# local_port 定义了本地服务监听的端口号,这里是 22,通常是 SSH 服务的默认端口,
# 表示要转发的本地服务是 SSH 服务
local_port = 22
# remote_port 是服务端为该代理分配的远程端口号,外部客户端可以通过服务端的 IP 地址和该端口号
# 来访问本地的 SSH 服务,这里设置为 11012
remote_port = 20001
[common]
server_addr = haoshuaicong.icu
server_port = 7000
tls_enable = true
[amyytcc_ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 20001
三、frp 服务端(frps.ini)配置详解
以下为服务端(带公网ip的服务器,流量中转)配置文件:
# [common] 部分是服务端的通用配置,包含服务端监听和运行所需的基本信息
# [common] 部分是服务端的通用配置,包含服务端监听和运行所需的基本信息
[common]
# bind_addr 用于指定服务端监听的网络接口地址,0.0.0.0 表示监听所有可用的网络接口,
# 即服务端可以接受来自任何网络接口的连接请求
# 监听地址,一般用 0.0.0.0 表示监听所有可用网络接口
bind_addr = 0.0.0.0
# bind_port 定义了服务端监听的端口号,客户端需要通过该端口与服务端建立连接,
# 必须和客户端配置文件中的 server_port 保持一致,这里是 7000
# 服务端监听的端口,需和客户端配置中的 server_port 一致
bind_port = 7000
# tls_enable 用于开启 TLS 加密,设置为 true 表示服务端将使用 TLS 加密与客户端的通信,
# 与客户端的 tls_enable 对应,确保双方都使用加密通信
# 开启 TLS,与客户端的 tls_enable 对应
tls_enable = true
# vhost_tcp_port_start 和 vhost_tcp_port_end 定义了允许用户使用的 TCP 端口范围,
# 客户端在配置远程端口时,其值必须在这个范围内,这里允许的端口范围是从 20000 到 20010
# 包含了客户端映射的远程端口 20001
# 允许用户使用的端口范围(这里包含了客户端映射的远程端口 20001)
vhost_tcp_port_start = 20000
vhost_tcp_port_end = 20010
[common]
bind_addr = 0.0.0.0
bind_port = 7000
tls_enable = true
vhost_tcp_port_start = 20000
vhost_tcp_port_end = 20010
四、frp 启动方法
# 服务端启动命令
nohup /root/frp_kehuduan/frpc -c frpc.ini &
# 客户端启动命令
nohup /root/frp_fuwuduan/frps -c frps.ini &
五、连接测试访问
如果暴露的是80,浏览器访问
如果暴露22端口,连接测试
其他端口,测试方法不限
六、注意事项
# 域名配置
域名 haoshuaicong.icu
# frp 端口配置
frp 端口为 7000
# 可用端口范围
可用端口为 20000-20010,需要到阿里云安全组开放端口
# 配置文件修改
按需要配置文件 frpc.ini
七、总结
frp 是一个强大的内网穿透工具,通过合理配置客户端和服务端的配置文件,可以实现多种网络穿透需求。在使用过程中,要注意保持客户端和服务端配置的一致性,特别是端口号等关键参数,并根据实际需求调整可用端口范围等设置,同时注意网络安全和端口开放等事项,以确保 frp 的稳定和安全运行。
ToDesk设备代码:934 569 307
hN3-xB1%bE1!nQ6= LAPTOP-VIIPOS00
LAPTOP-VTIPOSO0