oimi分享美好数字生活 oimi分享美好数字生活
  • 首页
  • Lab
  • Apple
  • 生活方式
  • 硬件
首页 › Lab › frp专注于内网穿透的反向代理应用,部署使用实战教程

frp专注于内网穿透的反向代理应用,部署使用实战教程

OIMI
8月 28, 2021Lab阅读 864

准备工作

1)一台有公网IP的服务器(博主使用的是一台物理机 下行 10M  上行 100M)

2)内网服务器:

2 台 CentOS 7.8 系统 服务器,一台数据库,一台WEB服务。

1 台Windows 服务器,用于做跳板机访问。

开源仓库

https://github.com/fatedier/frp

 

常见编译

打包后不同的的可执行文件适用不同的平台!以下供大家参考!

  • darwin/386:对应 Mac x86
  • darwin/amd64:对应 Mac amd64
  • linux/386:对应 Linux x86
  • linux/amd64:对应 Linux amd64
  • Windows/386:对应 Windows x86
  • Windows/amd64:对应 Windows amd64

 

支持协议

TCP & UDP

常见的TCP和UDP协议转发,也是用的比较多的一种!

HTTP & HTTPS

仅需要将网站转发到外网访问,可以使用这个。这样不会浪费端口。

STCP & SUDP

TCP 和 UDP 类型的服务提供一种安全访问的访问能力。避免让端口直接暴露在公网上导致任何人都能访问到。

XTCP

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

TCPMUX

支持将单个端口收到的连接路由到不同的代理。有点和HTTP(S)相似。

 

部署步骤

 

目录说明

我们下载的源码基本上都包含3部分。

1
2
3
4
5
6
7
8
-rwxr-xr-x 1 1001 docker  9064448 Aug  3 23:22 frpc
-rw-r--r-- 1 1001 docker     9503 Aug  3 23:25 frpc_full.ini
-rw-r--r-- 1 1001 docker      126 Aug  3 23:25 frpc.ini
-rwxr-xr-x 1 1001 docker 12054528 Aug  3 23:22 frps
-rw-r--r-- 1 1001 docker     5010 Aug  3 23:25 frps_full.ini
-rw-r--r-- 1 1001 docker       26 Aug  3 23:25 frps.ini
-rw-r--r-- 1 1001 docker    11358 Aug  3 23:25 LICENSE
drwxr-xr-x 2 1001 docker       88 Aug  3 23:25 systemd

frpc 开头的为客户端运行

frps 开头的为服务端运行

systemd 为 systemctl 服务,维持 frps[c]在后台运行的

.ini 配置文件

 

配置文件

这里主要介绍简单配置,不介绍太复杂的内容。

服务端配置

主要是绑定的端口 13333,客户端必须链接到这个端口。

dashboard开头的配置是 frp提供的一个监控台,可选的。

token 就是密码了,越复杂越好。

vhost 虚拟主机,指定了80端口 和 443端口。

1
2
3
4
5
6
7
8
9
[common]
bind_port = 13333
dashboard_addr = 0.0.0.0
#dashboard_port = 13334          
#dashboard_user = admin          
#dashboard_pwd = dh147258369          
token =5#!Lxxxxx123131dddd
vhost_http_port = 80
vhost_https_port = 443

 

 

客户端配置

下面是我客户端的配置。

common 远程服务器的 IP 端口 TOKEN

TCP 用的比较多一些,比如SSH,MYSQL等

一般WEB站点 HTTP / HTTPS 就用的非常多了。

我没有将复杂的配置在这个配置文件完成,还大部分是在NGINX里面做了一下。

比如 SSL 证书,HTTP 跳转 HTTPS 等

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
[common]
server_addr = 124.xxx.xxx.xxx
server_port = 13333
token = 5#!Lxxxxx123131dddd
[mysql]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 13306
[ssh-110]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 13322
[api-web-http]
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains = api.ruyo.net
[api-web-https]
type = https
local_ip = 127.0.0.1
local_port = 443
custom_domains = api.ruyo.net
[tool-web-http]
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains = tool.ruyo.net
[tool-web-https]
type = https
local_ip = 127.0.0.1
local_port = 443
custom_domains = tool.ruyo.net

 

Server部署

1)从git上下载代码,依此执行一下代码即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_386.tar.gz -O frp.tar.gz
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

 

CLIENT部署

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_386.tar.gz -O frp.tar.gz
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/frps.service
systemctl status frpc.service
systemctl start frpc.service

 

