微信扫一扫 分享朋友圈

已有 4 人浏览分享

开启左侧

docker 搭建frp内网穿透以及frp使用教程

[复制链接]
4 0
下载说明
去github官网下载最新版本,链接地址:https://github.com/fatedier/frp/releases/download/
windows对应:windows amd版本
linux对应:linux amd版本,
本文服务端使用linux版本采用docker构建,无需下载。客户端windows需要下载对应文件。
配置 Windows远程访问
服务器端配置
需要一台公网的服务器,本文服务器端是centos7
创建frp文件
mkdir -p /home/soft/frp && cd /home/soft/frp

添加服务端配置文件
创建配置文件
vim frps.ini

添加如下配置
[common]
bind_port = 7000

添加docker启动脚本
创建配置文件
vim docker-start.sh

添加如下配置
#!/bin/bash
docker run -d \
    --restart always \
    --network host \
    --name frps \
    -v /home/soft/frp/frps.ini:/etc/frp/frps.ini \
    snowdreamtech/frps

启动服务端
sh docker-start.sh

客户端配置
将下载好的文件解压,修改frpc.ini文件
[common]
server_addr = 服务器公网ip
server_port = 7000

# 远程控制
[mstsc]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 13389

启动客户端
frpc.exe -c frpc.ini

远程控制访问:公网ip:13389
image.png
配置管理页
在服务器 frps.ini 配置如下:
[common]
bind_port = 7000
dashboard_addr = 0.0.0.0
dashboard_port = 7777
dashboard_user = terry
dashboard_pwd = terry123

打开浏览器 公网ip:7777 即可访问

image.png
配置密钥
frps.ini配置如下
[common]
bind_port = 7000
auto_token = terry

客户端frpc.ini 配置如下,auto_token必须和服务端的一致否则会连接不上
[common]
server_addr = 服务器公网ip
server_port = 7000
auto_token = terry

# 远程控制
[mstsc]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 13389

tcp其它常用应用场景

tcp不但可以支持使用远程访问,还支持http、ssh等。
服务端注意事项

需要开放客户端访问的端口,如客户端如下配置

type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 8086

local_port 是客户端占用的ip

remote_port 则是访问服务端的ip
http服务

客户端frpc.ini配置

[common]
server_addr = 公网ip
server_port = 7000

[http]
type = tcp
local_ip = 127.0.0.1
local_port = 8080
remote_port = 8086

访问:公网ip:8086
ssh远程

客户端frpc.ini配置

[common]
server_addr = 公网ip
server_port = 7000

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

访问:公网ip:122
mysql穿透

客户端frpc.ini配置

[common]
server_addr = 公网ip
server_port = 7000

[mysql]
type = tcp
local_ip = 127.0.0.1
local_port = 3306
remote_port = 13306

访问:公网ip:13306
反向代理

frp支持类似nginx反向代理,客户端frpc.ini配置,

[common]
server_addr = 公网ip
server_port = 7000

[mysql]
type = tcp
local_ip = 192.168.0.3
local_port = 3306
remote_port = 13306

访问:公网ip:13306,其代理到内网中192.168.0.3服务器上
http应用场景

frp http只能用一个http端口,一般应用于域名映射,http穿透可以用tcp即可。
域名映射

服务端frps.ini配置

[common]
bind_port = 7000
vhost_http_port = 81 # 访问服务器的81端口,映射到内网web服务

服务端frpc.ini配置

[common]
server_addr = 公网IP
server_port = 7000

[web01]
type = http
local_port = 8080
custom_domains = web01.terrybg.com

[web02]
type = http
local_port = 8081
custom_domains = web02.terrybg.com

stcp的应用
tcp模式每开多一个服务就会占用服务器端口,并且会将服务暴露在外面,会不安全。frp提供了stcp的模式,两内网连接可以通过密钥方式连接,并且不会暴露在公网上,但连接者也需要开启frp客户端。

服务端frps.ini配置

[common]
bind_port = 7000

客户端1 被访问者frpc.ini配置

[common]
server_addr = 公网ip
server_port = 7000

[mysql]
type = stcp
# 密钥
sk = abcdefg
local_ip = 127.0.0.1
local_port = 3306

客户端2 访问者frpc.ini配置

[common]
server_addr = 公网ip
server_port = 7000

[mysql_visitor]
type = stcp
# 密钥
sk = abcdefg
# 访问者名称
role = visitor
# 被访问的 stcp 的名字
server_name = rdp
bind_addr = 127.0.0.1
bind_port = 3306

xtcp的应用

服务端frps.ini配置

[common]
bind_port = 7000
bind_udp_port = 7001

客户端1 被访问者frpc.ini配置

[common]
server_addr = 公网ip
server_port = 7000

[mysql]
type = xtcp
# 密钥
sk = abcdefg
local_ip = 127.0.0.1
local_port = 3306

客户端2 访问者frpc.ini配置
[common]
server_addr = 公网ip
server_port = 7000

[mysql_visitor]
type = xtcp
# 密钥
sk = abcdefg
# 访问者名称
role = visitor
# 被访问的 stcp 的名字
server_name = rdp
bind_addr = 127.0.0.1
bind_port = 3306


免责声明:
1,海欣资源网所发布的资源由网友上传和分享,不保证信息的正确性和完整性,且不对因信息的不正确或遗漏导致的任何损失或损害承担责任。
2,海欣资源网的资源来源于网友分享,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。
3,海欣资源网所发布的资源由网友上传和分享,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。
4,如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉,联系方式邮箱 haixinst@qq.com
海欣资源-企业信息化分享平台。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0

关注

0

粉丝

43

主题
热度排行
回复排行
最新贴子

Archiver|手机版|海欣资源 ( 湘ICP备2021008090号-1 )|网站地图

GMT+8, 2024-11-23 22:27 , Gzip On, MemCached On.

免责声明:本站所发布的资源和文章均来自网络,仅限用于学习交流和测试研究目的,不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。 本站信息来自网络,版权争议与本站无关,您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。 如果您喜欢,请支持正版,购买正版,得到更好的正版服务,如有侵权,请联系我们删除并予以真诚的道歉。