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

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

OIMI
8月 28, 2021Lab阅读 609

准备工作

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 等多款新品.
下一篇
再想想
暂无评论
聚合文章
Office 2021推荐版本下载+永久激活,一条龙服务
Microsoft Office 365注册E5账号
白嫖Microsoft Office 365
PotPlayer X – 免费的全新 macOS 视频播放器
NaNaGet - 轻量级Aria2下载器 简洁无广告
基于人工智能的无损图片放大工具 Upscale.Media
建站好帮手 LNMP 一键安装包 v1.9 正式版发布
OsRamDisk发布新版,支持iOS15.5绕过激活
辅助增强工具Office Tool Plus v9.0 Beta版发布
HEU KMS Activator v24.6.3更新~Office又一波“非正版弹窗”来袭

(DEEPIN) V20 Beta Android 11 Android 11 DP2 Ansible Tower 3.5.2 AOSP,Android API 接口 Apple Configurator Apple M1 Aria2 BT CDN加速 CloudMoe Debian DNS Docker CE容器引擎 downkyi Fedora 30 FTP HTTP iOS 11 iPhone 11 Let’s Encrypt Markdown Nginx Node.js OEM OMV 6系统 OpenHarmony 2.0 Canary OpenMediaVault 6 PanDownload Pixel Project Mainline RustDesk SFTP Spectre TinyPNG4Mac unc0ver 4.0 Upgit Upscale.Media Win10 数字权利( Windows 11 支持迅雷链接 百度网盘高速下载工具 磁力下载 远程桌面RustDesk

Office 2021推荐版本下载+永久激活,一条龙服务
6月 22, 2022
15 0 0
Microsoft Office 365注册E5账号
6月 21, 2022
17 0 0
白嫖Microsoft Office 365
6月 21, 2022
18 0 0
PotPlayer X – 免费的全新 macOS 视频播放器
6月 13, 2022
64 0 0
  • 0
  • 0
关于

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

社交媒体
ioh.me Nicky
导航
ioh.me Nicky
Copyright © 2016-2022 OIMI. Designed by OIMI. 渝ICP备17007399号-1
# Nginx # # Aria2 # # Let’s Encrypt # # Apple M1 # # PanDownload #
OIMI
154
文章
2
评论
64
喜欢