百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

FRP内网穿透搭建教程(frps 内网穿透)

haoteby 2025-05-10 22:00 22 浏览

一、FRP内网穿透工具

1、FRP简介:

frp 是一个开源项目, 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙内的机器上,通过访问暴露在服务器上的端口,

反向代理到处于内网的服务。 在此基础上,frp 支持 TCP, UDP, HTTP, HTTPS 等多种协议,提供了加密、压缩,身份认证,代理限速,负载均衡等众多能力。

协议类型

描述

tcp

单纯的TCP端口映射,服务端会根据不同的端口路由到不同的内网服务。

udp

单纯的UDP端口映射,服务端会根据不同的端口路由到不同的内网服务。

http

访问HTTP应用。

https

访问HTTPS应用。

stcp

安全的TCP内网代理,需要在被访问者和访问者的机器上都部署frpc,不需要在服务端暴露端口。

sudp

安全的UDP内网代理,需要在被访问者和访问者的机器上都部署frpc,不需要在服务端暴露端口。

xtcp

点对点内网穿透代理,功能同 stcp,但是流量不需要经过服务器中转。

tcpmux

支持服务端TCP端口的多路复用,通过同一个端口访问不同的内网服务。

2、FRP配置:

从本地外网机器获取到的公网ip无法使用,需购买云服务器,如购买阿里云、腾讯云服务器,将服务端部署到云服务器上,客户端部署到可以访问内外网的跳板机上;

2.1 服务器端配置frps.ini:(需要安装在外网机器上)

1、下载安装包
https://github.com/fatedier/frp/releases/tag/v0.37.1

2、解压安装包、并拷贝frps.exe 、frps.ini拷贝指定目录,windows下如C盘: C:\frp\ (方法windows、Linux版本都适用)

3、配置服务端frps.ini :(windows、Linux版本都适用)

[common]

bind_port = 7000 #frps服务端的端口

token = cjjs@88888888 #客户端连接服务端的密码

max_pool_count=20 #最大连接数

dashboard_port = 7500 #控制面板的服务端口,用于web页面查看所有客户端连接信息与状态

dashboard_user = admin #控制面板登录账户

dashboard_pwd = admin #控制面板登录密码

vhost_http_port = 80 #设置http端口

vhost_https_port = 443 #设置https端口

[可选]

log_level = debug #设置日志显示级别{debug, info, warn, error)

log_max_days = 5 #设置日志最大天数

privilege_mode = true #设置特权模式是否开启,开通后web,ssh等使用都可以直接在客户端设置

privilege_token = admin #设置特权模式token值

subdomain_host = abc.cn #设置动态二级域名

注:frps.ini文件可以使用默认配置直接启动就行,当然最好加个token,加强安全验证。

4、启动服务端:

(1)将文件frps.exe 、frps.ini拷贝至任意目录(C:\frps);

(2)启动frps服务: frps.exe -c frps.ini

2.2 客户端配置frpc.ini:(需要安装在可以同时访问内网外网的跳板机上)

1、将解压安装包中的frpc.exe 、frpc.ini拷贝指定目录;(windows、Linux版本都适用)

2、配置客户端frpc.ini :(windows、Linux版本都适用)

[common]

server_addr = 81.70.5.18 #frps服务端的公网IP(腾讯云服务器公网ip)

server_port = 7000 #frps服务端的端口

token = yydds@88888888 #连接frp服务端的密码

[ssh] #配置ssh服务

type=tcp

local_ip=10.199.108.11 #内网服务器ip

local_port=22 #内网服务器端口

remote_port=30000 #表示在 frps服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口,即22号端口

use_encryption=true #可选,表示是否加密

use_compression=false #可选,表示是否压缩

[RDP] #配置远程桌面

type=tcp

local_ip=10.41.71.128 #内网服务器ip

local_port=3389 #内网服务器端口

remote_port=30001 #表示在 frps服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口,即3389号端口

[http_proxyx]

type = tcp #通信数据类型

remote_port = 1080 #在frp服务端开设代理服务的端口

plugin = socks5 #通过插件开设socks5代理服务

#plugin_user = abc123 #通过插件设置连接代理的用户名

#plugin_passwd = abc123 #通过插件设置连接代理的密码

#user_compression=true

3、启动客户端:

frpc.exe -c frpc.ini

2.3 web配置

1、公网服务器,配置服务端frps.ini

[common]

bind_port = 7000 #frps服务端的端口

token = yydds@88888888 #客户端连接服务端的密码

vhost_http_port = 80 #http端口

vhost_https_port = 443 #https端口

2、内网跳板机,配置客户端frpc.ini

[common]

server_addr = 81.70.5.18 #frps服务端的公网IP(腾讯云服务器公网ip)

