基于Docker的FRP内网穿透部署

服务器搭建(FRPS)

创建配置文件

复制代码
# 创建存放目录
sudo mkdir /etc/frp
# 创建frps.ini文件
nano /etc/frp/frps.ini

frps.ini内容如下:

复制代码
[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板账号设置
dashboard_user = admin
dashboard_pwd = admin
# 设置http及https协议下代理端口(非重要)
vhost_http_port = 7080
vhost_https_port = 7081
​
​
# 身份验证
token = 12345678

[root@server ~]# docker pull registry.cn-shenzhen.aliyuncs.com/mogublog_business/frps
​
[root@server ~]# docker run --restart=always --network host -d -v /root/frps.ini:/etc/frp/frps.ini --name frps registry.cn-shenzhen.aliyuncs.com/mogublog_business/frps
5d1c7d3ec1697c08bd77fa267e9ae007ffa8c379b81bb6953d6e01ff85c5cbb7
​
[root@server ~]# docker ps -a
CONTAINER ID   IMAGE                                                      COMMAND                  CREATED         STATUS                 PORTS                                       NAMES
5d1c7d3ec169   registry.cn-shenzhen.aliyuncs.com/mogublog_business/frps   "/bin/sh -c '/usr/bi..."   4 seconds ago   Up 3 seconds                                                       frps
[root@server ~]# sudo ufw enable
[root@server ~]# sudo ufw allow 7000
[root@server ~]# sudo ufw allow 7500
[root@server ~]# sudo ufw allow 7080
[root@server ~]# sudo ufw allow 7081

http://ip:7500

中转客户端配置(FRPC)

复制代码
[root@client ~]# docker pull registry.cn-shenzhen.aliyuncs.com/mogublog_business/frpc:latest
​
[root@client ~]# docker run --restart=always --network host -d -v /opt/frp/frpc.ini:/etc/frp/frpc.ini --name frpc registry.cn-shenzhen.aliyuncs.com/mogublog_business/frpc:latest 
5d73d9ee2583b73b84a2863f61ddf29d722b7ac8a79f1e366bec7998bc8e278b
​
[root@client ~]# docker ps -a
CONTAINER ID   IMAGE                                                             COMMAND                   CREATED         STATUS         PORTS     NAMES
5d73d9ee2583   registry.cn-shenzhen.aliyuncs.com/mogublog_business/frpc:latest   "/bin/sh -c '/usr/bi..."   4 seconds ago   Up 4 seconds             frpc
[root@client ~]# 

配置文件示例:

复制代码
[common]
# server_addr为FRPS服务器IP地址
server_addr = x.x.x.x
# server_port为服务端监听端口,bind_port
server_port = 7000
# 身份验证
token = 12345678
​
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 2288
​
# [ssh] 为服务名称,下方此处设置为,访问frp服务段的2288端口时,等同于通过中转服务器访问127.0.0.1的22端口。
# type 为连接的类型,此处为tcp
# local_ip 为中转客户端实际访问的IP 
# local_port 为目标端口
# remote_port 为远程端口
​
[ssh]
type = tcp
local_ip = 192.168.1.229
local_port = 80
remote_port = 18022
​
[unRAID web]
type = tcp
local_ip = 192.168.1.229
local_port = 80
remote_port = 18088
​
[Truenas web]
type = tcp
local_ip = 192.168.1.235
local_port = 80
remote_port = 18188
​
[speedtest]
type = tcp
local_ip = 192.168.1.229
local_port = 6580
remote_port = 18190
​
​
[webdav]
type = tcp
local_ip = 192.168.1.235
local_port = 18080
remote_port = 18189
​
[RDP PC1]
type = tcp
local_ip = 192.168.1.235
local_port = 3389
remote_port = 18389
  • 如果监听服务可以有IP限制的设置,需要允许的访问IP为中转内网设备的内网IP;

  • FRP由于端口会暴露在互联网上,虽然说使用方便但安全性较差;

相关推荐
LF3_30 分钟前
配置ssh免密登录
运维·ssh
再睡一夏就好41 分钟前
深入Linux线程:从轻量级进程到双TCB架构
linux·运维·服务器·c++·学习·架构·线程
小小药1 小时前
09-vmware配置虚机连接互联网-nat模式
linux·运维·centos
广东大榕树信息科技有限公司1 小时前
如何通过国产信创动环监控系统优化工厂环境管理?
运维·网络·物联网·国产动环监控系统·动环监控系统
莫白媛1 小时前
Linux创作笔记综合汇总篇
linux·运维·笔记
studytosky2 小时前
Linux系统编程:深度解析 Linux 进程,从底层架构到内存模型
linux·运维·服务器·开发语言·架构·vim
java_logo2 小时前
Crawl4AI Docker 容器化部署指南
运维·docker·容器·crawl4ai·crawl4ai部署文档·crawl4ai部署教程·crawl4ai部署
可爱又迷人的反派角色“yang”2 小时前
redis知识点总集
linux·运维·数据库·redis·缓存
海奥华22 小时前
进程调度算法 笔记总结
linux·运维·服务器·笔记·学习
864记忆2 小时前
Linux操作系统自带的测试内存泄漏的命令
java·linux·运维