Docker配置Frp内网穿透教程
本文最后更新于 340 天前,其中的信息可能已经过时,如有 错误/失效 请发送邮件到qimeng9420@foxmail.com或留言。

frp06

前言

frp 支持多种代理类型,以适应不同的使用场景。以下是一些常见的代理类型:

  • TCP:提供纯粹的 TCP 端口映射,使服务端能够根据不同的端口将请求路由到不同的内网服务。
  • UDP:提供纯粹的 UDP 端口映射,与 TCP 代理类似,但用于 UDP 流量。
  • HTTP:专为 HTTP 应用设计,支持修改 Host Header 和增加鉴权等额外功能。
  • HTTPS:类似于 HTTP 代理,但专门用于处理 HTTPS 流量。
  • STCP:提供安全的 TCP 内网代理,要求在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
  • SUDP:提供安全的 UDP 内网代理,与 STCP 类似,需要在被访问者和访问者的机器上都部署 frpc,不需要在服务端暴露端口。
  • XTCP:点对点内网穿透代理,与 STCP 类似,但流量不需要经过服务器中转。
  • TCPMUX:支持服务端 TCP 端口的多路复用,允许通过同一端口访问不同的内网服务。

每种代理类型适用于不同的使用情境,您可以根据需求选择合适的代理类型来配置 frp。

今天用远程突然发现之前配置的Frpc没法用了,上官方查看才知道现在的配置文件有变化了,重新配置了下,分享下。

Frp内网穿透Github项目地址

完整中文文档


服务端Frps配置

创建docker-compose.yml文件

创建文件夹

#进入自己的工作目录
cd /etc/docker
#创建目录
mkdir -p frps && cd frps

创建docker-compose.yml

vim docker-compose.yml
#按“i”编辑

编辑以下信息

version: '3'
services:
  frps:
    image: snowdreamtech/frps
    container_name: frps
    restart: always
    network_mode: host
    volumes:
      - './frps.toml:/etc/frp/frps.toml'
#保存退出
:wq

创建frps.toml配置文件

vim frps.toml
#按“i”编辑

内容如下:

bindAddr = "0.0.0.0"          # 服务器地址
bindPort = 7000                 # 服务端与客户端通信端口

transport.tls.force = true      # 服务端将只接受 TLS链接

auth.token = "public"             # 身份验证令牌,frpc要与frps一致
#只允许frpc绑定您列出的端口。默认情况下,不会有任何限制。指定端口下方有完整配置,可自行查阅
allowPorts = [
  { start = 6000, end = 6100 }
]
# Server Dashboard,可以查看frp服务状态以及统计信息
webServer.addr = "0.0.0.0"        # 后台管理地址
webServer.port = 7500           # 后台管理端口
webServer.user = "admin"      # 后台登录用户名
webServer.password = "admin"  # 后台登录密码
#保存退出
:wq

在目录下运行镜像

docker-compose up -d

#查看镜像是否运行
docker ps

访问下 网页端是否成功 公网IP:7500,输入设置的账号密码,如果出现下面效果就代表你已经成功一半了。

frp01


客户端Frpc配置

下载frp软件

Releases · fatedier/frp (github.com)

在官方下载文件,按照自己的系统下载,我用frp一般是用来远程访问电脑办公用的,下面就演示Windows系统的配置了哈,其它系统同理。

frp02

解压后得到以下文件

frp03

配置frpc.toml

frp04

默认是如上配置,我们设置自己的参数。

transport.tls.enable = true     # 从 v0.50.0版本开始,transport.tls.enable的默认值为 true
serverAddr = "x.x.x.x"            # 公网服务器IP地址
serverPort = 7000               # 公网服务端通信端口

auth.token = "public"             # 令牌,与公网服务端保持一致

log.to = "./logs/frpc.log"        #日志存放目录,自行更改
log.level = "info"                #日志存放级别
log.maxDays = 3                 #日志最大保存天数

[[proxies]]
name = "test-rdp"
type = "tcp"
localIP = "127.0.0.1"         # 需要暴露的服务的IP
localPort = 3389                # 将本地远程3389端口的服务暴露在公网的3389端口
remotePort = 6000               # 暴露服务的公网入口,上面我限制了暴露的端口,所以只能设置在那个范围内,不然连接不成功

注意: 访问的端口一定要开放

好了,我们运行下,在当前文件夹下打开CMD,运行客户端。

frpc.exe -c frpc.toml

不要关闭窗口哈CMD窗口,然后打开Web端查看是否上线。上线成功就说明服务端搭建好了。

frp05

就可以直接用Windows自带的远程工具实现RDP远程操作了。

关闭了CMD就会关闭服务,怎样实现让可以像Windows系统服务一样:开机可启动、后台保持运行并方便管理呢。

Windows系统、注册应用为系统服务软件:我推荐两个。教程已经更新过来了。

NSSM

使用NSSM将程序安装成Windows服务


WinSW

使用WinSW将程序安装成Windows服务

如果觉得本文对您有帮助,可以支持下博主,谢谢啦!!!

留言板 | 博客主页
暂无评论

发送评论 编辑评论


|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