server_port = 7000 #frps服务端的端口

token = yydds@88888888 #连接frp服务端的密码

[web_http]

type = http

local_ip = 10.199.108.10 #内网服务器ip

local_port = 80 #内网网站使用的端口

remote_port = 30002 #表示在 frps服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口,即80号端口


[web_https]

type = http

local_ip = 10.199.108.10 #内网服务器ip

local_port = 443 #内网网站使用的端口

remote_port = 30003 #表示在 frps服务端监听的端口,访问此端口的流量将会被转发到本地服务对应的端口,即443号端口


4、重新启动frp服务:

1)重启frps: ./frps.exe -c frps.ini

2)重启frpc: ./frpc.exe -c frpc.ini

2.4 STCP配置

背景: frp的tcp模式相当于设备直接向公网暴露了一个tcp端口;任何设备都可以尝试连接这个端口,会有很大的安全风险;而stcp协议就是为解决这个安全问题;

限制特定设备能够使用这个端口。

1、公网服务器,配置服务端frps.ini

[common]

bind_port = 7000 #frps服务端的端口

token = yydds@88888888 #客户端连接服务端的密码


2、内网跳板机,配置客户端frpc.ini

[common]

server_addr = 81.70.5.18 #frps服务端的公网IP(腾讯云服务器公网ip)

server_port = 7000 #frps服务端的端口

token = cjjs@88888888

[rdp]

type = stcp

sk = abcdefg #只有sk一致的用户才能访问到此服务

local_ip = 127.0.0.1

local_port = 3389 #远程桌面的本地端口地址


3、本地电脑,配置客户端frpc.ini

[common]

server_addr = 81.70.5.18 #frps服务端的公网IP(腾讯云服务器公网ip)

server_port = 7000 #frps服务端的端口

token = cjjs@88888888

[rdp_visitor]

type = stcp

role = visitor #stcp的访问者

server_name = rdp #要访问stcp的代理名字

sk = abcdefg #只有sk一致的用户才能访问到此服务

bind_addr = 127.0.0.1 #绑定本地ip、端口,用于访问远程桌面服务

bind_port = 6000

4、在本地电脑打开远程桌面服务,输入127.0.0.1:6000,即可访问内网跳板机上的远程服务。

2.5 XTCP配置

XTCP 的配置方式和STCP很类似;但是会采用P2P的方式进行打洞穿透,如果成功,后续的流量将不会经过frps,而是直接通信,不再受到frps所在服务器的带宽限制。

1、公网服务器,配置服务端frps.ini

[common]

bind_port = 7000 #frps服务端的端口

token = cjjs@88888888 #客户端连接服务端的密码


2、内网跳板机,配置客户端frpc.ini

[common]

server_addr = 81.70.5.18 #frps服务端的公网IP(腾讯云服务器公网ip)

server_port = 7000 #frps服务端的端口

token = cjjs@88888888

[rdp]

type = xtcp

sk = abcdefg #只有sk一致的用户才能访问到此服务

local_ip = 127.0.0.1

local_port = 3389 #远程桌面的本地端口地址


3、本地电脑,配置客户端frpc.ini

[common]

server_addr = 81.70.5.18 #frps服务端的公网IP(腾讯云服务器公网ip)

server_port = 7000 #frps服务端的端口

token = cjjs@88888888

[rdp_visitor]

type = xtcp

role = visitor #stcp的访问者

server_name = rdp #要访问stcp的代理名字

sk = abcdefg #只有sk一致的用户才能访问到此服务

bind_addr = 127.0.0.1 #绑定本地ip、端口,用于访问远程桌面服务

bind_port = 6000

4、在本地电脑打开远程桌面服务,输入127.0.0.1:6000,即可访问内网跳板机上的远程服务。

3、各服务访问方式

(1)SSH访问方式:

