frp内网穿透

目录

1. 概述

2. 部署实施

2.1 服务端安装

2.2 服务端配置

2.3 客户端安装

2.4 客户端配置

3. 查看dashboard

4. 参考


1. 概述

因内网的服务需要发布到外网,考虑用一种穿透方案。找了花生壳、飞鸽等,但发现免费版本限制很多,收费版本的域名也有不少限制,而且带宽普遍低。后来找到NPS开源方案,很不错的方案,结果下载客户端部署时,总是报毒,应该是github上的release版本被污染了,当然可以考虑自己编译,暂没有细看。
后来看到dingtalk的穿透方案已经废弃,但推荐了 frp 内网穿透方案,自己部署服务器端,几乎没有限制,唯一的要求是有一台公网服务器。并且 有域名并已经正常解析到公网服务器。
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
开源地址: GitHub - fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
文档: frp

2. 部署实施

2.1 服务端安装

服务器环境:ubuntu20.04,64位。
1. 执行以下命令,下载frp工具压缩包。
wget https://github.com/fatedier/frp/releases/download/v0.49.0/frp_0.49.0_linux_arm64.tar.gz

2. 执行以下命令,解压frp工具包。

tar -xzvf frp_0.49.0_linux_amd64.tar.gz 

3. 执行以下命令,移动至 /usr/local

mkdir /usr/local/frp
mv frp_0.49.0_linux_amd64/* /usr/local/frp/

4. (可选)删除frpc.ini和frpc文件,frpc相关的文件属于客户端配置。

2.2 服务端配置

1. 执行以下命令进入frp文件夹。
cd /usr/local/frp

2. 执行以下命令编辑frps服务端配置文件。

vi frps.ini

3. frps服务端配置文件内写入以下信息。

[common]
# frp服务端端口,默认7000
bind_port = 7000
# 自定义设置的http访问端口,
vhost_http_port = 7080

# dashboard is available only if dashboard_port is set
dashboard_addr = 0.0.0.0
dashboard_port = 7500
# dashboard user and passwd for basic auth protect
dashboard_user = admin
dashboard_pwd = admin

 console or real logFile path like ./frps.log
log_file = ./frps.log

# trace, debug, info, warn, error
log_level = info
log_max_days = 3

[ssh]
listen_port = 6000

[web]
# 服务类型,可以设为http,https
type = http
custom_domains = xxx.xxxx.com

更多详细的配置,可以参考 frps_full.ini

4. 执行以下命令启动frps。
./frps -c ./frps.ini

在服务器端,可以采用后台启动,如下:

nohup ./frps -c ./frps.ini > frps_`date +%Y-%m-%d` 2>&1 &

frps 的日志输出在 ini 文件中打开了,会自动输出。因此屏幕没有消息输出,但可以作为启动日期记载,:)

2.3 客户端安装

根据自己的内网服务的需求,选择合适的版本下载。
选择windows平台的版本下载: frp_0.49.0_windows_amd64.zip。(2023年6月17日)
frp内网穿透_第1张图片

 (可选)删除frps.ini和frps文件,frps相关的文件属于服务端配置。

2.4 客户端配置

编辑 frpc.ini 文件,如下:
[common]
server_addr = xx.xx.xx.xxx
server_port = 7000

# console or real logFile path like ./frpc.log
log_file = ./frpc.log
# trace, debug, info, warn, error
log_level = info
log_max_days = 3

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

[web01]
type = http
local_ip = 127.0.0.1
local_port = 80
custom_domains = xxx.xxx.com

[web02]
type = http
local_ip = 127.0.0.1
local_port = 8000
custom_domains = xxx.xxxx.com

进入 cmd,启动客户端:

frpc.exe -c frpc.ini

客户端log见 frpc.log 文件。

3. 查看dashboard

在服务器端 ini 配置中打开了 dashboard的相关配置,则可以通过域名+端口7500 访问。用户名密码在配置文件中填写了。

http://xxx.xxx.com:7500/

frp内网穿透_第2张图片

 

4. 参考

1) frp内网穿透工具 - 钉钉开放平台
2) https://huaweicloud.csdn.net/635619a8d3efff3090b5a2f7.html

你可能感兴趣的:(Server,Windows,Linux,服务器,frp,内网穿透)