当前位置:   article > 正文

内网穿透之FRPS and FRPC_frpc frps

frpc frps

在经过了各种小骚蹄子(传统方案)的洗礼后,弱水三千,我终究只取了frp这一瓢饮

简介

什么是Frp

frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。

为什么使用 FRP ?

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:

  • 客户端服务端通信支持 TCP、QUIC、KCP 以及 Websocket 等多种协议。
  • 采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间,降低请求延迟。
  • 代理组间的负载均衡。
  • 端口复用,多个服务通过同一个服务端端口暴露。
  • 支持 P2P 通信,流量不经过服务器中转,充分利用带宽资源。
  • 多个原生支持的客户端插件(静态文件查看,HTTPS/HTTP 协议转换,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
  • 高度扩展性的服务端插件系统,易于结合自身需求进行功能扩展。
  • 服务端和客户端 UI 页面。

以上内容来自官方

怎么使用Frp实现内网穿透

搭建服务端

首先,你需要拥有一台具有公网IP的服务器或者VPS,然后使用任意ssh终端连接上你的主机。
  • 1
wget https://raw.githubusercontent.com/MvsCode/frp-onekey/master/install-frps.sh -O ./install-frps.sh
chmod 700 ./install-frps.sh
./install-frps.sh install
  • 1
  • 2
  • 3
然后,输入代码(感谢大佬提供的脚本),出现以下界面。
  • 1

QQ截图20240101185411

国内服务器选择1,国外服务器选择2或者直接enter。

然后其实一直按enter就行了
  • 1
  • 2
  • 3
+------------------------------------------------------------+

Check your server setting, please wait...

+------------------------------------------------------------+
|   frps for Linux Server, Author Clang ,Mender MvsCode     |
|      A tool to auto-compile & install frps on Linux        |
+------------------------------------------------------------+


Please select frps download url:
[1].gitee
[2].github (default)
Enter your choice (1, 2 or exit. default [github]): 
-----------------------------------
       Your select: github  
-----------------------------------
Loading network version for frps, please wait...
FRPS_VER set to: 0.53.2
frps Latest release file frp_0.53.2_linux_arm64.tar.gz
Loading You Server IP, please wait...
You Server IP:104.28.211.190
————————————————————————————————————————————
     Please input your server setting:
————————————————————————————————————————————

Please input frps bind_port [1-65535](Default Server Port: 5443):
frps bind_port: 5443


Please input frps vhost_http_port [1-65535](Default : 80):80
frps vhost_http_port: 80


Please input frps vhost_https_port [1-65535](Default : 443):445
frps vhost_https_port: 445


Please input frps dashboard_port [1-65535](Default : 6443):
frps dashboard_port: 6443


Please input frps dashboard_user(Default : admin):
frps dashboard_user: admin


Please input frps dashboard_pwd(Default : JPaOPrCi):
frps dashboard_pwd: JPaOPrCi


Please input frps token(Default : S7al5RUf0oADvKvT):
frps token: S7al5RUf0oADvKvT


Please input frps subdomain_host(Default : 104.28.211.190):
frps subdomain_host: 104.28.211.190


Please input frps max_pool_count [1-200]
(Default : 50):
frps max_pool_count: 50

Please select log_level
1: info (default)
2: warn
3: error
4: debug
-------------------------
Enter your choice (1, 2, 3, 4 or exit. default [1]): 
log_level: info


Please input frps log_max_days [1-30]
(Default : 3 day):
frps log_max_days: 3

Please select log_file
1: enable (default)
2: disable
-------------------------
Enter your choice (1, 2 or exit. default [1]): 
log_file: enable

Please select tcp_mux
1: enable (default)
2: disable
-------------------------
Enter your choice (1, 2 or exit. default [1]): 
tcp_mux: true

Please select kcp support
1: enable (default)
2: disable
-------------------------
Enter your choice (1, 2 or exit. default [1]): 
kcp support: true

============<span style="font-weight: bold;" class="mark"> Check your input </span>==========<span style="font-weight: bold;" class="mark">
You Server IP      : 104.28.211.191
Bind port          : 5443
kcp support        : true
vhost http port    : 88
vhost https port   : 445
Dashboard port     : 6443
Dashboard user     : admin
Dashboard password : JPaOPrCi
token              : S7al5RUf0oADvKvT
subdomain_host     : 104.28.211.190
tcp_mux            : true
Max Pool count     : 50
Log level          : info
Log max days       : 3
Log file           : enable
</span>============================================

Press any key to start...or Press Ctrl+c to cancel
  • 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
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116

以上为所有可能出现的所有界面,这里强调几个参数

Bind port是监听端口,对应客户端的服务端口
vhost http port 默认80不要修改
vhost https port 默认443不要修改
Dashboard port是web控制台的端口,如你的服务器IP为0.0.0.0,那么你可以通过0.0.0.0:端口号访问web管理界面
Dashboard user是web控制台的账号
Dashboard password是web控制台的密码
token是客户端连接服务端的密码
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

搭建客户端

由于客户端的系统千奇百怪,能搭建客户端的方式也不尽相同,就像如果你拥有群晖,那么使用矿神套件无疑是最简洁的方式,但在此处我们只讲述普适方法。

还是ssh连接到系统,然后......

抄代码,启动!
  • 1
  • 2
  • 3
  • 4
  • 5
安装客户端
wget https://github.ioiox.com/stilleshan/frpc/raw/branch/master/frpc_linux_install.sh && chmod +x frpc_linux_install.sh && ./frpc_linux_install.sh
编辑配置
vim /usr/local/frp/frpc.ini
  • 1
  • 2
  • 3
  • 4
下面给出一个frpc的示例文件,包括了http,https,tcp隧道的配置
  • 1
# frpc.ini 示例配置文件(带有HTTP、HTTPS和TCP隧道的配置)

[common]
# 通用配置

# frps 服务器地址
server_addr = your_frps_server_ip        #输入你的服务器IP
# frps 服务器端口
server_port = 7000						 #前文中的bind_port
# 通信密钥,与 frps 中设置的一致
token = your_token						 #前文中的token

# HTTP 配置
[web]
type = http
local_port = 80
custom_domains = your_custom_domain.com
http_user = your_http_user				 #可以没有
http_pwd = your_http_password			 #可以没有

# HTTPS 配置
[secure_web]
type = https
local_port = 443
custom_domains = your_secure_domain.com
http_user = your_https_user				 #可以没有
http_pwd = your_https_password			 #可以没有
# 证书文件路径
# ssl_cert = ./path/to/your/certificate.crt
# 证书密钥文件路径
# ssl_key = ./path/to/your/private_key.key

# TCP 隧道配置
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

# 更多的 TCP 隧道配置
# [custom_tcp]
# type = tcp
# local_ip = 127.0.0.1
# local_port = 8080
# remote_port = 6001

  • 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
  • 43
  • 44
  • 45
  • 46
稍微哔哔两嘴,曾几何时,frpc.ini的配置一度是使用frp进行穿透的最大劝退因素,虽然整体配置不难,但对于新手小白来说可能还是有点卧槽的,但现在嘛......

来来来,chatgpt给我写个frpc.ini呗,我要巴拉巴拉巴拉.......

真香~

最后嘛,在客户端执行
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
systemctl restart frpc
  • 1
穿透完成!
  • 1

不是那么好用但是也有点用的webui

在讲搭建服务端的时候,我们曾提到过设置web管理界面的端口账号密码。

那么......这是个什么玩意儿呢?
  • 1
  • 2
  • 3

​​

QQ截图20240101192627

如图所示,这玩意展示了服务端的一些信息,而且,在proxies选项卡下还能查看每个隧道使用的具体流量,单从面板的角度来说倒是不错了。

但是嘛,相比nps家的管理面板,我也只能说这玩意能用了,毕竟存在几个明显的缺点
  • 1
  • 2
  • 3

1.面板全英文,完全不支持中文

2.只能查看信息,无法在管理面板进行修改(这方面大力点赞nps)

本文原始发布地址:​blog.050905.xyz/index.php/archives/12/

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/357848
推荐阅读
相关标签
  

闽ICP备14008679号