ssh root@81.70.5.18 -p 30000 (mobaxterm 登录方式,30000为客户端映射的端口,81.70.5.18 为腾讯云服务器ip。

(2)RDP(远程桌面)访问方式:

win系统下打开远程桌面:输入81.70.5.18 :30001 #30001为客户端映射的端口,181.70.5.16 为腾讯云服务器ip。

(3)Web访问方式:

打开浏览器,输入 81.70.5.18 :30003 #30003为vhost_https_port映射的端口,即客户端配置的远程端口;

4、frp加入开机启动服务

1、frps加入开机启动服务

tar -zxvf frp.tar.gz -C ./

mkdir /etc/frp

cp frp_0.37.1_linux_386/frps /usr/bin/frps

cp frp_0.37.1_linux_386/frps.ini /etc/frp/frps.ini

cp frp_0.37.1_linux_386/systemd/frps.service /usr/lib/systemd/system/frps.service

systemctl status frps.service

systemctl start frps.service


2、frpc加入开机启动服务

tar -zxvf frp.tar.gz -C ./

mkdir /etc/frp

cp frp_0.37.1_linux_386/frpc /usr/bin/frpc

cp frp_0.37.1_linux_386/frpc.ini /etc/frp/frpc.ini

cp frp_0.37.1_linux_386/systemd/frpc.service /usr/lib/systemd/system/frpc.service

systemctl status frpc.service

systemctl start frpc.service

相关推荐

提高购票成功率!官方“捡漏神器”,收藏!

清明小长假火车票已全部开售您买好假期出行的车票了吗?如果还没有买到的话不妨试试官方“捡漏神器”铁路12306的候补购票功能候补购票说明每个用户同时可以保有6个待兑现候补订单;每个候补订单最多可选择3个...

手把手教你用官方“捡漏神器”!提高购票成功率的秘诀在这

清明小长假火车票已全部开售您买好假期出行的车票了吗?...

微信里隐藏一个免费存放照片的相册,不占手机内存,不会用太浪费

才发现,不知道太可惜了,手机里有个免费存放照片的相册,你知道吗?简单一学就会,可惜好多人不知道,这个相册有三大优点:一就是免费长期使用二就是不占手机内存三就是无限次的上传...

速存!2025 教资笔试报名照片上传规范细则

教资报名卡在照片环节?!照片不合规直接导致报名失败,务必按这5点:1.基本要求:近6个月内免冠正面证件照,清晰无遮挡!2.尺寸要求:295像素(宽)*413像素(高)3.大小要求:文件不能超过...

微信新功能:朋友圈支持图片、表情包评论

不知道大家是否还记得,在2019年12月期间微信朋友圈评论支持发送自定义表情包,这个当时我也为大家分享过,只不过该功能在上线后没多久就下线了,具体原因未知,但我个人猜测可能跟一些用户发送的图片...

全红婵更新抖音动态,上传12张照片,第一张就是妹妹戴眼镜的合照

全红婵都抖音动态终于更新了,一共上传十二张照片,第一张就是和妹妹一起游玩戴眼镜的合照,还有婵宝的美甲照片全红婵刚发的新照片炸出一堆粉丝!首图就是她和妹妹戴着3D眼镜,头靠头贴在一起,口罩都挡不住姐妹...

女人给你发照片是暗示了什么?读懂背后心意,把握情感信号

在日常交流中,女人突然发来照片,看似随意的举动,可能暗藏深意。了解这些照片背后的暗示,不仅能让你更懂她的想法,还能更好地把握彼此之间的情感走向。接下来,就为你解析女人发照片背后的多种潜在含义。一、分享...

微信朋友圈评论区迎来大更新:支持发图片和动图

最近,不少用户发现微信正在悄悄上线一个全新功能——...

有这个神器,插入500个员工照片只需1分钟

如下图,是一份模拟的员工档案表,需要根据A列的员工姓名,在C列插入对应的员工照片:...

上传模特和商品图片,就能自动合成带货展示视频!

上传一张模特照片,再上传一张产品照片,就可以直接生成这种AI数字人带货的展示视频。这就是微度最近上线的主体库功能。·只需要在微度里面找到参考生视频的功能,选择主体库,把自己常用的模特照片和商品图片上传...

微信朋友圈终于可以发图片评论了!这次是灰度测试,你中招了吗?

微信近期悄然上线了一项全新功能——朋友圈评论可发图片!尽管当下仅在部分iOS用户群体中开展测试,但已有不少用户开始尝鲜使用。该功能最早于2019年曾短暂亮相,后因审核方面的问题而被下线,如今再度回归大...

2025税务师报名照上传必看:详细要求+手机制作全攻略

一、2025年税务师考试报名时间网上报名时间:2025年5月6日-7月15日...

前端移动端上传图片pc端如何实时获取

在一个前后端分离的项目中,如果你希望前端移动端上传图片后,PC端能实时获取这张图片,通常有几种实现方式:一、使用轮询(简单但不是实时)PC端每隔几秒请求一次服务器,看是否有新图片。...

上传照片文件大小超过了规定的大小怎么办?一招教你搞定!

上传照片文件大小如果超过了规定大小怎么办?比如上传照片,首先原始图像的大小多大?把光标放在图片上面,可以直接显示大小是二百四十六,也可以选中图片按右键,属性也可以查看图像大小,属性里面也可以,但也可以...

用最简单的方法给手机照片添加文字!雷哥手把手教你2分钟搞定

用最简单的方法给手机照片添加文字!雷哥手把手教你2分钟搞定...