Windows

这里主要介绍Windows客户端如何部署。

直接下载最新版本frp

https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_windows_386.zip

解压后,修改配置文件

frp专注于内网穿透的反向代理应用,部署使用实战教程-oimi分享美好数字生活

 

控制台直接输入:frpc.exe -c frpc.ini 即可启动!

 

后台运行

1
2
3
4
5
6
7
@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
frpc.exe -c frpc.ini

在frpc.exe目录新建一个文本文件,复制上面的内容保存。修改后缀名为 start-frpc.bat

双击即可运行!

 

开机启动

可以利用任务计划来运行!缺定不太稳定,如果开机不登陆账号,无法启动服务。

 

开机启动2

这里分享的是 @net.ee 大佬分享的CMD运行脚本,核心是利用nssm来维护 frp的进程后台守护运行,开机启动服务 等!

如果大家相对nssm 了解一下请移步:http://www.nssm.cc/

文件下载:大佬提供文件下载 / 分流下载地址(提取码:9197)

下载压缩包减压后,得到如图文件。

分别针对的是 32位系统,64位系统,XP系统。

frp专注于内网穿透的反向代理应用,部署使用实战教程-oimi分享美好数字生活

 

根据自己的系统选择不同目录中文件复制里面到 frp的目录中即可!

frp专注于内网穿透的反向代理应用,部署使用实战教程-oimi分享美好数字生活

双击运行即可!

frp专注于内网穿透的反向代理应用,部署使用实战教程-oimi分享美好数字生活

 

亲测,体验非常棒!再也不用担心Windows系统自动重启导致连不上的问题了!

使用总结

1)密钥一定要设置并且要复杂一些。

2)内网机器A 能否启动FRP 转发 到内网机器B?  答案:不能,内网机器B需要安装客户端!

3)能*墙吗?答案:能,但是没有加密非常容易导致端口或者IP被Q。

4)如果使用比较敏感的端口比如:80,443,8080,8888,请保证你的域名有备案且接入(国外服务器不用担心这个问题)。

赞(0)
本文系作者 @OIMI 原创发布在 oimi分享美好数字生活。未经许可,禁止转载。
哔哩下载姬(downkyi)是一个简单易用的哔哩哔哩视频下载工具
上一篇
今天凌晨,Apple 正式举行发布会,发布 iPhone 13 系列、Apple Watch Series 7、iPad mini 等多款新品.
下一篇
再想想
暂无评论
聚合文章
自动化 WINDOWS 系统重装工具:CMZPREP B
ReviOS
ntel Unison - 英特尔免费手机电脑协同工具!
开源免费Notepad--跨平台代码编辑器
palera1n
DarkRa1n
苹果iOS不越狱更改系统字体的方法
Win10,安卓子系统
ventoy-1.0.86
HEU KMS Activator v27

Android 11 Apple M1 Aria2 bilibili B站 Debian DNS Docker hub Excel Fotosizer gatherosstate HarmonyOS 3 HEU KMS Activator HEU KMS Activator v24.6.4 HTTP API iOS 11 KMS激活 Let’s Encrypt Lync MAK, Nginx OEM Office 2021企业长期版 Office LTSC Standard OneDrive OneNote Outlook PanDownload PDF24 Creator PowerPoint Publisher REST API Retail Rufus 3.19 Spectre Teams Windows 11专业版 Windows To Go Word; 安卓开屏广告 数字门票 李跳跳 油管 百度网盘不限速 视频号

自动化 WINDOWS 系统重装工具:CMZPREP B
2月 1, 2023
39 0 0
ReviOS
2月 1, 2023
33 0 0
ntel Unison - 英特尔免费手机电脑协同工具!
2月 1, 2023
52 0 0
开源免费Notepad--跨平台代码编辑器
2月 1, 2023
24 0 0
  • 0
  • 0
关于

OIMI(oimi.me)是分享美好数字生活的内容平台,同时还涉及 macOS、iOS 等知名系统的使用技巧。 科技 / 旅行 / 摄影 / 生活方式

社交媒体
ioh.me Nicky
导航
ioh.me Nicky
Copyright © 2016-2023 oimi分享美好数字生活. Designed by OIMI. 渝ICP备17007399号-1
# Nginx # # Debian # # Aria2 # # Spectre # # Apple M1 #
OIMI
193
文章
2
评论
101
喜欢